From 1b820de08a05070909a267e17f033fcf58ac8710 Mon Sep 17 00:00:00 2001 From: NotAPenguin Date: Mon, 2 Sep 2024 23:17:17 +0200 Subject: The Great Renaming (#3014) * move kekztech to a single root dir * move detrav to a single root dir * move gtnh-lanthanides to a single root dir * move tectech and delete some gross reflection in gt++ * remove more reflection inside gt5u * delete more reflection in gt++ * fix imports * move bartworks and bwcrossmod * fix proxies * move galactigreg and ggfab * move gtneioreplugin * try to fix gt++ bee loader * apply the rename rules to BW * apply rename rules to bwcrossmod * apply rename rules to detrav scanner mod * apply rename rules to galacticgreg * apply rename rules to ggfab * apply rename rules to goodgenerator * apply rename rules to gtnh-lanthanides * apply rename rules to gt++ * apply rename rules to kekztech * apply rename rules to kubatech * apply rename rules to tectech * apply rename rules to gt apply the rename rules to gt * fix tt import * fix mui hopefully * fix coremod except intergalactic * rename assline recipe class * fix a class name i stumbled on * rename StructureUtility to GTStructureUtility to prevent conflict with structurelib * temporary rename of GTTooltipDataCache to old name * fix gt client/server proxy names --- src/main/java/gregtech/common/items/CombType.java | 4 +- src/main/java/gregtech/common/items/DropType.java | 4 +- .../common/items/GT_AdvancedSensorCard_Item.java | 330 -- .../common/items/GT_DepletetCell_Item.java | 49 - .../gregtech/common/items/GT_FluidDisplayItem.java | 181 - .../common/items/GT_IntegratedCircuit_Item.java | 328 -- .../common/items/GT_MetaGenerated_Item_01.java | 4635 -------------------- .../common/items/GT_MetaGenerated_Item_02.java | 3115 ------------- .../common/items/GT_MetaGenerated_Item_03.java | 1492 ------- .../common/items/GT_MetaGenerated_Item_98.java | 352 -- .../common/items/GT_MetaGenerated_Item_99.java | 214 - .../common/items/GT_MetaGenerated_Tool_01.java | 746 ---- .../common/items/GT_NeutronReflector_Item.java | 54 - .../gregtech/common/items/GT_SensorCard_Item.java | 111 - .../java/gregtech/common/items/GT_TierDrone.java | 18 - .../gregtech/common/items/GT_VolumetricFlask.java | 360 -- .../common/items/GT_WirelessHeadphones.java | 118 - .../java/gregtech/common/items/IDMetaItem01.java | 433 ++ .../java/gregtech/common/items/IDMetaItem02.java | 208 + .../java/gregtech/common/items/IDMetaItem03.java | 242 + .../java/gregtech/common/items/IDMetaTool01.java | 73 + .../java/gregtech/common/items/ID_MetaItem_01.java | 433 -- .../java/gregtech/common/items/ID_MetaItem_02.java | 208 - .../java/gregtech/common/items/ID_MetaItem_03.java | 242 - .../java/gregtech/common/items/ID_MetaTool_01.java | 73 - .../common/items/ItemAdvancedSensorCard.java | 330 ++ src/main/java/gregtech/common/items/ItemComb.java | 324 +- .../gregtech/common/items/ItemDepletedCell.java | 49 + src/main/java/gregtech/common/items/ItemDrop.java | 46 +- .../gregtech/common/items/ItemFluidDisplay.java | 181 + .../common/items/ItemIntegratedCircuit.java | 327 ++ .../common/items/ItemNeutronReflector.java | 54 + .../java/gregtech/common/items/ItemPropolis.java | 34 +- .../java/gregtech/common/items/ItemSensorCard.java | 111 + .../java/gregtech/common/items/ItemTierDrone.java | 18 + .../gregtech/common/items/ItemVolumetricFlask.java | 360 ++ .../common/items/ItemWirelessHeadphones.java | 118 + .../gregtech/common/items/MetaGeneratedItem01.java | 4624 +++++++++++++++++++ .../gregtech/common/items/MetaGeneratedItem02.java | 3107 +++++++++++++ .../gregtech/common/items/MetaGeneratedItem03.java | 1492 +++++++ .../gregtech/common/items/MetaGeneratedItem98.java | 352 ++ .../gregtech/common/items/MetaGeneratedItem99.java | 214 + .../gregtech/common/items/MetaGeneratedTool01.java | 738 ++++ .../java/gregtech/common/items/PollenType.java | 4 +- .../java/gregtech/common/items/PropolisType.java | 4 +- .../common/items/behaviors/BehaviourCoverTool.java | 193 + .../common/items/behaviors/BehaviourCrowbar.java | 61 + .../common/items/behaviors/BehaviourDataOrb.java | 105 + .../common/items/behaviors/BehaviourDataStick.java | 52 + .../common/items/behaviors/BehaviourHoe.java | 72 + .../common/items/behaviors/BehaviourLighter.java | 139 + .../common/items/behaviors/BehaviourNone.java | 90 + .../items/behaviors/BehaviourPlungerEssentia.java | 54 + .../items/behaviors/BehaviourPlungerFluid.java | 75 + .../items/behaviors/BehaviourPlungerItem.java | 88 + .../items/behaviors/BehaviourPrintedPages.java | 39 + .../items/behaviors/BehaviourProspecting.java | 158 + .../common/items/behaviors/BehaviourScanner.java | 65 + .../common/items/behaviors/BehaviourScoop.java | 62 + .../items/behaviors/BehaviourScrewdriver.java | 52 + .../common/items/behaviors/BehaviourSense.java | 56 + .../common/items/behaviors/BehaviourSensorKit.java | 56 + .../items/behaviors/BehaviourSoftHammer.java | 123 + .../common/items/behaviors/BehaviourSonictron.java | 135 + .../items/behaviors/BehaviourSprayColor.java | 218 + .../behaviors/BehaviourSprayColorRemover.java | 48 + .../items/behaviors/BehaviourSwitchMetadata.java | 67 + .../items/behaviors/BehaviourSwitchMode.java | 53 + .../common/items/behaviors/BehaviourWrench.java | 278 ++ .../items/behaviors/BehaviourWrittenBook.java | 40 + .../items/behaviors/Behaviour_Cover_Tool.java | 193 - .../common/items/behaviors/Behaviour_Crowbar.java | 61 - .../common/items/behaviors/Behaviour_DataOrb.java | 105 - .../items/behaviors/Behaviour_DataStick.java | 52 - .../common/items/behaviors/Behaviour_Hoe.java | 72 - .../common/items/behaviors/Behaviour_Lighter.java | 140 - .../common/items/behaviors/Behaviour_None.java | 90 - .../behaviors/Behaviour_Plunger_Essentia.java | 54 - .../items/behaviors/Behaviour_Plunger_Fluid.java | 75 - .../items/behaviors/Behaviour_Plunger_Item.java | 88 - .../items/behaviors/Behaviour_PrintedPages.java | 39 - .../items/behaviors/Behaviour_Prospecting.java | 159 - .../common/items/behaviors/Behaviour_Scanner.java | 65 - .../common/items/behaviors/Behaviour_Scoop.java | 63 - .../items/behaviors/Behaviour_Screwdriver.java | 52 - .../common/items/behaviors/Behaviour_Sense.java | 56 - .../items/behaviors/Behaviour_SensorKit.java | 56 - .../items/behaviors/Behaviour_SoftHammer.java | 131 - .../items/behaviors/Behaviour_Sonictron.java | 135 - .../items/behaviors/Behaviour_Spray_Color.java | 218 - .../behaviors/Behaviour_Spray_Color_Remover.java | 48 - .../items/behaviors/Behaviour_Switch_Metadata.java | 67 - .../items/behaviors/Behaviour_Switch_Mode.java | 53 - .../common/items/behaviors/Behaviour_Wrench.java | 278 -- .../items/behaviors/Behaviour_WrittenBook.java | 40 - 95 files changed, 15620 insertions(+), 15659 deletions(-) delete mode 100644 src/main/java/gregtech/common/items/GT_AdvancedSensorCard_Item.java delete mode 100644 src/main/java/gregtech/common/items/GT_DepletetCell_Item.java delete mode 100644 src/main/java/gregtech/common/items/GT_FluidDisplayItem.java delete mode 100644 src/main/java/gregtech/common/items/GT_IntegratedCircuit_Item.java delete mode 100644 src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java delete mode 100644 src/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java delete mode 100644 src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java delete mode 100644 src/main/java/gregtech/common/items/GT_MetaGenerated_Item_98.java delete mode 100644 src/main/java/gregtech/common/items/GT_MetaGenerated_Item_99.java delete mode 100644 src/main/java/gregtech/common/items/GT_MetaGenerated_Tool_01.java delete mode 100644 src/main/java/gregtech/common/items/GT_NeutronReflector_Item.java delete mode 100644 src/main/java/gregtech/common/items/GT_SensorCard_Item.java delete mode 100644 src/main/java/gregtech/common/items/GT_TierDrone.java delete mode 100644 src/main/java/gregtech/common/items/GT_VolumetricFlask.java delete mode 100644 src/main/java/gregtech/common/items/GT_WirelessHeadphones.java create mode 100644 src/main/java/gregtech/common/items/IDMetaItem01.java create mode 100644 src/main/java/gregtech/common/items/IDMetaItem02.java create mode 100644 src/main/java/gregtech/common/items/IDMetaItem03.java create mode 100644 src/main/java/gregtech/common/items/IDMetaTool01.java delete mode 100644 src/main/java/gregtech/common/items/ID_MetaItem_01.java delete mode 100644 src/main/java/gregtech/common/items/ID_MetaItem_02.java delete mode 100644 src/main/java/gregtech/common/items/ID_MetaItem_03.java delete mode 100644 src/main/java/gregtech/common/items/ID_MetaTool_01.java create mode 100644 src/main/java/gregtech/common/items/ItemAdvancedSensorCard.java create mode 100644 src/main/java/gregtech/common/items/ItemDepletedCell.java create mode 100644 src/main/java/gregtech/common/items/ItemFluidDisplay.java create mode 100644 src/main/java/gregtech/common/items/ItemIntegratedCircuit.java create mode 100644 src/main/java/gregtech/common/items/ItemNeutronReflector.java create mode 100644 src/main/java/gregtech/common/items/ItemSensorCard.java create mode 100644 src/main/java/gregtech/common/items/ItemTierDrone.java create mode 100644 src/main/java/gregtech/common/items/ItemVolumetricFlask.java create mode 100644 src/main/java/gregtech/common/items/ItemWirelessHeadphones.java create mode 100644 src/main/java/gregtech/common/items/MetaGeneratedItem01.java create mode 100644 src/main/java/gregtech/common/items/MetaGeneratedItem02.java create mode 100644 src/main/java/gregtech/common/items/MetaGeneratedItem03.java create mode 100644 src/main/java/gregtech/common/items/MetaGeneratedItem98.java create mode 100644 src/main/java/gregtech/common/items/MetaGeneratedItem99.java create mode 100644 src/main/java/gregtech/common/items/MetaGeneratedTool01.java create mode 100644 src/main/java/gregtech/common/items/behaviors/BehaviourCoverTool.java create mode 100644 src/main/java/gregtech/common/items/behaviors/BehaviourCrowbar.java create mode 100644 src/main/java/gregtech/common/items/behaviors/BehaviourDataOrb.java create mode 100644 src/main/java/gregtech/common/items/behaviors/BehaviourDataStick.java create mode 100644 src/main/java/gregtech/common/items/behaviors/BehaviourHoe.java create mode 100644 src/main/java/gregtech/common/items/behaviors/BehaviourLighter.java create mode 100644 src/main/java/gregtech/common/items/behaviors/BehaviourNone.java create mode 100644 src/main/java/gregtech/common/items/behaviors/BehaviourPlungerEssentia.java create mode 100644 src/main/java/gregtech/common/items/behaviors/BehaviourPlungerFluid.java create mode 100644 src/main/java/gregtech/common/items/behaviors/BehaviourPlungerItem.java create mode 100644 src/main/java/gregtech/common/items/behaviors/BehaviourPrintedPages.java create mode 100644 src/main/java/gregtech/common/items/behaviors/BehaviourProspecting.java create mode 100644 src/main/java/gregtech/common/items/behaviors/BehaviourScanner.java create mode 100644 src/main/java/gregtech/common/items/behaviors/BehaviourScoop.java create mode 100644 src/main/java/gregtech/common/items/behaviors/BehaviourScrewdriver.java create mode 100644 src/main/java/gregtech/common/items/behaviors/BehaviourSense.java create mode 100644 src/main/java/gregtech/common/items/behaviors/BehaviourSensorKit.java create mode 100644 src/main/java/gregtech/common/items/behaviors/BehaviourSoftHammer.java create mode 100644 src/main/java/gregtech/common/items/behaviors/BehaviourSonictron.java create mode 100644 src/main/java/gregtech/common/items/behaviors/BehaviourSprayColor.java create mode 100644 src/main/java/gregtech/common/items/behaviors/BehaviourSprayColorRemover.java create mode 100644 src/main/java/gregtech/common/items/behaviors/BehaviourSwitchMetadata.java create mode 100644 src/main/java/gregtech/common/items/behaviors/BehaviourSwitchMode.java create mode 100644 src/main/java/gregtech/common/items/behaviors/BehaviourWrench.java create mode 100644 src/main/java/gregtech/common/items/behaviors/BehaviourWrittenBook.java delete mode 100644 src/main/java/gregtech/common/items/behaviors/Behaviour_Cover_Tool.java delete mode 100644 src/main/java/gregtech/common/items/behaviors/Behaviour_Crowbar.java delete mode 100644 src/main/java/gregtech/common/items/behaviors/Behaviour_DataOrb.java delete mode 100644 src/main/java/gregtech/common/items/behaviors/Behaviour_DataStick.java delete mode 100644 src/main/java/gregtech/common/items/behaviors/Behaviour_Hoe.java delete mode 100644 src/main/java/gregtech/common/items/behaviors/Behaviour_Lighter.java delete mode 100644 src/main/java/gregtech/common/items/behaviors/Behaviour_None.java delete mode 100644 src/main/java/gregtech/common/items/behaviors/Behaviour_Plunger_Essentia.java delete mode 100644 src/main/java/gregtech/common/items/behaviors/Behaviour_Plunger_Fluid.java delete mode 100644 src/main/java/gregtech/common/items/behaviors/Behaviour_Plunger_Item.java delete mode 100644 src/main/java/gregtech/common/items/behaviors/Behaviour_PrintedPages.java delete mode 100644 src/main/java/gregtech/common/items/behaviors/Behaviour_Prospecting.java delete mode 100644 src/main/java/gregtech/common/items/behaviors/Behaviour_Scanner.java delete mode 100644 src/main/java/gregtech/common/items/behaviors/Behaviour_Scoop.java delete mode 100644 src/main/java/gregtech/common/items/behaviors/Behaviour_Screwdriver.java delete mode 100644 src/main/java/gregtech/common/items/behaviors/Behaviour_Sense.java delete mode 100644 src/main/java/gregtech/common/items/behaviors/Behaviour_SensorKit.java delete mode 100644 src/main/java/gregtech/common/items/behaviors/Behaviour_SoftHammer.java delete mode 100644 src/main/java/gregtech/common/items/behaviors/Behaviour_Sonictron.java delete mode 100644 src/main/java/gregtech/common/items/behaviors/Behaviour_Spray_Color.java delete mode 100644 src/main/java/gregtech/common/items/behaviors/Behaviour_Spray_Color_Remover.java delete mode 100644 src/main/java/gregtech/common/items/behaviors/Behaviour_Switch_Metadata.java delete mode 100644 src/main/java/gregtech/common/items/behaviors/Behaviour_Switch_Mode.java delete mode 100644 src/main/java/gregtech/common/items/behaviors/Behaviour_Wrench.java delete mode 100644 src/main/java/gregtech/common/items/behaviors/Behaviour_WrittenBook.java (limited to 'src/main/java/gregtech/common/items') diff --git a/src/main/java/gregtech/common/items/CombType.java b/src/main/java/gregtech/common/items/CombType.java index 84ca2fa493..0a659f0684 100644 --- a/src/main/java/gregtech/common/items/CombType.java +++ b/src/main/java/gregtech/common/items/CombType.java @@ -5,7 +5,7 @@ import java.util.Arrays; import org.apache.commons.lang3.text.WordUtils; import gregtech.api.enums.Materials; -import gregtech.api.util.GT_LanguageManager; +import gregtech.api.util.GTLanguageManager; public enum CombType { @@ -243,7 +243,7 @@ public enum CombType { this.chance = chance; this.showInList = show; this.color = new int[] { color1, color2 }; - this.localizedName = GT_LanguageManager + this.localizedName = GTLanguageManager .addStringLocalization("comb." + pName, WordUtils.capitalize(pName.replaceAll("_", " ")) + " Comb"); } diff --git a/src/main/java/gregtech/common/items/DropType.java b/src/main/java/gregtech/common/items/DropType.java index 1f9523a5b7..00525a0da6 100644 --- a/src/main/java/gregtech/common/items/DropType.java +++ b/src/main/java/gregtech/common/items/DropType.java @@ -3,7 +3,7 @@ package gregtech.common.items; import org.apache.commons.lang3.text.WordUtils; import gregtech.api.enums.Materials; -import gregtech.api.util.GT_LanguageManager; +import gregtech.api.util.GTLanguageManager; public enum DropType { @@ -36,7 +36,7 @@ public enum DropType { public String getName() { - return GT_LanguageManager.addStringLocalization("drop." + this.name, WordUtils.capitalize(this.name) + " Drop"); + return GTLanguageManager.addStringLocalization("drop." + this.name, WordUtils.capitalize(this.name) + " Drop"); } public int[] getColours() { diff --git a/src/main/java/gregtech/common/items/GT_AdvancedSensorCard_Item.java b/src/main/java/gregtech/common/items/GT_AdvancedSensorCard_Item.java deleted file mode 100644 index 723a7ffad5..0000000000 --- a/src/main/java/gregtech/common/items/GT_AdvancedSensorCard_Item.java +++ /dev/null @@ -1,330 +0,0 @@ -package gregtech.common.items; - -import static gregtech.api.enums.Mods.GregTech; -import static gregtech.common.covers.GT_Cover_Metrics_Transmitter.CARD_STATE_KEY; -import static gregtech.common.covers.GT_Cover_Metrics_Transmitter.FREQUENCY_LSB_KEY; -import static gregtech.common.covers.GT_Cover_Metrics_Transmitter.FREQUENCY_MSB_KEY; -import static gregtech.common.covers.GT_Cover_Metrics_Transmitter.MACHINE_KEY; - -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; -import java.util.UUID; -import java.util.function.Predicate; -import java.util.stream.IntStream; - -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -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 org.jetbrains.annotations.NotNull; - -import com.google.common.collect.ImmutableList; - -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.common.misc.GlobalMetricsCoverDatabase; -import gregtech.common.misc.GlobalMetricsCoverDatabase.State; -import shedar.mods.ic2.nuclearcontrol.api.CardState; -import shedar.mods.ic2.nuclearcontrol.api.ICardWrapper; -import shedar.mods.ic2.nuclearcontrol.api.IPanelDataSource; -import shedar.mods.ic2.nuclearcontrol.api.PanelSetting; -import shedar.mods.ic2.nuclearcontrol.api.PanelString; - -@SuppressWarnings("unused") -public class GT_AdvancedSensorCard_Item extends Item implements IPanelDataSource { - - public static final UUID CARD_TYPE_ID = UUID.fromString("ff952e84-7608-4c4a-85af-dd6e1aa27fc7"); - - // This has obfuscated formatting, so no need to localize it. - private static final String SELF_DESTRUCTED_OUTPUT = EnumChatFormatting.OBFUSCATED + "critical error" - + EnumChatFormatting.RESET; - - private static final ImmutableList DECONSTRUCTED_OUTPUT = ImmutableList.of( - StatCollector.translateToLocal("gt.item.adv_sensor_card.error.deconstructed.1"), - StatCollector.translateToLocal("gt.item.adv_sensor_card.error.deconstructed.2")); - - private static final String NO_DATA_FOUND = StatCollector.translateToLocal("gt.item.adv_sensor_card.error.no_data"); - - private static final String MACHINE_NAME_KEY = "client_machine_name"; - private static final String OUTPUT_ENTRY_KEY = "client_entry_%d"; - private static final String OUTPUT_ENTRY_LENGTH_KEY = "client_entry_length"; - - private int payloadSize = 0; - - @SideOnly(Side.CLIENT) - private IIcon normalIcon; - @SideOnly(Side.CLIENT) - private IIcon selfDestructedIcon; - - @SuppressWarnings("unused") - public GT_AdvancedSensorCard_Item() { - super(); - - GameRegistry.registerItem(this, "gt.advancedsensorcard", GregTech.ID); - setUnlocalizedName("gt.advancedsensorcard"); - setMaxStackSize(1); - setNoRepair(); - } - - @Override - public void addInformation(final ItemStack itemStack, final EntityPlayer player, final List tooltip, - final boolean p_77624_4_) { - super.addInformation(itemStack, player, tooltip, p_77624_4_); - - final Optional cardState = getCardState(itemStack); - if (cardState.isPresent()) { - final State state = cardState.get(); - - if (state == State.SELF_DESTRUCTED) { - tooltip.add(StatCollector.translateToLocal("gt.item.adv_sensor_card.tooltip.fried.1")); - tooltip.add(StatCollector.translateToLocal("gt.item.adv_sensor_card.tooltip.fried.2")); - tooltip.add(StatCollector.translateToLocal("gt.item.adv_sensor_card.tooltip.fried.3")); - } else { - getMachineName(itemStack).ifPresent( - machineName -> tooltip.add( - StatCollector - .translateToLocalFormatted("gt.item.adv_sensor_card.tooltip.machine", machineName))); - getUUID(itemStack).ifPresent( - uuid -> tooltip.add( - StatCollector - .translateToLocalFormatted("gt.item.adv_sensor_card.tooltip.frequency", uuid.toString()))); - } - } else { - tooltip.add(StatCollector.translateToLocal("gt.item.adv_sensor_card.tooltip.recipe_hint")); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(Item aItem, CreativeTabs aCreativeTab, List aOutputSubItems) {} - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(final IIconRegister aIconRegister) { - super.registerIcons(aIconRegister); - itemIcon = aIconRegister.registerIcon(GregTech.ID + ":gt.advancedsensorcard"); - normalIcon = itemIcon; - selfDestructedIcon = aIconRegister.registerIcon(GregTech.ID + ":gt.advancedsensorcardburned"); - } - - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(final ItemStack stack, final int renderPass) { - return getIconIndex(stack); - } - - @Override - public IIcon getIconIndex(final ItemStack itemStack) { - return getCardState(itemStack).filter(Predicate.isEqual(State.SELF_DESTRUCTED)) - .map(ignored -> selfDestructedIcon) - .orElse(normalIcon); - } - - @Override - public CardState update(TileEntity tileEntity, ICardWrapper card, int maxRange) { - return update(tileEntity.getWorldObj(), card, maxRange); - } - - @Override - public CardState update(World world, ICardWrapper card, int maxRange) { - final Optional optionalData = getDataFromDatabase(card); - - optionalData.ifPresent(data -> { - final State machineState = data.getState(); - reconcileSelfDestructedCard(card.getItemStack(), machineState); - card.setInt(CARD_STATE_KEY, machineState.getType()); - - getMachineName(card.getItemStack()) - .ifPresent(name -> card.setString(MACHINE_NAME_KEY, machineState == State.SELF_DESTRUCTED ? "" : name)); - - final ImmutableList.Builder builder = ImmutableList.builder(); - switch (machineState) { - case SELF_DESTRUCTED -> builder.add(SELF_DESTRUCTED_OUTPUT); - case HOST_DECONSTRUCTED -> builder.addAll(DECONSTRUCTED_OUTPUT); - case OPERATIONAL -> { - data.getCoordinates() - .ifPresent( - coordinates -> builder.add( - StatCollector.translateToLocalFormatted( - "gt.item.adv_sensor_card.dimension", - coordinates.getDimension()), - StatCollector.translateToLocalFormatted( - "gt.item.adv_sensor_card.coords", - coordinates.getLocalizedCoordinates()))); - - data.getPayload() - .ifPresent(builder::addAll); - } - default -> builder.add(NO_DATA_FOUND); - } - - final List payload = builder.build(); - card.setInt(OUTPUT_ENTRY_LENGTH_KEY, payload.size()); - for (int i = 0; i < payload.size(); i++) { - final String payloadItem = payload.get(i); - if (!payloadItem.isEmpty()) { - card.setString(String.format(OUTPUT_ENTRY_KEY, i), payloadItem); - } - } - }); - - return CardState.OK; - } - - @Override - public List getStringData(final int displaySettings, final ICardWrapper card, - final boolean showLabels) { - final List returned = new ArrayList<>(); - final String machineName = card.getString(MACHINE_NAME_KEY); - final int bitmaskOffset; - - payloadSize = card.getInt(OUTPUT_ENTRY_LENGTH_KEY); - - if (!machineName.isEmpty() && (displaySettings & 1) != 0) { - returned.add(panelString(machineName, true)); - payloadSize += 1; - bitmaskOffset = 1; - } else { - bitmaskOffset = 0; - } - - // Not reusing payloadSize here because it can be conditionally mutated. - IntStream.range(0, card.getInt(OUTPUT_ENTRY_LENGTH_KEY)) - .forEach(i -> { - if ((displaySettings & 1 << (i + bitmaskOffset)) != 0) { - returned.add(panelString(card.getString(String.format(OUTPUT_ENTRY_KEY, i)))); - } - }); - - return returned; - } - - @Override - public List getSettingsList() { - return payloadSize == 0 ? ImmutableList.of() - : ImmutableList.copyOf( - IntStream.range(0, Math.min(payloadSize, 31)) - .mapToObj(i -> new PanelSetting(String.valueOf(i + 1), 1 << i, getCardType())) - .iterator()); - } - - @Override - public UUID getCardType() { - return CARD_TYPE_ID; - } - - @Override - public void onUpdate(ItemStack stack, World worldIn, Entity entityIn, int slot, boolean isHeld) { - super.onUpdate(stack, worldIn, entityIn, slot, isHeld); - // At the time of this comment's writing, there are 52 matches of the regex: - // /% \d+0 \)?\s*== 0/ in the code base, indicating an over-reliance on events happening on either the 10th or - // 20th tick. Let's tick on something slightly off of that. A prime number will do nicely. - if ((worldIn.getWorldTime() % 20) == 13) { - getDataFromDatabase(stack).ifPresent(data -> { - reconcileSelfDestructedCard(stack, data.getState()); - if (!stack.hasTagCompound()) { - stack.setTagCompound(new NBTTagCompound()); - } - - stack.getTagCompound() - .setInteger( - CARD_STATE_KEY, - data.getState() - .getType()); - }); - } - } - - private void reconcileSelfDestructedCard(ItemStack stack, State newState) { - getUUID(stack).ifPresent(uuid -> getCardState(stack).ifPresent(oldState -> { - if (newState == State.SELF_DESTRUCTED && oldState != State.SELF_DESTRUCTED) { - GlobalMetricsCoverDatabase.clearSelfDestructedFrequency(uuid); - } - })); - - } - - @NotNull - private Optional getCardState(ICardWrapper card) { - return getCardState(card.getItemStack()); - } - - @NotNull - private Optional getCardState(ItemStack itemStack) { - if (itemStack.hasTagCompound() && itemStack.getTagCompound() - .hasKey(CARD_STATE_KEY)) { - return State.find( - itemStack.getTagCompound() - .getInteger(CARD_STATE_KEY)); - } - - return Optional.empty(); - } - - @NotNull - private Optional getUUID(ItemStack stack) { - if (stack.hasTagCompound()) { - NBTTagCompound nbt = stack.getTagCompound(); - if (nbt.hasKey(FREQUENCY_LSB_KEY) && nbt.hasKey(FREQUENCY_MSB_KEY)) { - return Optional.of(new UUID(nbt.getLong(FREQUENCY_MSB_KEY), nbt.getLong(FREQUENCY_LSB_KEY))); - } - } - - return Optional.empty(); - } - - @NotNull - private Optional getMachineName(ItemStack stack) { - if (stack.hasTagCompound() && stack.getTagCompound() - .hasKey(MACHINE_KEY)) { - try { - final ItemStack machine = ItemStack.loadItemStackFromNBT( - stack.getTagCompound() - .getCompoundTag(MACHINE_KEY)); - if (machine != null) { - return Optional.of(machine.getDisplayName()); - } - } catch (Exception ignored) {} - } - - return Optional.empty(); - } - - @NotNull - private Optional getDataFromDatabase(ICardWrapper card) { - return getDataFromDatabase(card.getItemStack()); - } - - @NotNull - private Optional getDataFromDatabase(ItemStack stack) { - return getUUID(stack).flatMap(GlobalMetricsCoverDatabase::getData); - } - - @NotNull - private static PanelString panelString(String info) { - return panelString(info, false); - } - - @NotNull - private static PanelString panelString(String info, boolean center) { - final PanelString panelString = new PanelString(); - if (center) { - panelString.textCenter = info; - } else { - panelString.textLeft = info; - } - return panelString; - - } -} diff --git a/src/main/java/gregtech/common/items/GT_DepletetCell_Item.java b/src/main/java/gregtech/common/items/GT_DepletetCell_Item.java deleted file mode 100644 index df14adc39b..0000000000 --- a/src/main/java/gregtech/common/items/GT_DepletetCell_Item.java +++ /dev/null @@ -1,49 +0,0 @@ -package gregtech.common.items; - -import net.minecraft.item.ItemStack; - -import gregtech.api.items.GT_RadioactiveCellIC_Item; -import ic2.api.reactor.IReactor; - -public class GT_DepletetCell_Item extends GT_RadioactiveCellIC_Item { - - public GT_DepletetCell_Item(String aUnlocalized, String aEnglish, int aRadiation) { - super(aUnlocalized, aEnglish, 1, 1, 0, aRadiation, 0, null, false); - } - - @Override - public void processChamber(IReactor paramIReactor, ItemStack paramItemStack, int paramInt1, int paramInt2, - boolean paramBoolean) {} - - @Override - public boolean acceptUraniumPulse(IReactor paramIReactor, ItemStack paramItemStack1, ItemStack paramItemStack2, - int paramInt1, int paramInt2, int paramInt3, int paramInt4, boolean paramBoolean) { - return false; - } - - @Override - public boolean canStoreHeat(IReactor paramIReactor, ItemStack paramItemStack, int paramInt1, int paramInt2) { - return false; - } - - @Override - public int getMaxHeat(IReactor paramIReactor, ItemStack paramItemStack, int paramInt1, int paramInt2) { - return 0; - } - - @Override - public int getCurrentHeat(IReactor paramIReactor, ItemStack paramItemStack, int paramInt1, int paramInt2) { - return 0; - } - - @Override - public int alterHeat(IReactor paramIReactor, ItemStack paramItemStack, int paramInt1, int paramInt2, - int paramInt3) { - return 0; - } - - @Override - public float influenceExplosion(IReactor paramIReactor, ItemStack paramItemStack) { - return 0.0F; - } -} diff --git a/src/main/java/gregtech/common/items/GT_FluidDisplayItem.java b/src/main/java/gregtech/common/items/GT_FluidDisplayItem.java deleted file mode 100644 index 850fe21811..0000000000 --- a/src/main/java/gregtech/common/items/GT_FluidDisplayItem.java +++ /dev/null @@ -1,181 +0,0 @@ -package gregtech.common.items; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.stream.Stream; - -import net.minecraft.client.Minecraft; -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.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IIcon; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.oredict.OreDictionary; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.ItemList; -import gregtech.api.enums.Materials; -import gregtech.api.items.GT_Generic_Item; -import gregtech.api.util.GT_Utility; - -public class GT_FluidDisplayItem extends GT_Generic_Item { - - private static final Map sFluidTooltips = new HashMap<>(); - - public GT_FluidDisplayItem() { - super("GregTech_FluidDisplay", "Fluid Display", null); - ItemList.Display_Fluid.set(this); - } - - @Override - protected void addAdditionalToolTips(List aList, ItemStack aStack, EntityPlayer aPlayer) { - if (FluidRegistry.getFluid(aStack.getItemDamage()) != null) { - String tChemicalFormula = getChemicalFormula( - new FluidStack(FluidRegistry.getFluid(aStack.getItemDamage()), 1)); - if (!tChemicalFormula.isEmpty()) - aList.add(EnumChatFormatting.YELLOW + tChemicalFormula + EnumChatFormatting.RESET); - } - NBTTagCompound aNBT = aStack.getTagCompound(); - if (GT_Values.D1 || Minecraft.getMinecraft().gameSettings.advancedItemTooltips) { - Fluid tFluid = FluidRegistry.getFluid(aStack.getItemDamage()); - if (tFluid != null) { - aList.add("Registry: " + tFluid.getName()); - } - } - if (aNBT != null) { - long tToolTipAmount = aNBT.getLong("mFluidDisplayAmount"); - if (tToolTipAmount > 0L) { - aList.add( - EnumChatFormatting.BLUE + "Amount: " - + GT_Utility.formatNumbers(tToolTipAmount) - + " L" - + EnumChatFormatting.GRAY); - } - aList.add( - EnumChatFormatting.RED + "Temperature: " - + GT_Utility.formatNumbers(aNBT.getLong("mFluidDisplayHeat")) - + " K" - + EnumChatFormatting.GRAY); - aList.add( - EnumChatFormatting.GREEN - + String.format(transItem("018", "State: %s"), aNBT.getBoolean("mFluidState") ? "Gas" : "Liquid") - + EnumChatFormatting.GRAY); - } - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister aIconRegister) {} - - @Override - public IIcon getIconFromDamage(int aMetaData) { - return Stream.of(FluidRegistry.getFluid(aMetaData), FluidRegistry.WATER) - .filter(Objects::nonNull) - .map(Fluid::getStillIcon) - .filter(Objects::nonNull) - .findFirst() - .orElseThrow(IllegalStateException::new); - } - - @Override - @SideOnly(Side.CLIENT) - public int getColorFromItemStack(ItemStack aStack, int aRenderPass) { - Fluid tFluid = FluidRegistry.getFluid(aStack.getItemDamage()); - return tFluid == null ? 16777215 : tFluid.getColor(); - } - - @Override - public int getSpriteNumber() { - return 0; - } - - @Override - public String getUnlocalizedName(ItemStack aStack) { - if (aStack != null) { - return GT_Utility.getFluidName(FluidRegistry.getFluid(aStack.getItemDamage()), false); - } - return ""; - } - - @Override - public String getItemStackDisplayName(ItemStack aStack) { - if (aStack != null) { - return GT_Utility.getFluidName(FluidRegistry.getFluid(aStack.getItemDamage()), true); - } - return ""; - } - - @SideOnly(Side.CLIENT) - public static String getChemicalFormula(FluidStack aRealFluid) { - return sFluidTooltips.computeIfAbsent(aRealFluid.getFluid(), fluid -> { - for (ItemStack tContainer : GT_Utility.getContainersFromFluid(aRealFluid)) { - if (isCell(tContainer)) { - Materials tMaterial = getMaterialFromCell(tContainer); - if (!tMaterial.equals(Materials._NULL)) { - if (tMaterial.mChemicalFormula.equals("?")) { - return ""; - } else { - return tMaterial.mChemicalFormula; - } - } else { - // For GT++ Fluid Display - // GT++ didn't register a Material in GT, so I have too find the Chemical Formula in its cell's - // tooltip - List tTooltip = tContainer.getTooltip(null, true); - for (String tInfo : tTooltip) { - if (!tInfo.contains(" ") && !tInfo.contains(":") && tTooltip.indexOf(tInfo) != 0) { - return tInfo; - } - } - } - } - } - return ""; - }); - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(Item aItem, CreativeTabs aTab, List aList) { - if (GT_Values.D1) { - int i = 0; - for (int j = FluidRegistry.getMaxID(); i < j; i++) { - ItemStack tStack = GT_Utility.getFluidDisplayStack(FluidRegistry.getFluid(i)); - if (tStack != null) { - aList.add(tStack); - } - } - } - } - - public static boolean isCell(ItemStack tItemStack) { - for (int tOreDict : OreDictionary.getOreIDs(tItemStack)) { - String tOreDictName = OreDictionary.getOreName(tOreDict); - if (tOreDictName.startsWith("cell")) return true; - } - return false; - } - - public static Materials getMaterialFromCell(ItemStack tItemStack) { - for (int tOreDict : OreDictionary.getOreIDs(tItemStack)) { - String tOreDictName = OreDictionary.getOreName(tOreDict); - if (tOreDictName.startsWith("cell")) { - return Materials.getRealMaterial( - tOreDictName.replace("cell", "") - .replace("Molten", "") - .replace("Plasma", "")); - } - } - return Materials._NULL; - } -} diff --git a/src/main/java/gregtech/common/items/GT_IntegratedCircuit_Item.java b/src/main/java/gregtech/common/items/GT_IntegratedCircuit_Item.java deleted file mode 100644 index d0ef03a1ae..0000000000 --- a/src/main/java/gregtech/common/items/GT_IntegratedCircuit_Item.java +++ /dev/null @@ -1,328 +0,0 @@ -package gregtech.common.items; - -import static gregtech.GT_Mod.GT_FML_LOGGER; -import static gregtech.api.enums.Mods.GregTech; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.function.BiFunction; -import java.util.function.Predicate; - -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.util.ChatComponentText; -import net.minecraft.util.ChatComponentTranslation; -import net.minecraft.util.IIcon; -import net.minecraft.util.StatCollector; -import net.minecraft.world.World; -import net.minecraftforge.common.util.Constants; -import net.minecraftforge.common.util.FakePlayer; - -import org.apache.commons.lang3.tuple.Pair; - -import com.gtnewhorizons.modularui.api.UIInfos; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.GregTech_API; -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.ItemList; -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.interfaces.INetworkUpdatableItem; -import gregtech.api.items.GT_Generic_Item; -import gregtech.api.net.GT_Packet_UpdateItem; -import gregtech.api.objects.XSTR; -import gregtech.api.util.GT_Config; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_Log; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_Utility; -import gregtech.common.gui.modularui.uifactory.SelectItemUIFactory; - -public class GT_IntegratedCircuit_Item extends GT_Generic_Item implements INetworkUpdatableItem { - - private static final String aTextEmptyRow = " "; - private static final List ALL_VARIANTS = new ArrayList<>(); - protected final IIcon[] mIconDamage = new IIcon[25]; - - public GT_IntegratedCircuit_Item() { - super("integrated_circuit", "Programmed Circuit", ""); - setHasSubtypes(true); - setMaxDamage(0); - - ItemList.Circuit_Integrated.set(this); - - ALL_VARIANTS.add(new ItemStack(this, 0, 0)); - for (int i = 1; i <= 24; i++) { - ItemStack aStack = new ItemStack(this, 0, i); - GregTech_API.registerConfigurationCircuit(aStack, 1); - ALL_VARIANTS.add(aStack); - } - - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Circuit_Integrated.getWithDamage(1L, 0L), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { OrePrefixes.circuit.get(Materials.LV) }); - long bits = GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE; - GT_ModHandler.addCraftingRecipe( - ItemList.Circuit_Integrated.getWithDamage(1L, 1L), - bits, - new Object[] { "d ", " P ", aTextEmptyRow, 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Circuit_Integrated.getWithDamage(1L, 2L), - bits, - new Object[] { " d ", " P ", aTextEmptyRow, 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Circuit_Integrated.getWithDamage(1L, 3L), - bits, - new Object[] { " d", " P ", aTextEmptyRow, 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Circuit_Integrated.getWithDamage(1L, 4L), - bits, - new Object[] { aTextEmptyRow, " Pd", aTextEmptyRow, 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Circuit_Integrated.getWithDamage(1L, 5L), - bits, - new Object[] { aTextEmptyRow, " P ", " d", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Circuit_Integrated.getWithDamage(1L, 6L), - bits, - new Object[] { aTextEmptyRow, " P ", " d ", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Circuit_Integrated.getWithDamage(1L, 7L), - bits, - new Object[] { aTextEmptyRow, " P ", "d ", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Circuit_Integrated.getWithDamage(1L, 8L), - bits, - new Object[] { aTextEmptyRow, "dP ", aTextEmptyRow, 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); - - GT_ModHandler.addCraftingRecipe( - ItemList.Circuit_Integrated.getWithDamage(1L, 9L), - bits, - new Object[] { "P d", aTextEmptyRow, aTextEmptyRow, 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Circuit_Integrated.getWithDamage(1L, 10L), - bits, - new Object[] { "P ", " d", aTextEmptyRow, 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Circuit_Integrated.getWithDamage(1L, 11L), - bits, - new Object[] { "P ", aTextEmptyRow, " d", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Circuit_Integrated.getWithDamage(1L, 12L), - bits, - new Object[] { "P ", aTextEmptyRow, " d ", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Circuit_Integrated.getWithDamage(1L, 13L), - bits, - new Object[] { " P", aTextEmptyRow, " d", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Circuit_Integrated.getWithDamage(1L, 14L), - bits, - new Object[] { " P", aTextEmptyRow, " d ", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Circuit_Integrated.getWithDamage(1L, 15L), - bits, - new Object[] { " P", aTextEmptyRow, "d ", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Circuit_Integrated.getWithDamage(1L, 16L), - bits, - new Object[] { " P", "d ", aTextEmptyRow, 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Circuit_Integrated.getWithDamage(1L, 17L), - bits, - new Object[] { aTextEmptyRow, aTextEmptyRow, "d P", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Circuit_Integrated.getWithDamage(1L, 18L), - bits, - new Object[] { aTextEmptyRow, "d ", " P", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Circuit_Integrated.getWithDamage(1L, 19L), - bits, - new Object[] { "d ", aTextEmptyRow, " P", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Circuit_Integrated.getWithDamage(1L, 20L), - bits, - new Object[] { " d ", aTextEmptyRow, " P", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Circuit_Integrated.getWithDamage(1L, 21L), - bits, - new Object[] { "d ", aTextEmptyRow, "P ", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Circuit_Integrated.getWithDamage(1L, 22L), - bits, - new Object[] { " d ", aTextEmptyRow, "P ", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Circuit_Integrated.getWithDamage(1L, 23L), - bits, - new Object[] { " d", aTextEmptyRow, "P ", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Circuit_Integrated.getWithDamage(1L, 24L), - bits, - new Object[] { aTextEmptyRow, " d", "P ", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); - } - - private static String getModeString(int aMetaData) { - return switch ((byte) (aMetaData >>> 8)) { - case 0 -> "=="; - case 1 -> "<="; - case 2 -> ">="; - case 3 -> "<"; - case 4 -> ">"; - default -> ""; - }; - } - - private static String getConfigurationString(int aMetaData) { - return getModeString(aMetaData) + " " + (byte) (aMetaData & 0xFF); - } - - @Override - public void addAdditionalToolTips(List aList, ItemStack aStack, EntityPlayer aPlayer) { - super.addAdditionalToolTips(aList, aStack, aPlayer); - aList.add( - GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".configuration", "Configuration: ") - + getConfigurationString(getDamage(aStack))); - aList.add( - GT_LanguageManager - .addStringLocalization(getUnlocalizedName() + ".tooltip.0", "Right click to reconfigure")); - aList.add( - GT_LanguageManager.addStringLocalization( - getUnlocalizedName() + ".tooltip.1", - "Needs a screwdriver or circuit programming tool")); - } - - @Override - public String getUnlocalizedName(ItemStack aStack) { - return getUnlocalizedName(); - } - - @Override - @SideOnly(Side.CLIENT) - public final void getSubItems(Item aItem, CreativeTabs aCreativeTab, List aList) { - aList.add(new ItemStack(this, 1, 0)); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister aIconRegister) { - super.registerIcons(aIconRegister); - for (int i = 0; i < mIconDamage.length; i++) { - mIconDamage[i] = aIconRegister - .registerIcon(GregTech.getResourcePath(GT_Config.troll ? "troll" : getUnlocalizedName() + "/" + i)); - } - if (GregTech_API.sPostloadFinished) { - GT_Log.out.println("GT_Mod: Starting Item Icon Load Phase"); - GT_FML_LOGGER.info("GT_Mod: Starting Item Icon Load Phase"); - GregTech_API.sItemIcons = aIconRegister; - try { - for (Runnable tRunnable : GregTech_API.sGTItemIconload) { - tRunnable.run(); - } - } catch (Throwable e) { - e.printStackTrace(GT_Log.err); - } - GT_Log.out.println("GT_Mod: Finished Item Icon Load Phase"); - GT_FML_LOGGER.info("GT_Mod: Finished Item Icon Load Phase"); - } - } - - @Override - public IIcon getIconFromDamage(int aMetaData) { - byte circuitMode = ((byte) (aMetaData & 0xFF)); // Mask out the MSB Comparison Mode Bits. See: getModeString - return mIconDamage[circuitMode < mIconDamage.length ? circuitMode : 0]; - } - - @Override - public boolean receive(ItemStack stack, EntityPlayerMP player, NBTTagCompound tag) { - int meta = tag.hasKey("meta", Constants.NBT.TAG_BYTE) ? tag.getByte("meta") : -1; - if (meta < 0 || meta > 24) return true; - - if (!player.capabilities.isCreativeMode) { - Pair> toolIndex = findConfiguratorInInv(player); - if (toolIndex == null) return true; - - ItemStack[] mainInventory = player.inventory.mainInventory; - mainInventory[toolIndex.getKey()] = toolIndex.getValue() - .apply(mainInventory[toolIndex.getKey()], player); - } - stack.setItemDamage(meta); - - return true; - } - - @Override - public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - // nothing on server side or fake player - if (player instanceof FakePlayer || !world.isRemote) return stack; - // check if any screwdriver - ItemStack configuratorStack; - if (player.capabilities.isCreativeMode) { - configuratorStack = null; - } else { - Pair configurator = findConfiguratorInInv(player); - if (configurator == null) { - int count; - try { - count = Integer - .parseInt(StatCollector.translateToLocal("GT5U.item.programmed_circuit.no_screwdriver.count")); - } catch (NumberFormatException e) { - player.addChatComponentMessage( - new ChatComponentText( - "Error in translation GT5U.item.programmed_circuit.no_screwdriver.count: " - + e.getMessage())); - count = 1; - } - player.addChatComponentMessage( - new ChatComponentTranslation( - "GT5U.item.programmed_circuit.no_screwdriver." + XSTR.XSTR_INSTANCE.nextInt(count))); - return stack; - } - configuratorStack = player.inventory.mainInventory[configurator.getKey()]; - } - openSelectorGui(configuratorStack, stack.getItemDamage(), player); - return stack; - } - - private void openSelectorGui(ItemStack configurator, int meta, EntityPlayer player) { - UIInfos.openClientUI( - player, - buildContext -> new SelectItemUIFactory( - StatCollector.translateToLocal("GT5U.item.programmed_circuit.select.header"), - configurator, - GT_IntegratedCircuit_Item::onConfigured, - ALL_VARIANTS, - meta, - true).createWindow(buildContext)); - } - - private static void onConfigured(ItemStack stack) { - NBTTagCompound tag = new NBTTagCompound(); - tag.setByte("meta", (byte) stack.getItemDamage()); - GT_Values.NW.sendToServer(new GT_Packet_UpdateItem(tag)); - } - - private static Pair> findConfiguratorInInv( - EntityPlayer player) { - ItemStack[] mainInventory = player.inventory.mainInventory; - for (int j = 0, mainInventoryLength = mainInventory.length; j < mainInventoryLength; j++) { - ItemStack toolStack = mainInventory[j]; - - if (!GT_Utility.isStackValid(toolStack)) continue; - - for (Map.Entry, BiFunction> p : GregTech_API.sCircuitProgrammerList - .entrySet()) - if (p.getKey() - .test(toolStack)) return Pair.of(j, p.getValue()); - } - return null; - } -} diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java deleted file mode 100644 index b7380d9eff..0000000000 --- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java +++ /dev/null @@ -1,4635 +0,0 @@ -package gregtech.common.items; - -import static gregtech.api.enums.Textures.BlockIcons.COVER_WOOD_PLATE; -import static gregtech.api.enums.Textures.BlockIcons.MACHINE_CASINGS; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_ACTIVITYDETECTOR; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_ACTIVITYDETECTOR_GLOW; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_ARM; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_CONTROLLER; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_CONVEYOR; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_CRAFTING; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_DRAIN; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_ENERGYDETECTOR; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FLUIDDETECTOR; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FLUID_STORAGE_MONITOR0; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_ITEMDETECTOR; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_MAINTENANCE_DETECTOR; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_PUMP; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_REDSTONE_RECEIVER; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_REDSTONE_TRANSMITTER; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_SCREEN; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_SCREEN_GLOW; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_SHUTTER; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_VALVE; -import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL; -import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_8V; -import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_EV; -import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_HV; -import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_IV; -import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_LV; -import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_LuV; -import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_MV; -import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_UV; -import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_ZPM; -import static gregtech.client.GT_TooltipHandler.Tier.ERV; -import static gregtech.client.GT_TooltipHandler.Tier.EV; -import static gregtech.client.GT_TooltipHandler.Tier.HV; -import static gregtech.client.GT_TooltipHandler.Tier.IV; -import static gregtech.client.GT_TooltipHandler.Tier.LV; -import static gregtech.client.GT_TooltipHandler.Tier.LuV; -import static gregtech.client.GT_TooltipHandler.Tier.MAX; -import static gregtech.client.GT_TooltipHandler.Tier.MV; -import static gregtech.client.GT_TooltipHandler.Tier.UEV; -import static gregtech.client.GT_TooltipHandler.Tier.UHV; -import static gregtech.client.GT_TooltipHandler.Tier.UIV; -import static gregtech.client.GT_TooltipHandler.Tier.ULV; -import static gregtech.client.GT_TooltipHandler.Tier.UMV; -import static gregtech.client.GT_TooltipHandler.Tier.UV; -import static gregtech.client.GT_TooltipHandler.Tier.UXV; -import static gregtech.client.GT_TooltipHandler.Tier.ZPM; -import static gregtech.client.GT_TooltipHandler.registerTieredTooltip; -import static gregtech.common.items.ID_MetaItem_01.BatteryHull_EV; -import static gregtech.common.items.ID_MetaItem_01.BatteryHull_EV_Full; -import static gregtech.common.items.ID_MetaItem_01.BatteryHull_IV; -import static gregtech.common.items.ID_MetaItem_01.BatteryHull_IV_Full; -import static gregtech.common.items.ID_MetaItem_01.BatteryHull_LuV; -import static gregtech.common.items.ID_MetaItem_01.BatteryHull_LuV_Full; -import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UEV; -import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UEV_Full; -import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UHV; -import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UHV_Full; -import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UIV; -import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UIV_Full; -import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UMV; -import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UMV_Full; -import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UV; -import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UV_Full; -import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UxV; -import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UxV_Full; -import static gregtech.common.items.ID_MetaItem_01.BatteryHull_ZPM; -import static gregtech.common.items.ID_MetaItem_01.BatteryHull_ZPM_Full; -import static gregtech.common.items.ID_MetaItem_01.Battery_Hull_HV; -import static gregtech.common.items.ID_MetaItem_01.Battery_Hull_LV; -import static gregtech.common.items.ID_MetaItem_01.Battery_Hull_MV; -import static gregtech.common.items.ID_MetaItem_01.Battery_RE_HV_Cadmium; -import static gregtech.common.items.ID_MetaItem_01.Battery_RE_HV_Lithium; -import static gregtech.common.items.ID_MetaItem_01.Battery_RE_HV_Sodium; -import static gregtech.common.items.ID_MetaItem_01.Battery_RE_LV_Cadmium; -import static gregtech.common.items.ID_MetaItem_01.Battery_RE_LV_Lithium; -import static gregtech.common.items.ID_MetaItem_01.Battery_RE_LV_Sodium; -import static gregtech.common.items.ID_MetaItem_01.Battery_RE_MV_Cadmium; -import static gregtech.common.items.ID_MetaItem_01.Battery_RE_MV_Lithium; -import static gregtech.common.items.ID_MetaItem_01.Battery_RE_MV_Sodium; -import static gregtech.common.items.ID_MetaItem_01.Battery_RE_ULV_Tantalum; -import static gregtech.common.items.ID_MetaItem_01.Battery_SU_HV_Mercury; -import static gregtech.common.items.ID_MetaItem_01.Battery_SU_HV_Sulfuric_Acid; -import static gregtech.common.items.ID_MetaItem_01.Battery_SU_LV_Mercury; -import static gregtech.common.items.ID_MetaItem_01.Battery_SU_LV_Sulfuric_Acid; -import static gregtech.common.items.ID_MetaItem_01.Battery_SU_MV_Mercury; -import static gregtech.common.items.ID_MetaItem_01.Battery_SU_MV_Sulfuric_Acid; -import static gregtech.common.items.ID_MetaItem_01.Black_Hole_Closer; -import static gregtech.common.items.ID_MetaItem_01.Black_Hole_Opener; -import static gregtech.common.items.ID_MetaItem_01.Book_Written_01; -import static gregtech.common.items.ID_MetaItem_01.Book_Written_02; -import static gregtech.common.items.ID_MetaItem_01.Book_Written_03; -import static gregtech.common.items.ID_MetaItem_01.Circuit_Advanced; -import static gregtech.common.items.ID_MetaItem_01.Circuit_Basic; -import static gregtech.common.items.ID_MetaItem_01.Circuit_Board_Advanced; -import static gregtech.common.items.ID_MetaItem_01.Circuit_Board_Basic; -import static gregtech.common.items.ID_MetaItem_01.Circuit_Board_Elite; -import static gregtech.common.items.ID_MetaItem_01.Circuit_Data; -import static gregtech.common.items.ID_MetaItem_01.Circuit_Elite; -import static gregtech.common.items.ID_MetaItem_01.Circuit_Good; -import static gregtech.common.items.ID_MetaItem_01.Circuit_Master; -import static gregtech.common.items.ID_MetaItem_01.Circuit_Parts_Advanced; -import static gregtech.common.items.ID_MetaItem_01.Circuit_Parts_Crystal_Chip_Elite; -import static gregtech.common.items.ID_MetaItem_01.Circuit_Parts_Crystal_Chip_Master; -import static gregtech.common.items.ID_MetaItem_01.Circuit_Parts_Crystal_Chip_Wetware; -import static gregtech.common.items.ID_MetaItem_01.Circuit_Parts_Wiring_Advanced; -import static gregtech.common.items.ID_MetaItem_01.Circuit_Parts_Wiring_Basic; -import static gregtech.common.items.ID_MetaItem_01.Circuit_Parts_Wiring_Elite; -import static gregtech.common.items.ID_MetaItem_01.Circuit_Primitive; -import static gregtech.common.items.ID_MetaItem_01.Component_Filter; -import static gregtech.common.items.ID_MetaItem_01.Component_Grinder_Diamond; -import static gregtech.common.items.ID_MetaItem_01.Component_Grinder_Tungsten; -import static gregtech.common.items.ID_MetaItem_01.Component_Minecraft_Wheels_Iron; -import static gregtech.common.items.ID_MetaItem_01.Component_Minecraft_Wheels_Steel; -import static gregtech.common.items.ID_MetaItem_01.Component_Sawblade_Diamond; -import static gregtech.common.items.ID_MetaItem_01.Compressed_Fireclay; -import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_EV; -import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_HV; -import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_IV; -import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_LV; -import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_LuV; -import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_MAX; -import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_MV; -import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_UEV; -import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_UHV; -import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_UIV; -import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_UMV; -import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_UV; -import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_UXV; -import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_ZPM; -import static gregtech.common.items.ID_MetaItem_01.Cover_ActivityDetector; -import static gregtech.common.items.ID_MetaItem_01.Cover_Chest_Advanced; -import static gregtech.common.items.ID_MetaItem_01.Cover_Chest_Basic; -import static gregtech.common.items.ID_MetaItem_01.Cover_Chest_Good; -import static gregtech.common.items.ID_MetaItem_01.Cover_Controller; -import static gregtech.common.items.ID_MetaItem_01.Cover_Crafting; -import static gregtech.common.items.ID_MetaItem_01.Cover_Drain; -import static gregtech.common.items.ID_MetaItem_01.Cover_EnergyDetector; -import static gregtech.common.items.ID_MetaItem_01.Cover_FLuidStorageMonitor; -import static gregtech.common.items.ID_MetaItem_01.Cover_FluidDetector; -import static gregtech.common.items.ID_MetaItem_01.Cover_FluidLimiter; -import static gregtech.common.items.ID_MetaItem_01.Cover_ItemDetector; -import static gregtech.common.items.ID_MetaItem_01.Cover_NeedsMaintenance; -import static gregtech.common.items.ID_MetaItem_01.Cover_PlayerDetector; -import static gregtech.common.items.ID_MetaItem_01.Cover_RedstoneReceiverExternal; -import static gregtech.common.items.ID_MetaItem_01.Cover_RedstoneReceiverInternal; -import static gregtech.common.items.ID_MetaItem_01.Cover_RedstoneTransmitterExternal; -import static gregtech.common.items.ID_MetaItem_01.Cover_RedstoneTransmitterInternal; -import static gregtech.common.items.ID_MetaItem_01.Cover_Screen; -import static gregtech.common.items.ID_MetaItem_01.Cover_Shutter; -import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel; -import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel_8V; -import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel_EV; -import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel_HV; -import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel_IV; -import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel_LV; -import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel_LuV; -import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel_MV; -import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel_UV; -import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel_ZPM; -import static gregtech.common.items.ID_MetaItem_01.Crate_Empty; -import static gregtech.common.items.ID_MetaItem_01.Duct_Tape; -import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_EV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_HV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_IV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_LV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_LuV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_MAX; -import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_MV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_UEV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_UHV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_UIV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_UMV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_UV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_UXV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_ZPM; -import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_EV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_HV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_IV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_LV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_LuV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_MAX; -import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_MV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_UEV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_UHV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_UIV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_UMV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_UV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_UXV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_ZPM; -import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_EV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_HV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_IV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_LV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_LuV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_MAX; -import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_MV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_UEV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_UHV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_UIV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_UMV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_UV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_UXV; -import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_ZPM; -import static gregtech.common.items.ID_MetaItem_01.Electromagnet_Iron; -import static gregtech.common.items.ID_MetaItem_01.Electromagnet_Neodymium; -import static gregtech.common.items.ID_MetaItem_01.Electromagnet_Samarium; -import static gregtech.common.items.ID_MetaItem_01.Electromagnet_Steel; -import static gregtech.common.items.ID_MetaItem_01.Electromagnet_Tengam; -import static gregtech.common.items.ID_MetaItem_01.Emitter_EV; -import static gregtech.common.items.ID_MetaItem_01.Emitter_HV; -import static gregtech.common.items.ID_MetaItem_01.Emitter_IV; -import static gregtech.common.items.ID_MetaItem_01.Emitter_LV; -import static gregtech.common.items.ID_MetaItem_01.Emitter_LuV; -import static gregtech.common.items.ID_MetaItem_01.Emitter_MAX; -import static gregtech.common.items.ID_MetaItem_01.Emitter_MV; -import static gregtech.common.items.ID_MetaItem_01.Emitter_UEV; -import static gregtech.common.items.ID_MetaItem_01.Emitter_UHV; -import static gregtech.common.items.ID_MetaItem_01.Emitter_UIV; -import static gregtech.common.items.ID_MetaItem_01.Emitter_UMV; -import static gregtech.common.items.ID_MetaItem_01.Emitter_UV; -import static gregtech.common.items.ID_MetaItem_01.Emitter_UXV; -import static gregtech.common.items.ID_MetaItem_01.Emitter_ZPM; -import static gregtech.common.items.ID_MetaItem_01.Empty_Board_Basic; -import static gregtech.common.items.ID_MetaItem_01.Empty_Board_Elite; -import static gregtech.common.items.ID_MetaItem_01.EnergisedTesseract; -import static gregtech.common.items.ID_MetaItem_01.Energy_Cluster; -import static gregtech.common.items.ID_MetaItem_01.Energy_Lapotronic_Orb; -import static gregtech.common.items.ID_MetaItem_01.Energy_Lapotronic_orb_2; -import static gregtech.common.items.ID_MetaItem_01.Energy_Module; -import static gregtech.common.items.ID_MetaItem_01.Field_Generator_EV; -import static gregtech.common.items.ID_MetaItem_01.Field_Generator_HV; -import static gregtech.common.items.ID_MetaItem_01.Field_Generator_IV; -import static gregtech.common.items.ID_MetaItem_01.Field_Generator_LV; -import static gregtech.common.items.ID_MetaItem_01.Field_Generator_LuV; -import static gregtech.common.items.ID_MetaItem_01.Field_Generator_MAX; -import static gregtech.common.items.ID_MetaItem_01.Field_Generator_MV; -import static gregtech.common.items.ID_MetaItem_01.Field_Generator_UEV; -import static gregtech.common.items.ID_MetaItem_01.Field_Generator_UHV; -import static gregtech.common.items.ID_MetaItem_01.Field_Generator_UIV; -import static gregtech.common.items.ID_MetaItem_01.Field_Generator_UMV; -import static gregtech.common.items.ID_MetaItem_01.Field_Generator_UV; -import static gregtech.common.items.ID_MetaItem_01.Field_Generator_UXV; -import static gregtech.common.items.ID_MetaItem_01.Field_Generator_ZPM; -import static gregtech.common.items.ID_MetaItem_01.Firebrick; -import static gregtech.common.items.ID_MetaItem_01.FluidFilter; -import static gregtech.common.items.ID_MetaItem_01.FluidRegulator_EV; -import static gregtech.common.items.ID_MetaItem_01.FluidRegulator_HV; -import static gregtech.common.items.ID_MetaItem_01.FluidRegulator_IV; -import static gregtech.common.items.ID_MetaItem_01.FluidRegulator_LV; -import static gregtech.common.items.ID_MetaItem_01.FluidRegulator_LuV; -import static gregtech.common.items.ID_MetaItem_01.FluidRegulator_MV; -import static gregtech.common.items.ID_MetaItem_01.FluidRegulator_UV; -import static gregtech.common.items.ID_MetaItem_01.FluidRegulator_ZPM; -import static gregtech.common.items.ID_MetaItem_01.Fuel_Can_Plastic_Empty; -import static gregtech.common.items.ID_MetaItem_01.Fuel_Can_Plastic_Filled; -import static gregtech.common.items.ID_MetaItem_01.GigaChad; -import static gregtech.common.items.ID_MetaItem_01.Gravistar; -import static gregtech.common.items.ID_MetaItem_01.Ingot_Heavy1; -import static gregtech.common.items.ID_MetaItem_01.Ingot_Heavy2; -import static gregtech.common.items.ID_MetaItem_01.Ingot_Heavy3; -import static gregtech.common.items.ID_MetaItem_01.Ingot_Iridium_Alloy; -import static gregtech.common.items.ID_MetaItem_01.ItemFilter_Export; -import static gregtech.common.items.ID_MetaItem_01.ItemFilter_Import; -import static gregtech.common.items.ID_MetaItem_01.Large_Fluid_Cell_Aluminium; -import static gregtech.common.items.ID_MetaItem_01.Large_Fluid_Cell_Chrome; -import static gregtech.common.items.ID_MetaItem_01.Large_Fluid_Cell_Iridium; -import static gregtech.common.items.ID_MetaItem_01.Large_Fluid_Cell_Neutronium; -import static gregtech.common.items.ID_MetaItem_01.Large_Fluid_Cell_Osmium; -import static gregtech.common.items.ID_MetaItem_01.Large_Fluid_Cell_StainlessSteel; -import static gregtech.common.items.ID_MetaItem_01.Large_Fluid_Cell_Steel; -import static gregtech.common.items.ID_MetaItem_01.Large_Fluid_Cell_Titanium; -import static gregtech.common.items.ID_MetaItem_01.Large_Fluid_Cell_TungstenSteel; -import static gregtech.common.items.ID_MetaItem_01.McGuffium_239; -import static gregtech.common.items.ID_MetaItem_01.NC_SensorKit; -import static gregtech.common.items.ID_MetaItem_01.NaquadriaSupersolid; -import static gregtech.common.items.ID_MetaItem_01.Paper_Magic_Empty; -import static gregtech.common.items.ID_MetaItem_01.Paper_Magic_Page; -import static gregtech.common.items.ID_MetaItem_01.Paper_Magic_Pages; -import static gregtech.common.items.ID_MetaItem_01.Paper_Printed_Pages; -import static gregtech.common.items.ID_MetaItem_01.Paper_Punch_Card_Empty; -import static gregtech.common.items.ID_MetaItem_01.Paper_Punch_Card_Encoded; -import static gregtech.common.items.ID_MetaItem_01.QuantumEye; -import static gregtech.common.items.ID_MetaItem_01.QuantumStar; -import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_EV; -import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_HV; -import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_IV; -import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_LV; -import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_LuV; -import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_MAX; -import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_MV; -import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_UEV; -import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_UHV; -import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_UIV; -import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_UMV; -import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_UV; -import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_UXV; -import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_ZPM; -import static gregtech.common.items.ID_MetaItem_01.Schematic; -import static gregtech.common.items.ID_MetaItem_01.Schematic_1by1; -import static gregtech.common.items.ID_MetaItem_01.Schematic_2by2; -import static gregtech.common.items.ID_MetaItem_01.Schematic_3by3; -import static gregtech.common.items.ID_MetaItem_01.Schematic_Crafting; -import static gregtech.common.items.ID_MetaItem_01.Schematic_Dust; -import static gregtech.common.items.ID_MetaItem_01.Sensor_EV; -import static gregtech.common.items.ID_MetaItem_01.Sensor_HV; -import static gregtech.common.items.ID_MetaItem_01.Sensor_IV; -import static gregtech.common.items.ID_MetaItem_01.Sensor_LV; -import static gregtech.common.items.ID_MetaItem_01.Sensor_LuV; -import static gregtech.common.items.ID_MetaItem_01.Sensor_MAX; -import static gregtech.common.items.ID_MetaItem_01.Sensor_MV; -import static gregtech.common.items.ID_MetaItem_01.Sensor_UEV; -import static gregtech.common.items.ID_MetaItem_01.Sensor_UHV; -import static gregtech.common.items.ID_MetaItem_01.Sensor_UIV; -import static gregtech.common.items.ID_MetaItem_01.Sensor_UMV; -import static gregtech.common.items.ID_MetaItem_01.Sensor_UV; -import static gregtech.common.items.ID_MetaItem_01.Sensor_UXV; -import static gregtech.common.items.ID_MetaItem_01.Sensor_ZPM; -import static gregtech.common.items.ID_MetaItem_01.Shape_Empty; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Axe; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Block; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Bolt; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Bottle; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Casing; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Cell; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_File; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Gear; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Hammer; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Hoe; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Ingot; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Pickaxe; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Pipe_Huge; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Pipe_Large; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Pipe_Medium; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Pipe_Small; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Pipe_Tiny; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Plate; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Ring; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Rod; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Rotor; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Saw; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Shovel; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Small_Gear; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Sword; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Tool_Head_Drill; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Turbine_Blade; -import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Wire; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Anvil; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Arrow; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Baguette; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Ball; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Block; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Bolt; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Bottle; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Bread; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Bun; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Casing; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Credit; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Cylinder; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Gear; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Gear_Small; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Ingot; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Name; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Nugget; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Pipe_Huge; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Pipe_Large; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Pipe_Medium; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Pipe_Small; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Pipe_Tiny; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Plate; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Ring; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Rod; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Rod_Long; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Rotor; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Round; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Screw; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Tool_Head_Drill; -import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Turbine_Blade; -import static gregtech.common.items.ID_MetaItem_01.Shape_Slicer_Flat; -import static gregtech.common.items.ID_MetaItem_01.Shape_Slicer_Stripes; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_0; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_1; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_10; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_11; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_12; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_13; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_14; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_15; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_2; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_3; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_4; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_5; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_6; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_7; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_8; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_9; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Remover; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Remover_Empty; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_0; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_1; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_10; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_11; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_12; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_13; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_14; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_15; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_2; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_3; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_4; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_5; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_6; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_7; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_8; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_9; -import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_Remover; -import static gregtech.common.items.ID_MetaItem_01.Spray_Empty; -import static gregtech.common.items.ID_MetaItem_01.StableAdhesive; -import static gregtech.common.items.ID_MetaItem_01.Steam_Regulator_EV; -import static gregtech.common.items.ID_MetaItem_01.Steam_Regulator_HV; -import static gregtech.common.items.ID_MetaItem_01.Steam_Regulator_IV; -import static gregtech.common.items.ID_MetaItem_01.Steam_Regulator_LV; -import static gregtech.common.items.ID_MetaItem_01.Steam_Regulator_MV; -import static gregtech.common.items.ID_MetaItem_01.Steam_Valve_EV; -import static gregtech.common.items.ID_MetaItem_01.Steam_Valve_HV; -import static gregtech.common.items.ID_MetaItem_01.Steam_Valve_IV; -import static gregtech.common.items.ID_MetaItem_01.Steam_Valve_LV; -import static gregtech.common.items.ID_MetaItem_01.Steam_Valve_MV; -import static gregtech.common.items.ID_MetaItem_01.SuperconductorComposite; -import static gregtech.common.items.ID_MetaItem_01.Tesseract; -import static gregtech.common.items.ID_MetaItem_01.Thermos_Can_Empty; -import static gregtech.common.items.ID_MetaItem_01.Tool_Cheat; -import static gregtech.common.items.ID_MetaItem_01.Tool_Cover_Copy_Paste; -import static gregtech.common.items.ID_MetaItem_01.Tool_DataOrb; -import static gregtech.common.items.ID_MetaItem_01.Tool_DataStick; -import static gregtech.common.items.ID_MetaItem_01.Tool_Lighter_Invar_Empty; -import static gregtech.common.items.ID_MetaItem_01.Tool_Lighter_Invar_Full; -import static gregtech.common.items.ID_MetaItem_01.Tool_Lighter_Invar_Used; -import static gregtech.common.items.ID_MetaItem_01.Tool_Lighter_Platinum_Empty; -import static gregtech.common.items.ID_MetaItem_01.Tool_Lighter_Platinum_Full; -import static gregtech.common.items.ID_MetaItem_01.Tool_Lighter_Platinum_Used; -import static gregtech.common.items.ID_MetaItem_01.Tool_MatchBox_Full; -import static gregtech.common.items.ID_MetaItem_01.Tool_MatchBox_Used; -import static gregtech.common.items.ID_MetaItem_01.Tool_Matches; -import static gregtech.common.items.ID_MetaItem_01.Tool_Scanner; -import static gregtech.common.items.ID_MetaItem_01.Tool_Sonictron; -import static gregtech.common.items.ID_MetaItem_01.Upgrade_Lock; -import static gregtech.common.items.ID_MetaItem_01.Upgrade_Muffler; -import static gregtech.common.items.ID_MetaItem_01.ZPM2; -import static gregtech.common.items.ID_MetaItem_01.ZPM3; -import static gregtech.common.items.ID_MetaItem_01.ZPM4; -import static gregtech.common.items.ID_MetaItem_01.ZPM5; -import static gregtech.common.items.ID_MetaItem_01.ZPM6; - -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import net.minecraft.block.Block; -import net.minecraft.enchantment.Enchantment; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.EnumAction; -import net.minecraft.item.ItemStack; -import net.minecraft.potion.Potion; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.MathHelper; - -import gregtech.api.GregTech_API; -import gregtech.api.enums.Dyes; -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.ItemList; -import gregtech.api.enums.Materials; -import gregtech.api.enums.OreDictNames; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.enums.SubTag; -import gregtech.api.enums.TC_Aspects; -import gregtech.api.enums.Textures; -import gregtech.api.interfaces.IItemBehaviour; -import gregtech.api.interfaces.ITexture; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.items.GT_MetaGenerated_Item_X32; -import gregtech.api.objects.ItemData; -import gregtech.api.objects.MaterialStack; -import gregtech.api.recipe.RecipeMaps; -import gregtech.api.render.TextureFactory; -import gregtech.api.util.GT_FoodStat; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Utility; -import gregtech.common.config.other.ConfigGeneral; -import gregtech.common.covers.GT_Cover_Arm; -import gregtech.common.covers.GT_Cover_Chest; -import gregtech.common.covers.GT_Cover_ControlsWork; -import gregtech.common.covers.GT_Cover_Conveyor; -import gregtech.common.covers.GT_Cover_Crafting; -import gregtech.common.covers.GT_Cover_DoesWork; -import gregtech.common.covers.GT_Cover_Drain; -import gregtech.common.covers.GT_Cover_EUMeter; -import gregtech.common.covers.GT_Cover_FluidLimiter; -import gregtech.common.covers.GT_Cover_FluidRegulator; -import gregtech.common.covers.GT_Cover_FluidStorageMonitor; -import gregtech.common.covers.GT_Cover_Fluidfilter; -import gregtech.common.covers.GT_Cover_ItemFilter; -import gregtech.common.covers.GT_Cover_ItemMeter; -import gregtech.common.covers.GT_Cover_LiquidMeter; -import gregtech.common.covers.GT_Cover_NeedMaintainance; -import gregtech.common.covers.GT_Cover_PlayerDetector; -import gregtech.common.covers.GT_Cover_Pump; -import gregtech.common.covers.GT_Cover_RedstoneReceiverExternal; -import gregtech.common.covers.GT_Cover_RedstoneReceiverInternal; -import gregtech.common.covers.GT_Cover_RedstoneTransmitterExternal; -import gregtech.common.covers.GT_Cover_RedstoneTransmitterInternal; -import gregtech.common.covers.GT_Cover_Screen; -import gregtech.common.covers.GT_Cover_Shutter; -import gregtech.common.covers.GT_Cover_SolarPanel; -import gregtech.common.covers.GT_Cover_SteamRegulator; -import gregtech.common.covers.GT_Cover_SteamValve; -import gregtech.common.items.behaviors.Behaviour_Cover_Tool; -import gregtech.common.items.behaviors.Behaviour_DataOrb; -import gregtech.common.items.behaviors.Behaviour_DataStick; -import gregtech.common.items.behaviors.Behaviour_Lighter; -import gregtech.common.items.behaviors.Behaviour_PrintedPages; -import gregtech.common.items.behaviors.Behaviour_Scanner; -import gregtech.common.items.behaviors.Behaviour_SensorKit; -import gregtech.common.items.behaviors.Behaviour_Sonictron; -import gregtech.common.items.behaviors.Behaviour_Spray_Color; -import gregtech.common.items.behaviors.Behaviour_Spray_Color_Remover; -import gregtech.common.items.behaviors.Behaviour_WrittenBook; -import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_IndustrialElectromagneticSeparator.MagnetTiers; - -public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 { - - public static GT_MetaGenerated_Item_01 INSTANCE; - private final String mToolTipPurify = GT_LanguageManager - .addStringLocalization("metaitem.01.tooltip.purify", "Throw into Cauldron to get clean Dust"); - private static final String aTextEmptyRow = " "; - private static final String aTextShape = " P "; - private static final String PartCoverText = " L/t ("; - private static final String PartCoverText2 = " L/s) as Cover"; - private static final String PartNotCoverText = "Cannot be used as a Cover"; - private static final String RAText = "Grabs from and inserts into specific slots"; - private static final String FRText1 = "Configurable up to "; - private static final String FRText2 = " L/sec (as Cover)/n Rightclick/Screwdriver-rightclick/Shift-screwdriver-rightclick/n to adjust the pump speed by 1/16/256 L/sec per click"; - - private static final int[] Spray_Colors = new int[] { Spray_Color_0.ID, Spray_Color_1.ID, Spray_Color_2.ID, - Spray_Color_3.ID, Spray_Color_4.ID, Spray_Color_5.ID, Spray_Color_6.ID, Spray_Color_7.ID, Spray_Color_8.ID, - Spray_Color_9.ID, Spray_Color_10.ID, Spray_Color_11.ID, Spray_Color_12.ID, Spray_Color_13.ID, Spray_Color_14.ID, - Spray_Color_15.ID }; - private static final int[] Spray_Colors_Used = new int[] { Spray_Color_Used_0.ID, Spray_Color_Used_1.ID, - Spray_Color_Used_2.ID, Spray_Color_Used_3.ID, Spray_Color_Used_4.ID, Spray_Color_Used_5.ID, - Spray_Color_Used_6.ID, Spray_Color_Used_7.ID, Spray_Color_Used_8.ID, Spray_Color_Used_9.ID, - Spray_Color_Used_10.ID, Spray_Color_Used_11.ID, Spray_Color_Used_12.ID, Spray_Color_Used_13.ID, - Spray_Color_Used_14.ID, Spray_Color_Used_15.ID }; - - public GT_MetaGenerated_Item_01() { - super( - "metaitem.01", - OrePrefixes.dustTiny, - OrePrefixes.dustSmall, - OrePrefixes.dust, - OrePrefixes.dustImpure, - OrePrefixes.dustPure, - OrePrefixes.crushed, - OrePrefixes.crushedPurified, - OrePrefixes.crushedCentrifuged, - OrePrefixes.gem, - OrePrefixes.nugget, - null, - OrePrefixes.ingot, - OrePrefixes.ingotHot, - OrePrefixes.ingotDouble, - OrePrefixes.ingotTriple, - OrePrefixes.ingotQuadruple, - OrePrefixes.ingotQuintuple, - OrePrefixes.plate, - OrePrefixes.plateDouble, - OrePrefixes.plateTriple, - OrePrefixes.plateQuadruple, - OrePrefixes.plateQuintuple, - OrePrefixes.plateDense, - OrePrefixes.stick, - OrePrefixes.lens, - OrePrefixes.round, - OrePrefixes.bolt, - OrePrefixes.screw, - OrePrefixes.ring, - OrePrefixes.foil, - OrePrefixes.cell, - OrePrefixes.cellPlasma); - INSTANCE = this; - - ItemList.Credit_Greg_Copper - .set(addItem(ID_MetaItem_01.Credit_Greg_Copper.ID, "Copper GT Credit", "0.125 Credits")); - ItemList.Credit_Greg_Cupronickel.set( - addItem( - ID_MetaItem_01.Credit_Greg_Cupronickel.ID, - "Cupronickel GT Credit", - "1 Credit", - new ItemData(Materials.Cupronickel, 907200L))); - ItemList.Credit_Greg_Silver.set( - addItem( - ID_MetaItem_01.Credit_Greg_Silver.ID, - "Silver GT Credit", - "8 Credits", - new TC_Aspects.TC_AspectStack(TC_Aspects.LUCRUM, 1L))); - ItemList.Credit_Greg_Gold.set(addItem(ID_MetaItem_01.Credit_Greg_Gold.ID, "Gold GT Credit", "64 Credits")); - ItemList.Credit_Greg_Platinum - .set(addItem(ID_MetaItem_01.Credit_Greg_Platinum.ID, "Platinum GT Credit", "512 Credits")); - ItemList.Credit_Greg_Osmium - .set(addItem(ID_MetaItem_01.Credit_Greg_Osmium.ID, "Osmium GT Credit", "4,096 Credits")); - ItemList.Credit_Greg_Naquadah - .set(addItem(ID_MetaItem_01.Credit_Greg_Naquadah.ID, "Naquadah GT Credit", "32,768 Credits")); - ItemList.Credit_Greg_Neutronium - .set(addItem(ID_MetaItem_01.Credit_Greg_Neutronium.ID, "Neutronium GT Credit", "262,144 Credits")); - ItemList.Coin_Gold_Ancient.set( - addItem( - ID_MetaItem_01.Coin_Gold_Ancient.ID, - "Ancient Gold Coin", - "Found in ancient Ruins", - new ItemData(Materials.Gold, 907200L), - new TC_Aspects.TC_AspectStack(TC_Aspects.LUCRUM, 8L))); - ItemList.Coin_Doge.set( - addItem( - ID_MetaItem_01.Coin_Doge.ID, - "Doge Coin", - "wow much coin how money so crypto plz mine v rich very currency wow", - new ItemData(Materials.Brass, 907200L), - new TC_Aspects.TC_AspectStack(TC_Aspects.LUCRUM, 1L))); - ItemList.Coin_Chocolate.set( - addItem( - ID_MetaItem_01.Coin_Chocolate.ID, - "Chocolate Coin", - "Wrapped in Gold", - new ItemData(Materials.Gold, OrePrefixes.foil.mMaterialAmount), - new GT_FoodStat( - 1, - 0.1F, - EnumAction.eat, - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gold, 1L), - true, - false, - false, - Potion.moveSpeed.id, - 200, - 1, - 100))); - ItemList.Credit_Copper - .set(addItem(ID_MetaItem_01.Credit_Copper.ID, "Industrial Copper Credit", "0.125 Credits")); - - ItemList.Credit_Silver.set( - addItem( - ID_MetaItem_01.Credit_Silver.ID, - "Industrial Silver Credit", - "8 Credits", - new TC_Aspects.TC_AspectStack(TC_Aspects.LUCRUM, 1L))); - ItemList.Credit_Gold.set(addItem(ID_MetaItem_01.Credit_Gold.ID, "Industrial Gold Credit", "64 Credits")); - ItemList.Credit_Platinum - .set(addItem(ID_MetaItem_01.Credit_Platinum.ID, "Industrial Platinum Credit", "512 Credits")); - ItemList.Credit_Osmium - .set(addItem(ID_MetaItem_01.Credit_Osmium.ID, "Industrial Osmium Credit", "4096 Credits")); - - ItemList.Component_Minecart_Wheels_Iron.set( - addItem( - Component_Minecraft_Wheels_Iron.ID, - "Iron Minecart Wheels", - "To get things rolling", - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L))); - ItemList.Component_Minecart_Wheels_Steel.set( - addItem( - Component_Minecraft_Wheels_Steel.ID, - "Steel Minecart Wheels", - "To get things rolling", - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L))); - - GT_ModHandler.addCraftingRecipe( - ItemList.Component_Minecart_Wheels_Iron.get(1L), - GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { " h ", "RSR", " w ", 'R', OrePrefixes.ring.get(Materials.AnyIron), 'S', - OrePrefixes.stick.get(Materials.AnyIron) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Component_Minecart_Wheels_Steel.get(1L), - GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { " h ", "RSR", " w ", 'R', OrePrefixes.ring.get(Materials.Steel), 'S', - OrePrefixes.stick.get(Materials.Steel) }); - - ItemList.CompressedFireclay.set(addItem(Compressed_Fireclay.ID, "Compressed Fireclay", "Brick-shaped")); - GT_OreDictUnificator.addItemDataFromInputs(ItemList.CompressedFireclay.get(1), Materials.Fireclay.getDust(1)); - - ItemList.Firebrick.set(addItem(Firebrick.ID, "Firebrick", "Heat resistant")); - GT_OreDictUnificator.addItemDataFromInputs(ItemList.Firebrick.get(1), Materials.Fireclay.getDust(1)); - - ItemList.Shape_Empty.set( - addItem( - Shape_Empty.ID, - "Empty Shape Plate", - "Raw Plate to make Molds and Extruder Shapes", - new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L))); - - ItemList.Shape_Mold_Plate.set(addItem(Shape_Mold_Plate.ID, "Mold (Plate)", "Mold for making Plates")); - ItemList.Shape_Mold_Casing.set(addItem(Shape_Mold_Casing.ID, "Mold (Casing)", "Mold for making Item Casings")); - ItemList.Shape_Mold_Gear.set(addItem(Shape_Mold_Gear.ID, "Mold (Gear)", "Mold for making Gears")); - ItemList.Shape_Mold_Credit - .set(addItem(Shape_Mold_Credit.ID, "Mold (Coinage)", "Secure Mold for making Coins (Don't lose it!)")); - ItemList.Shape_Mold_Bottle.set(addItem(Shape_Mold_Bottle.ID, "Mold (Bottle)", "Mold for making Bottles")); - ItemList.Shape_Mold_Ingot.set(addItem(Shape_Mold_Ingot.ID, "Mold (Ingot)", "Mold for making Ingots")); - ItemList.Shape_Mold_Ball.set(addItem(Shape_Mold_Ball.ID, "Mold (Ball)", "Mold for making Balls")); - ItemList.Shape_Mold_Block.set(addItem(Shape_Mold_Block.ID, "Mold (Block)", "Mold for making Blocks")); - ItemList.Shape_Mold_Nugget.set(addItem(Shape_Mold_Nugget.ID, "Mold (Nuggets)", "Mold for making Nuggets")); - ItemList.Shape_Mold_Bun.set(addItem(Shape_Mold_Bun.ID, "Mold (Buns)", "Mold for shaping Buns")); - ItemList.Shape_Mold_Bread.set(addItem(Shape_Mold_Bread.ID, "Mold (Bread)", "Mold for shaping Breads")); - ItemList.Shape_Mold_Baguette - .set(addItem(Shape_Mold_Baguette.ID, "Mold (Baguette)", "Mold for shaping Baguettes")); - ItemList.Shape_Mold_Cylinder - .set(addItem(Shape_Mold_Cylinder.ID, "Mold (Cylinder)", "Mold for shaping Cylinders")); - ItemList.Shape_Mold_Anvil.set(addItem(Shape_Mold_Anvil.ID, "Mold (Anvil)", "Mold for shaping Anvils")); - ItemList.Shape_Mold_Name - .set(addItem(Shape_Mold_Name.ID, "Mold (Name)", "Mold for naming Items (rename Mold with Anvil)")); - ItemList.Shape_Mold_Arrow.set(addItem(Shape_Mold_Arrow.ID, "Mold (Arrow Head)", "Mold for making Arrow Heads")); - ItemList.Shape_Mold_Gear_Small - .set(addItem(Shape_Mold_Gear_Small.ID, "Mold (Small Gear)", "Mold for making small Gears")); - ItemList.Shape_Mold_Rod.set(addItem(Shape_Mold_Rod.ID, "Mold (Rod)", "Mold for making Rods")); - ItemList.Shape_Mold_Bolt.set(addItem(Shape_Mold_Bolt.ID, "Mold (Bolt)", "Mold for making Bolts")); - ItemList.Shape_Mold_Round.set(addItem(Shape_Mold_Round.ID, "Mold (Round)", "Mold for making Rounds")); - ItemList.Shape_Mold_Screw.set(addItem(Shape_Mold_Screw.ID, "Mold (Screw)", "Mold for making Screws")); - ItemList.Shape_Mold_Ring.set(addItem(Shape_Mold_Ring.ID, "Mold (Ring)", "Mold for making Rings")); - ItemList.Shape_Mold_Rod_Long - .set(addItem(Shape_Mold_Rod_Long.ID, "Mold (Long Rod)", "Mold for making Long Rods")); - ItemList.Shape_Mold_Rotor.set(addItem(Shape_Mold_Rotor.ID, "Mold (Rotor)", "Mold for making a Rotor")); - ItemList.Shape_Mold_Turbine_Blade - .set(addItem(Shape_Mold_Turbine_Blade.ID, "Mold (Turbine Blade)", "Mold for making a Turbine Blade")); - ItemList.Shape_Mold_Pipe_Tiny - .set(addItem(Shape_Mold_Pipe_Tiny.ID, "Mold (Tiny Pipe)", "Mold for making tiny Pipes")); - ItemList.Shape_Mold_Pipe_Small - .set(addItem(Shape_Mold_Pipe_Small.ID, "Mold (Small Pipe)", "Mold for making small Pipes")); - ItemList.Shape_Mold_Pipe_Medium - .set(addItem(Shape_Mold_Pipe_Medium.ID, "Mold (Normal Pipe)", "Mold for making Pipes")); - ItemList.Shape_Mold_Pipe_Large - .set(addItem(Shape_Mold_Pipe_Large.ID, "Mold (Large Pipe)", "Mold for making large Pipes")); - ItemList.Shape_Mold_Pipe_Huge - .set(addItem(Shape_Mold_Pipe_Huge.ID, "Mold (Huge Pipe)", "Mold for making full Block Pipes")); - ItemList.Shape_Mold_ToolHeadDrill - .set(addItem(Shape_Mold_Tool_Head_Drill.ID, "Mold (Drill Head)", "Mold for making Drill Heads")); - - ItemList.Shape_Extruder_Plate - .set(addItem(Shape_Extruder_Plate.ID, "Extruder Shape (Plate)", "Extruder Shape for making Plates")); - ItemList.Shape_Extruder_Rod - .set(addItem(Shape_Extruder_Rod.ID, "Extruder Shape (Rod)", "Extruder Shape for making Rods")); - ItemList.Shape_Extruder_Bolt - .set(addItem(Shape_Extruder_Bolt.ID, "Extruder Shape (Bolt)", "Extruder Shape for making Bolts")); - ItemList.Shape_Extruder_Ring - .set(addItem(Shape_Extruder_Ring.ID, "Extruder Shape (Ring)", "Extruder Shape for making Rings")); - ItemList.Shape_Extruder_Cell - .set(addItem(Shape_Extruder_Cell.ID, "Extruder Shape (Cell)", "Extruder Shape for making Cells")); - ItemList.Shape_Extruder_Ingot.set( - addItem( - Shape_Extruder_Ingot.ID, - "Extruder Shape (Ingot)", - "Extruder Shape for, wait, can't we just use a Furnace?")); - ItemList.Shape_Extruder_Wire - .set(addItem(Shape_Extruder_Wire.ID, "Extruder Shape (Wire)", "Extruder Shape for making Wires")); - ItemList.Shape_Extruder_Casing.set( - addItem(Shape_Extruder_Casing.ID, "Extruder Shape (Casing)", "Extruder Shape for making Item Casings")); - ItemList.Shape_Extruder_Pipe_Tiny.set( - addItem(Shape_Extruder_Pipe_Tiny.ID, "Extruder Shape (Tiny Pipe)", "Extruder Shape for making tiny Pipes")); - ItemList.Shape_Extruder_Pipe_Small.set( - addItem( - Shape_Extruder_Pipe_Small.ID, - "Extruder Shape (Small Pipe)", - "Extruder Shape for making small Pipes")); - ItemList.Shape_Extruder_Pipe_Medium.set( - addItem(Shape_Extruder_Pipe_Medium.ID, "Extruder Shape (Normal Pipe)", "Extruder Shape for making Pipes")); - ItemList.Shape_Extruder_Pipe_Large.set( - addItem( - Shape_Extruder_Pipe_Large.ID, - "Extruder Shape (Large Pipe)", - "Extruder Shape for making large Pipes")); - ItemList.Shape_Extruder_Pipe_Huge.set( - addItem( - Shape_Extruder_Pipe_Huge.ID, - "Extruder Shape (Huge Pipe)", - "Extruder Shape for making full Block Pipes")); - ItemList.Shape_Extruder_Block - .set(addItem(Shape_Extruder_Block.ID, "Extruder Shape (Block)", "Extruder Shape for making Blocks")); - ItemList.Shape_Extruder_Sword - .set(addItem(Shape_Extruder_Sword.ID, "Extruder Shape (Sword Blade)", "Extruder Shape for making Swords")); - ItemList.Shape_Extruder_Pickaxe.set( - addItem(Shape_Extruder_Pickaxe.ID, "Extruder Shape (Pickaxe Head)", "Extruder Shape for making Pickaxes")); - ItemList.Shape_Extruder_Shovel.set( - addItem(Shape_Extruder_Shovel.ID, "Extruder Shape (Shovel Head)", "Extruder Shape for making Shovels")); - ItemList.Shape_Extruder_Axe - .set(addItem(Shape_Extruder_Axe.ID, "Extruder Shape (Axe Head)", "Extruder Shape for making Axes")); - ItemList.Shape_Extruder_Hoe - .set(addItem(Shape_Extruder_Hoe.ID, "Extruder Shape (Hoe Head)", "Extruder Shape for making Hoes")); - ItemList.Shape_Extruder_Hammer.set( - addItem(Shape_Extruder_Hammer.ID, "Extruder Shape (Hammer Head)", "Extruder Shape for making Hammers")); - ItemList.Shape_Extruder_File - .set(addItem(Shape_Extruder_File.ID, "Extruder Shape (File Head)", "Extruder Shape for making Files")); - ItemList.Shape_Extruder_Saw - .set(addItem(Shape_Extruder_Saw.ID, "Extruder Shape (Saw Blade)", "Extruder Shape for making Saws")); - ItemList.Shape_Extruder_Gear - .set(addItem(Shape_Extruder_Gear.ID, "Extruder Shape (Gear)", "Extruder Shape for making Gears")); - ItemList.Shape_Extruder_Bottle - .set(addItem(Shape_Extruder_Bottle.ID, "Extruder Shape (Bottle)", "Extruder Shape for making Bottles")); - ItemList.Shape_Extruder_Rotor - .set(addItem(Shape_Extruder_Rotor.ID, "Extruder Shape (Rotor)", "Extruder Shape for a Rotor")); - ItemList.Shape_Extruder_Small_Gear.set( - addItem(Shape_Extruder_Small_Gear.ID, "Extruder Shape (Small Gear)", "Extruder Shape for a Small Gear")); - ItemList.Shape_Extruder_Turbine_Blade.set( - addItem( - Shape_Extruder_Turbine_Blade.ID, - "Extruder Shape (Turbine Blade)", - "Extruder Shape for a Turbine Blade")); - ItemList.Shape_Extruder_ToolHeadDrill.set( - addItem( - Shape_Extruder_Tool_Head_Drill.ID, - "Extruder Shape (Drill Head)", - "Extruder Shape for a Drill Head")); - - ItemList.Shape_Slicer_Flat - .set(addItem(Shape_Slicer_Flat.ID, "Slicer Blade (Flat)", "Slicer Blade for cutting Flat")); - ItemList.Shape_Slicer_Stripes - .set(addItem(Shape_Slicer_Stripes.ID, "Slicer Blade (Stripes)", "Slicer Blade for cutting Stripes")); - - ItemList.Fuel_Can_Plastic_Empty.set( - addItem( - Fuel_Can_Plastic_Empty.ID, - "Empty Plastic Fuel Can", - "Used to store Fuels", - new ItemData(Materials.Plastic, OrePrefixes.plate.mMaterialAmount * 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 1L))); - ItemList.Fuel_Can_Plastic_Filled.set( - addItem( - Fuel_Can_Plastic_Filled.ID, - "Plastic Fuel Can", - "Burns well in Diesel Generators", - new ItemData(Materials.Plastic, OrePrefixes.plate.mMaterialAmount * 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 1L))); - - ItemList.Spray_Empty.set( - addItem( - Spray_Empty.ID, - "Empty Spray Can", - "Used for making Sprays", - new ItemData( - Materials.Tin, - OrePrefixes.plate.mMaterialAmount * 2L, - Materials.Redstone, - OrePrefixes.dust.mMaterialAmount), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 1L))); - - ItemList.Crate_Empty.set( - addItem( - Crate_Empty.ID, - "Empty Crate", - "To Package lots of Material", - new ItemData(Materials.Wood, 3628800L, Materials.Iron, OrePrefixes.screw.mMaterialAmount), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 2L))); - - ItemList.ThermosCan_Empty.set( - addItem( - Thermos_Can_Empty.ID, - "Empty Thermos Can", - "Keeping hot things hot and cold things cold", - new ItemData( - Materials.Aluminium, - OrePrefixes.plateDouble.mMaterialAmount * 1L + 2L * OrePrefixes.ring.mMaterialAmount), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.GELUM, 1L))); - - ItemList.Large_Fluid_Cell_Steel.set( - addItem( - Large_Fluid_Cell_Steel.ID, - "Large Steel Fluid Cell", - "", - new ItemData( - Materials.Steel, - OrePrefixes.plateDouble.mMaterialAmount * 4L, - new MaterialStack(Materials.Bronze, OrePrefixes.ring.mMaterialAmount * 4L)), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 2L))); - - ItemList.Large_Fluid_Cell_TungstenSteel.set( - addItem( - Large_Fluid_Cell_TungstenSteel.ID, - "Large Tungstensteel Fluid Cell", - "", - new ItemData( - Materials.TungstenSteel, - OrePrefixes.plateDouble.mMaterialAmount * 4L, - new MaterialStack(Materials.Platinum, OrePrefixes.ring.mMaterialAmount * 4L)), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 9L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 7L))); - - ItemList.Large_Fluid_Cell_Aluminium.set( - addItem( - Large_Fluid_Cell_Aluminium.ID, - "Large Aluminium Fluid Cell", - "", - new ItemData( - Materials.Aluminium, - OrePrefixes.plateDouble.mMaterialAmount * 4L, - new MaterialStack(Materials.Silver, OrePrefixes.ring.mMaterialAmount * 4L)), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 5L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 3L))); - - ItemList.Large_Fluid_Cell_StainlessSteel.set( - addItem( - Large_Fluid_Cell_StainlessSteel.ID, - "Large Stainless Steel Fluid Cell", - "", - new ItemData( - Materials.StainlessSteel, - OrePrefixes.plateDouble.mMaterialAmount * 4L, - new MaterialStack(Materials.Electrum, OrePrefixes.ring.mMaterialAmount * 4L)), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 6L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 4L))); - - ItemList.Large_Fluid_Cell_Titanium.set( - addItem( - Large_Fluid_Cell_Titanium.ID, - "Large Titanium Fluid Cell", - "", - new ItemData( - Materials.Titanium, - OrePrefixes.plateDouble.mMaterialAmount * 4L, - new MaterialStack(Materials.RoseGold, OrePrefixes.ring.mMaterialAmount * 4L)), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 7L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 5L))); - - ItemList.Large_Fluid_Cell_Chrome.set( - addItem( - Large_Fluid_Cell_Chrome.ID, - "Large Chrome Fluid Cell", - "", - new ItemData( - Materials.Chrome, - OrePrefixes.plateDouble.mMaterialAmount * 4L, - new MaterialStack(Materials.Palladium, OrePrefixes.ring.mMaterialAmount * 4L)), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 6L))); - - ItemList.Large_Fluid_Cell_Iridium.set( - addItem( - Large_Fluid_Cell_Iridium.ID, - "Large Iridium Fluid Cell", - "", - new ItemData( - Materials.Iridium, - OrePrefixes.plateDouble.mMaterialAmount * 4L, - new MaterialStack(Materials.Naquadah, OrePrefixes.ring.mMaterialAmount * 4L)), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 10L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 8L))); - - ItemList.Large_Fluid_Cell_Osmium.set( - addItem( - Large_Fluid_Cell_Osmium.ID, - "Large Osmium Fluid Cell", - "", - new ItemData( - Materials.Osmium, - OrePrefixes.plateDouble.mMaterialAmount * 4L, - new MaterialStack(Materials.ElectrumFlux, OrePrefixes.ring.mMaterialAmount * 4L)), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 11L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 9L))); - - ItemList.Large_Fluid_Cell_Neutronium.set( - addItem( - Large_Fluid_Cell_Neutronium.ID, - "Large Neutronium Fluid Cell", - "", - new ItemData( - Materials.Neutronium, - OrePrefixes.plateDouble.mMaterialAmount * 4L, - new MaterialStack(Materials.Draconium, OrePrefixes.ring.mMaterialAmount * 4L)), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 12L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 10L))); - - for (byte i = 0; i < 16; i = (byte) (i + 1)) { - ItemList.SPRAY_CAN_DYES[i].set( - addItem( - Spray_Colors[i], - "Spray Can (" + Dyes.get(i).mName + ")", - "Full", - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 4L))); - ItemList.SPRAY_CAN_DYES_USED[i].set( - addItem( - Spray_Colors_Used[i], - "Spray Can (" + Dyes.get(i).mName + ")", - "Used", - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 3L), - SubTag.INVISIBLE)); - } - - ItemList.Spray_Color_Remover.set( - addItem( - Spray_Color_Remover.ID, - "Spray Can Solvent", - "Full", - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.PERDITIO, 8L))); - ItemList.Spray_Color_Used_Remover.set( - addItem( - Spray_Color_Used_Remover.ID, - "Spray Can Solvent", - "Used", - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 3L), - new TC_Aspects.TC_AspectStack(TC_Aspects.PERDITIO, 6L), - SubTag.INVISIBLE)); - - ItemList.Spray_Color_Remover_Empty.set( - addItem( - Spray_Color_Remover_Empty.ID, - "Empty Spray Can Solvent Cannister", - "Used for making Spray Can Solvent", - new ItemData( - Materials.Aluminium, - OrePrefixes.plateDouble.mMaterialAmount * 4L, - Materials.Redstone, - OrePrefixes.dust.mMaterialAmount), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 1L))); - - ItemList.Tool_Matches.set( - addItem( - Tool_Matches.ID, - "Match", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 1L))); - - ItemList.Tool_MatchBox_Used.set( - addItem( - Tool_MatchBox_Used.ID, - "Match Box", - "This is not a Car", - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 1L), - SubTag.INVISIBLE)); - - ItemList.Tool_MatchBox_Full.set( - addItem( - Tool_MatchBox_Full.ID, - "Match Box (Full)", - "This is not a Car", - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 2L))); - - ItemList.Tool_Lighter_Invar_Empty.set( - addItem( - Tool_Lighter_Invar_Empty.ID, - "Lighter (Empty)", - "", - new ItemData(Materials.Invar, OrePrefixes.plate.mMaterialAmount * 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 1L))); - ItemList.Tool_Lighter_Invar_Used.set( - addItem( - Tool_Lighter_Invar_Used.ID, - "Lighter", - "", - new ItemData(Materials.Invar, OrePrefixes.plate.mMaterialAmount * 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 1L), - SubTag.INVISIBLE)); - ItemList.Tool_Lighter_Invar_Full.set( - addItem( - Tool_Lighter_Invar_Full.ID, - "Lighter (Full)", - "", - new ItemData(Materials.Invar, OrePrefixes.plate.mMaterialAmount * 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 2L))); - - ItemList.Tool_Lighter_Platinum_Empty.set( - addItem( - Tool_Lighter_Platinum_Empty.ID, - "Platinum Lighter (Empty)", - "A known Prank Master is engraved on it", - new ItemData(Materials.Platinum, OrePrefixes.plate.mMaterialAmount * 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.NEBRISUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 1L))); - ItemList.Tool_Lighter_Platinum_Used.set( - addItem( - Tool_Lighter_Platinum_Used.ID, - "Platinum Lighter", - "A known Prank Master is engraved on it", - new ItemData(Materials.Platinum, OrePrefixes.plate.mMaterialAmount * 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.NEBRISUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 1L), - SubTag.INVISIBLE)); - ItemList.Tool_Lighter_Platinum_Full.set( - addItem( - Tool_Lighter_Platinum_Full.ID, - "Platinum Lighter (Full)", - "A known Prank Master is engraved on it", - new ItemData(Materials.Platinum, OrePrefixes.plate.mMaterialAmount * 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.NEBRISUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 2L))); - - ItemList.Ingot_Heavy1 - .set(addItem(Ingot_Heavy1.ID, "Heavy Duty Alloy Ingot T1", "Used to make Heavy Duty Plates T1")); - ItemList.Ingot_Heavy2 - .set(addItem(Ingot_Heavy2.ID, "Heavy Duty Alloy Ingot T2", "Used to make Heavy Duty Plates T2")); - ItemList.Ingot_Heavy3 - .set(addItem(Ingot_Heavy3.ID, "Heavy Duty Alloy Ingot T3", "Used to make Heavy Duty Plates T3")); - - ItemList.Ingot_IridiumAlloy.set( - addItem( - Ingot_Iridium_Alloy.ID, - "Iridium Alloy Ingot", - "Used to make Iridium Plates", - new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L))); - - ItemList.Paper_Printed_Pages.set( - addItem( - Paper_Printed_Pages.ID, - "Printed Pages", - "Used to make written Books", - new ItemData(Materials.Paper, 10886400L), - new Behaviour_PrintedPages(), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 2L))); - ItemList.Paper_Magic_Empty.set( - addItem( - Paper_Magic_Empty.ID, - "Magic Paper", - "", - SubTag.INVISIBLE, - new ItemData(Materials.Paper, 3628800L), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.PRAECANTATIO, 1L))); - ItemList.Paper_Magic_Page.set( - addItem( - Paper_Magic_Page.ID, - "Enchanted Page", - "", - SubTag.INVISIBLE, - new ItemData(Materials.Paper, 3628800L), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.PRAECANTATIO, 2L))); - ItemList.Paper_Magic_Pages.set( - addItem( - Paper_Magic_Pages.ID, - "Enchanted Pages", - "", - SubTag.INVISIBLE, - new ItemData(Materials.Paper, 10886400L), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.PRAECANTATIO, 4L))); - ItemList.Paper_Punch_Card_Empty.set( - addItem( - Paper_Punch_Card_Empty.ID, - "Punch Card", - "", - SubTag.INVISIBLE, - new ItemData(Materials.Paper, 7257600L), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 1L))); - ItemList.Paper_Punch_Card_Encoded.set( - addItem( - Paper_Punch_Card_Encoded.ID, - "Punched Card", - "", - SubTag.INVISIBLE, - new ItemData(Materials.Paper, 7257600L), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 2L))); - ItemList.Book_Written_01.set( - addItem( - Book_Written_01.ID, - "Book", - "", - new ItemData(Materials.Paper, 10886400L), - "bookWritten", - OreDictNames.craftingBook, - new Behaviour_WrittenBook(), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 2L))); - ItemList.Book_Written_02.set( - addItem( - Book_Written_02.ID, - "Book", - "", - new ItemData(Materials.Paper, 10886400L), - "bookWritten", - OreDictNames.craftingBook, - new Behaviour_WrittenBook(), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 2L))); - ItemList.Book_Written_03.set( - addItem( - Book_Written_03.ID, - "Book", - "", - new ItemData(Materials.Paper, 10886400L), - "bookWritten", - OreDictNames.craftingBook, - new Behaviour_WrittenBook(), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 2L))); - - ItemList.Schematic.set( - addItem( - Schematic.ID, - "Schematic", - "EMPTY", - new ItemData(Materials.Steel, 7257600L), - new TC_Aspects.TC_AspectStack(TC_Aspects.STRONTIO, 1L))); - ItemList.Schematic_Crafting.set( - addItem( - Schematic_Crafting.ID, - "Schematic (Crafting)", - "Crafts the Programmed Recipe", - new ItemData(Materials.Steel, 7257600L), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 1L))); - ItemList.Schematic_1by1.set( - addItem( - Schematic_1by1.ID, - "Schematic (1x1)", - "Crafts 1 Items as 1x1 (use in Packager)", - new ItemData(Materials.Steel, 7257600L), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 1L))); - ItemList.Schematic_2by2.set( - addItem( - Schematic_2by2.ID, - "Schematic (2x2)", - "Crafts 4 Items as 2x2 (use in Packager)", - new ItemData(Materials.Steel, 7257600L), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 1L))); - ItemList.Schematic_3by3.set( - addItem( - Schematic_3by3.ID, - "Schematic (3x3)", - "Crafts 9 Items as 3x3 (use in Packager)", - new ItemData(Materials.Steel, 7257600L), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 1L))); - ItemList.Schematic_Dust.set( - addItem( - Schematic_Dust.ID, - "Schematic (Dusts)", - "Combines Dusts (use in Packager)", - new ItemData(Materials.Steel, 7257600L), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 1L))); - - ItemList.Battery_Hull_LV.set( - addItem( - Battery_Hull_LV.ID, - "Small Battery Hull", - "An empty LV Battery Hull", - new ItemData(Materials.BatteryAlloy, OrePrefixes.plate.mMaterialAmount * 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 1L))); - ItemList.Battery_Hull_MV.set( - addItem( - Battery_Hull_MV.ID, - "Medium Battery Hull", - "An empty MV Battery Hull", - new ItemData(Materials.BatteryAlloy, OrePrefixes.plate.mMaterialAmount * 3L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 1L))); - ItemList.Battery_Hull_HV.set( - addItem( - Battery_Hull_HV.ID, - "Large Battery Hull", - "An empty HV Battery Hull", - new ItemData(Materials.BatteryAlloy, OrePrefixes.plate.mMaterialAmount * 9L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 1L))); - - // ULV Batteries - ItemList.Battery_RE_ULV_Tantalum.set( - addItem( - Battery_RE_ULV_Tantalum.ID, - "Tantalum Capacitor", - "Reusable", - "batteryULV", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 1L))); - - // LV Batteries - ItemList.Battery_SU_LV_SulfuricAcid.set( - addItem( - Battery_SU_LV_Sulfuric_Acid.ID, - "Small Acid Battery", - "Single Use", - "batteryLV", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 2L))); - - ItemList.Battery_SU_LV_Mercury.set( - addItem( - Battery_SU_LV_Mercury.ID, - "Small Mercury Battery", - "Single Use", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 2L))); - - ItemList.Battery_RE_LV_Cadmium.set( - addItem( - Battery_RE_LV_Cadmium.ID, - "Small Cadmium Battery", - "Reusable", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 1L), - "batteryLV")); - - ItemList.Battery_RE_LV_Lithium.set( - addItem( - Battery_RE_LV_Lithium.ID, - "Small Lithium Battery", - "Reusable", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 1L), - "batteryLV")); - - ItemList.Battery_RE_LV_Sodium.set( - addItem( - Battery_RE_LV_Sodium.ID, - "Small Sodium Battery", - "Reusable", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 1L), - "batteryLV")); - - // MV Batteries - ItemList.Battery_SU_MV_SulfuricAcid.set( - addItem( - Battery_SU_MV_Sulfuric_Acid.ID, - "Medium Acid Battery", - "Single Use", - "batteryMV", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 4L))); - - ItemList.Battery_SU_MV_Mercury.set( - addItem( - Battery_SU_MV_Mercury.ID, - "Medium Mercury Battery", - "Single Use", - "batteryMV", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 4L))); - - ItemList.Battery_RE_MV_Cadmium.set( - addItem( - Battery_RE_MV_Cadmium.ID, - "Medium Cadmium Battery", - "Reusable", - "batteryMV", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 2L))); - - ItemList.Battery_RE_MV_Lithium.set( - addItem( - Battery_RE_MV_Lithium.ID, - "Medium Lithium Battery", - "Reusable", - "batteryMV", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 2L))); - - ItemList.Battery_RE_MV_Sodium.set( - addItem( - Battery_RE_MV_Sodium.ID, - "Medium Sodium Battery", - "Reusable", - "batteryMV", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 2L))); - - // HV Batteries - ItemList.Battery_SU_HV_SulfuricAcid.set( - addItem( - Battery_SU_HV_Sulfuric_Acid.ID, - "Large Acid Battery", - "Single Use", - "batteryHV", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 8L))); - - ItemList.Battery_SU_HV_Mercury.set( - addItem( - Battery_SU_HV_Mercury.ID, - "Large Mercury Battery", - "Single Use", - "batteryHV", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 8L))); - - ItemList.Battery_RE_HV_Cadmium.set( - addItem( - Battery_RE_HV_Cadmium.ID, - "Large Cadmium Battery", - "Reusable", - "batteryHV", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 4L))); - - ItemList.Battery_RE_HV_Lithium.set( - addItem( - Battery_RE_HV_Lithium.ID, - "Large Lithium Battery", - "Reusable", - "batteryHV", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 4L))); - - ItemList.Battery_RE_HV_Sodium.set( - addItem( - Battery_RE_HV_Sodium.ID, - "Large Sodium Battery", - "Reusable", - "batteryHV", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 4L))); - - // IV Battery - ItemList.Energy_LapotronicOrb.set( - addItem( - Energy_Lapotronic_Orb.ID, - "Lapotronic Energy Orb", - "Reusable battery", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 16L), - OrePrefixes.battery.get(Materials.IV))); - - // ZPM Module - ItemList.ZPM.set( - addItem( - ID_MetaItem_01.ZPM.ID, - "Zero Point Module", - "Single use battery", - "batteryZPM", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 64L))); - - // LuV Lapotron orb cluster battery - ItemList.Energy_LapotronicOrb2.set( - addItem( - Energy_Lapotronic_orb_2.ID, - "Lapotronic Energy Orb Cluster", - "Reusable battery", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 16L), - OrePrefixes.battery.get(Materials.LuV))); - - // UV Battery - ItemList.ZPM2.set( - addItem( - ZPM2.ID, - "Ultimate Battery", - "Fill this to win minecraft", - "batteryUV", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 64L))); - - // UMV Battery - ItemList.ZPM3.set( - addItem( - ZPM3.ID, - "Really Ultimate Battery", - "Fill this to be way older", - "batteryUMV", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 64L))); - - // UXV Battery - ItemList.ZPM4.set( - addItem( - ZPM4.ID, - "Extremely Ultimate Battery", - "Fill this to be older", - "batteryUXV", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 64L))); - - // MAX Battery - ItemList.ZPM5.set( - addItem( - ZPM5.ID, - "Insanely Ultimate Battery", - "Fill this for fun", - "batteryMAX", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 64L))); - - // ERROR Battery - ItemList.ZPM6.set( - addItem( - ZPM6.ID, - "Mega Ultimate Battery", - "Fill the capacitor to reach enlightenment", - "batteryERV", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 64L))); - - // ZPM Cluster - ItemList.Energy_Module.set( - addItem( - Energy_Module.ID, - "Energy Module", - "Reusable battery", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 16L), - OrePrefixes.battery.get(Materials.ZPM))); - - // UV Cluster - ItemList.Energy_Cluster.set( - addItem( - Energy_Cluster.ID, - "Energy Cluster", - "Reusable battery", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 64L), - OrePrefixes.battery.get(Materials.UV))); - - // UIV, UMV, UXV and MAX component textures backported from gregicality. - ItemList.Electric_Motor_LV.set( - addItem( - Electric_Motor_LV.ID, - "Electric Motor (LV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 1L))); - ItemList.Electric_Motor_MV.set( - addItem( - Electric_Motor_MV.ID, - "Electric Motor (MV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 2L))); - ItemList.Electric_Motor_HV.set( - addItem( - Electric_Motor_HV.ID, - "Electric Motor (HV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 4L))); - ItemList.Electric_Motor_EV.set( - addItem( - Electric_Motor_EV.ID, - "Electric Motor (EV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 8L))); - ItemList.Electric_Motor_IV.set( - addItem( - Electric_Motor_IV.ID, - "Electric Motor (IV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 16L))); - ItemList.Electric_Motor_LuV.set( - addItem( - Electric_Motor_LuV.ID, - "Electric Motor (LuV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 32L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 32L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 32L))); - ItemList.Electric_Motor_ZPM.set( - addItem( - Electric_Motor_ZPM.ID, - "Electric Motor (ZPM)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 64L))); - ItemList.Electric_Motor_UV.set( - addItem( - Electric_Motor_UV.ID, - "Electric Motor (UV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 128L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 128L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 128L))); - ItemList.Electric_Motor_UHV.set( - addItem( - Electric_Motor_UHV.ID, - "Electric Motor (UHV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 256L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 256L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 256L))); - ItemList.Electric_Motor_UEV.set( - addItem( - Electric_Motor_UEV.ID, - "Electric Motor (UEV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 512L))); - ItemList.Electric_Motor_UIV.set( - addItem( - Electric_Motor_UIV.ID, - "Electric Motor (UIV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 512L))); - ItemList.Electric_Motor_UMV.set( - addItem( - Electric_Motor_UMV.ID, - "Electric Motor (UMV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 512L))); - ItemList.Electric_Motor_UXV.set( - addItem( - Electric_Motor_UXV.ID, - "Electric Motor (UXV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 512L))); - ItemList.Electric_Motor_MAX.set( - addItem( - Electric_Motor_MAX.ID, - "Electric Motor (MAX)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 512L))); - - GT_ModHandler.addCraftingRecipe( - ItemList.Electric_Motor_LV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.IronMagnetic), 'R', - OrePrefixes.stick.get(Materials.AnyIron), 'W', OrePrefixes.wireGt01.get(Materials.AnyCopper), 'C', - OrePrefixes.cableGt01.get(Materials.Tin) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Electric_Motor_LV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.SteelMagnetic), 'R', - OrePrefixes.stick.get(Materials.Steel), 'W', OrePrefixes.wireGt01.get(Materials.AnyCopper), 'C', - OrePrefixes.cableGt01.get(Materials.Tin) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Electric_Motor_MV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.SteelMagnetic), 'R', - OrePrefixes.stick.get(Materials.Aluminium), 'W', OrePrefixes.wireGt02.get(Materials.Cupronickel), 'C', - OrePrefixes.cableGt01.get(Materials.AnyCopper) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Electric_Motor_HV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.SteelMagnetic), 'R', - OrePrefixes.stick.get(Materials.StainlessSteel), 'W', OrePrefixes.wireGt04.get(Materials.Electrum), 'C', - OrePrefixes.cableGt02.get(Materials.Silver) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Electric_Motor_EV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.NeodymiumMagnetic), 'R', - OrePrefixes.stick.get(Materials.Titanium), 'W', OrePrefixes.wireGt04.get(Materials.BlackSteel), 'C', - OrePrefixes.cableGt02.get(Materials.Aluminium) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Electric_Motor_IV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.NeodymiumMagnetic), 'R', - OrePrefixes.stick.get(Materials.TungstenSteel), 'W', OrePrefixes.wireGt04.get(Materials.Graphene), 'C', - OrePrefixes.cableGt02.get(Materials.Tungsten) }); - - ItemList.ElectronicsLump.set( - addItem( - 414, - "Lump of Electronics", - "How did they even produce this?", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 1L))); - - ItemList.Tesseract.set( - addItem( - Tesseract.ID, - "Raw Tesseract", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 1L))); - ItemList.GigaChad.set( - addItem( - GigaChad.ID, - "Giga Chad Token", - "You are worthy", - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 1000L))); - ItemList.EnergisedTesseract.set( - addItem( - EnergisedTesseract.ID, - "Energised Tesseract", - "Higher dimensional engineering", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 10L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 1L))); - - ItemList.Electric_Piston_LV.set( - addItem( - Electric_Piston_LV.ID, - "Electric Piston (LV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 1L))); - ItemList.Electric_Piston_MV.set( - addItem( - Electric_Piston_MV.ID, - "Electric Piston (MV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 2L))); - ItemList.Electric_Piston_HV.set( - addItem( - Electric_Piston_HV.ID, - "Electric Piston (HV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 4L))); - ItemList.Electric_Piston_EV.set( - addItem( - Electric_Piston_EV.ID, - "Electric Piston (EV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 8L))); - ItemList.Electric_Piston_IV.set( - addItem( - Electric_Piston_IV.ID, - "Electric Piston (IV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 32L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 16L))); - ItemList.Electric_Piston_LuV.set( - addItem( - Electric_Piston_LuV.ID, - "Electric Piston (LuV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 32L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 32L))); - ItemList.Electric_Piston_ZPM.set( - addItem( - Electric_Piston_ZPM.ID, - "Electric Piston (ZPM)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 64L))); - ItemList.Electric_Piston_UV.set( - addItem( - Electric_Piston_UV.ID, - "Electric Piston (UV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 128L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 128L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 128L))); - ItemList.Electric_Piston_UHV.set( - addItem( - Electric_Piston_UHV.ID, - "Electric Piston (UHV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 256L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 256L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 256L))); - ItemList.Electric_Piston_UEV.set( - addItem( - Electric_Piston_UEV.ID, - "Electric Piston (UEV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 512L))); - ItemList.Electric_Piston_UIV.set( - addItem( - Electric_Piston_UIV.ID, - "Electric Piston (UIV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 512L))); - ItemList.Electric_Piston_UMV.set( - addItem( - Electric_Piston_UMV.ID, - "Electric Piston (UMV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 512L))); - ItemList.Electric_Piston_UXV.set( - addItem( - Electric_Piston_UXV.ID, - "Electric Piston (UXV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 512L))); - ItemList.Electric_Piston_MAX.set( - addItem( - Electric_Piston_MAX.ID, - "Electric Piston (MAX)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 512L))); - - ItemList.Electric_Pump_LV.set( - addItem( - Electric_Pump_LV.ID, - "Electric Pump (LV)", - GT_Utility.formatNumbers(32) + PartCoverText + GT_Utility.formatNumbers(32 * 20) + PartCoverText2, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L))); - ItemList.Electric_Pump_MV.set( - addItem( - Electric_Pump_MV.ID, - "Electric Pump (MV)", - GT_Utility.formatNumbers(128) + PartCoverText + GT_Utility.formatNumbers(128 * 20) + PartCoverText2, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 2L))); - ItemList.Electric_Pump_HV.set( - addItem( - Electric_Pump_HV.ID, - "Electric Pump (HV)", - GT_Utility.formatNumbers(512) + PartCoverText + GT_Utility.formatNumbers(512 * 20) + PartCoverText2, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 4L))); - ItemList.Electric_Pump_EV.set( - addItem( - Electric_Pump_EV.ID, - "Electric Pump (EV)", - GT_Utility.formatNumbers(2048) + PartCoverText + GT_Utility.formatNumbers(2048 * 20) + PartCoverText2, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 8L))); - ItemList.Electric_Pump_IV.set( - addItem( - Electric_Pump_IV.ID, - "Electric Pump (IV)", - GT_Utility.formatNumbers(8192) + PartCoverText + GT_Utility.formatNumbers(8192 * 20) + PartCoverText2, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 16L))); - ItemList.Electric_Pump_LuV.set( - addItem( - Electric_Pump_LuV.ID, - "Electric Pump (LuV)", - GT_Utility.formatNumbers(32768) + PartCoverText + GT_Utility.formatNumbers(32768 * 20) + PartCoverText2, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 32L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 32L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 32L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 32L))); - ItemList.Electric_Pump_ZPM.set( - addItem( - Electric_Pump_ZPM.ID, - "Electric Pump (ZPM)", - GT_Utility.formatNumbers(131072) + PartCoverText - + GT_Utility.formatNumbers(131072 * 20) - + PartCoverText2, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 64L))); - ItemList.Electric_Pump_UV.set( - addItem( - Electric_Pump_UV.ID, - "Electric Pump (UV)", - GT_Utility.formatNumbers(524288) + PartCoverText - + GT_Utility.formatNumbers(524288 * 20) - + PartCoverText2, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 128L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 128L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 128L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 128L))); - ItemList.Electric_Pump_UHV.set( - addItem( - Electric_Pump_UHV.ID, - "Electric Pump (UHV)", - GT_Utility.formatNumbers(1048576) + PartCoverText - + GT_Utility.formatNumbers(1048576 * 20) - + PartCoverText2, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 256L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 256L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 256L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 256L))); - ItemList.Electric_Pump_UEV.set( - addItem( - Electric_Pump_UEV.ID, - "Electric Pump (UEV)", - GT_Utility.formatNumbers(2097152) + PartCoverText - + GT_Utility.formatNumbers(2097152 * 20) - + PartCoverText2, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 512L))); - ItemList.Electric_Pump_UIV.set( - addItem( - Electric_Pump_UIV.ID, - "Electric Pump (UIV)", - PartNotCoverText, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 512L))); - ItemList.Electric_Pump_UMV.set( - addItem( - Electric_Pump_UMV.ID, - "Electric Pump (UMV)", - PartNotCoverText, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 512L))); - ItemList.Electric_Pump_UXV.set( - addItem( - Electric_Pump_UXV.ID, - "Electric Pump (UXV)", - PartNotCoverText, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 512L))); - ItemList.Electric_Pump_MAX.set( - addItem( - Electric_Pump_MAX.ID, - "Electric Pump (MAX)", - PartNotCoverText, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 512L))); - - ItemList.Steam_Valve_LV.set( - addItem( - Steam_Valve_LV.ID, - "Steam Valve (LV)", - GT_Utility.formatNumbers(1024) + PartCoverText + GT_Utility.formatNumbers(1024 * 20) + PartCoverText2, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L))); - ItemList.Steam_Valve_MV.set( - addItem( - Steam_Valve_MV.ID, - "Steam Valve (MV)", - GT_Utility.formatNumbers(2048) + PartCoverText + GT_Utility.formatNumbers(2048 * 20) + PartCoverText2, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 2L))); - ItemList.Steam_Valve_HV.set( - addItem( - Steam_Valve_HV.ID, - "Steam Valve (HV)", - GT_Utility.formatNumbers(4096) + PartCoverText + GT_Utility.formatNumbers(4096 * 20) + PartCoverText2, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 4L))); - ItemList.Steam_Valve_EV.set( - addItem( - Steam_Valve_EV.ID, - "Steam Valve (EV)", - GT_Utility.formatNumbers(8192) + PartCoverText + GT_Utility.formatNumbers(8192 * 20) + PartCoverText2, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 8L))); - ItemList.Steam_Valve_IV.set( - addItem( - Steam_Valve_IV.ID, - "Steam Valve (IV)", - GT_Utility.formatNumbers(16384) + PartCoverText + GT_Utility.formatNumbers(16384 * 20) + PartCoverText2, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 16L))); - - ItemList.FluidRegulator_LV.set( - addItem(FluidRegulator_LV.ID, "Fluid Regulator (LV)", FRText1 + GT_Utility.formatNumbers(640) + FRText2)); - ItemList.FluidRegulator_MV.set( - addItem(FluidRegulator_MV.ID, "Fluid Regulator (MV)", FRText1 + GT_Utility.formatNumbers(2560) + FRText2)); - ItemList.FluidRegulator_HV.set( - addItem(FluidRegulator_HV.ID, "Fluid Regulator (HV)", FRText1 + GT_Utility.formatNumbers(10240) + FRText2)); - ItemList.FluidRegulator_EV.set( - addItem(FluidRegulator_EV.ID, "Fluid Regulator (EV)", FRText1 + GT_Utility.formatNumbers(40960) + FRText2)); - ItemList.FluidRegulator_IV.set( - addItem( - FluidRegulator_IV.ID, - "Fluid Regulator (IV)", - FRText1 + GT_Utility.formatNumbers(163840) + FRText2)); - ItemList.FluidRegulator_LuV.set( - addItem( - FluidRegulator_LuV.ID, - "Fluid Regulator (LuV)", - FRText1 + GT_Utility.formatNumbers(655360) + FRText2)); - ItemList.FluidRegulator_ZPM.set( - addItem( - FluidRegulator_ZPM.ID, - "Fluid Regulator (ZPM)", - FRText1 + GT_Utility.formatNumbers(2621440) + FRText2)); - ItemList.FluidRegulator_UV.set( - addItem( - FluidRegulator_UV.ID, - "Fluid Regulator (UV)", - FRText1 + GT_Utility.formatNumbers(10485760) + FRText2)); - - ItemList.FluidFilter.set( - addItem(FluidFilter.ID, "Fluid Filter Cover", "Set with Fluid Container to only accept one Fluid Type")); - - ItemList.ItemFilter_Export.set( - addItem( - ItemFilter_Export.ID, - "Filtered Conveyor Cover (Export)", - "Right click with an item to set filter (Only supports Export Mode)")); - - ItemList.ItemFilter_Import.set( - addItem( - ItemFilter_Import.ID, - "Filtered Conveyor Cover (Import)", - "Right click with an item to set filter (Only supports Import Mode)")); - - ItemList.Cover_FluidLimiter - .set(addItem(Cover_FluidLimiter.ID, "Fluid Limiter Cover", "Limits fluid input depending on fill level")); - - ItemList.Conveyor_Module_LV.set( - addItem( - Conveyor_Module_LV.ID, - "Conveyor Module (LV)", - "1 stack every 20 secs (as Cover)", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 1L))); - ItemList.Conveyor_Module_MV.set( - addItem( - Conveyor_Module_MV.ID, - "Conveyor Module (MV)", - "1 stack every 5 secs (as Cover)", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 2L))); - ItemList.Conveyor_Module_HV.set( - addItem( - Conveyor_Module_HV.ID, - "Conveyor Module (HV)", - "1 stack every 1 sec (as Cover)", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 4L))); - ItemList.Conveyor_Module_EV.set( - addItem( - Conveyor_Module_EV.ID, - "Conveyor Module (EV)", - "1 stack every 1/5 sec (as Cover)", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 8L))); - ItemList.Conveyor_Module_IV.set( - addItem( - Conveyor_Module_IV.ID, - "Conveyor Module (IV)", - "1 stack every 1/20 sec (as Cover)", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 16L))); - ItemList.Conveyor_Module_LuV.set( - addItem( - Conveyor_Module_LuV.ID, - "Conveyor Module (LuV)", - "2 stacks every 1/20 sec (as Cover)", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 32L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 32L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 32L))); - ItemList.Conveyor_Module_ZPM.set( - addItem( - Conveyor_Module_ZPM.ID, - "Conveyor Module (ZPM)", - "4 stacks every 1/20 sec (as Cover)", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 64L))); - ItemList.Conveyor_Module_UV.set( - addItem( - Conveyor_Module_UV.ID, - "Conveyor Module (UV)", - "8 stacks every 1/20 sec (as Cover)", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 128L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 128L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 128L))); - ItemList.Conveyor_Module_UHV.set( - addItem( - Conveyor_Module_UHV.ID, - "Conveyor Module (UHV)", - "16 stacks every 1/20 sec (as Cover)", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 256L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 256L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 256L))); - ItemList.Conveyor_Module_UEV.set( - addItem( - Conveyor_Module_UEV.ID, - "Conveyor Module (UEV)", - "32 stacks every 1/20 sec (as Cover)", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 512L))); - ItemList.Conveyor_Module_UIV.set( - addItem( - Conveyor_Module_UIV.ID, - "Conveyor Module (UIV)", - PartNotCoverText, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 512L))); - ItemList.Conveyor_Module_UMV.set( - addItem( - Conveyor_Module_UMV.ID, - "Conveyor Module (UMV)", - PartNotCoverText, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 512L))); - ItemList.Conveyor_Module_UXV.set( - addItem( - Conveyor_Module_UXV.ID, - "Conveyor Module (UXV)", - PartNotCoverText, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 512L))); - ItemList.Conveyor_Module_MAX.set( - addItem( - Conveyor_Module_MAX.ID, - "Conveyor Module (MAX)", - PartNotCoverText, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 512L))); - - ItemList.Robot_Arm_LV.set( - addItem( - Robot_Arm_LV.ID, - "Robot Arm (LV)", - "1 stack every 20 secs (as Cover)/n " + RAText, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 1L))); - ItemList.Robot_Arm_MV.set( - addItem( - Robot_Arm_MV.ID, - "Robot Arm (MV)", - "1 stack every 5 secs (as Cover)/n " + RAText, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 2L))); - ItemList.Robot_Arm_HV.set( - addItem( - Robot_Arm_HV.ID, - "Robot Arm (HV)", - "1 stack every 1 sec (as Cover)/n " + RAText, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 4L))); - ItemList.Robot_Arm_EV.set( - addItem( - Robot_Arm_EV.ID, - "Robot Arm (EV)", - "1 stack every 1/5 sec (as Cover)/n " + RAText, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 8L))); - ItemList.Robot_Arm_IV.set( - addItem( - Robot_Arm_IV.ID, - "Robot Arm (IV)", - "1 stack every 1/20 sec (as Cover)/n " + RAText, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 32L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 16L))); - ItemList.Robot_Arm_LuV.set( - addItem( - Robot_Arm_LuV.ID, - "Robot Arm (LuV)", - PartNotCoverText, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 32L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 32L), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 32L))); - ItemList.Robot_Arm_ZPM.set( - addItem( - Robot_Arm_ZPM.ID, - "Robot Arm (ZPM)", - PartNotCoverText, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 128L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 64L))); - ItemList.Robot_Arm_UV.set( - addItem( - Robot_Arm_UV.ID, - "Robot Arm (UV)", - PartNotCoverText, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 128L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 256L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 128L), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 128L))); - ItemList.Robot_Arm_UHV.set( - addItem( - Robot_Arm_UHV.ID, - "Robot Arm (UHV)", - PartNotCoverText, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 256L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 256L), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 256L))); - ItemList.Robot_Arm_UEV.set( - addItem( - Robot_Arm_UEV.ID, - "Robot Arm (UEV)", - PartNotCoverText, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1024L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 512L))); - ItemList.Robot_Arm_UIV.set( - addItem( - Robot_Arm_UIV.ID, - "Robot Arm (UIV)", - PartNotCoverText, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1024L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 512L))); - ItemList.Robot_Arm_UMV.set( - addItem( - Robot_Arm_UMV.ID, - "Robot Arm (UMV)", - PartNotCoverText, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1024L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 512L))); - ItemList.Robot_Arm_UXV.set( - addItem( - Robot_Arm_UXV.ID, - "Robot Arm (UXV)", - PartNotCoverText, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1024L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 512L))); - ItemList.Robot_Arm_MAX.set( - addItem( - Robot_Arm_MAX.ID, - "Robot Arm (MAX)", - PartNotCoverText, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1024L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 512L))); - - ItemList.QuantumEye.set(addItem(QuantumEye.ID, "Quantum Eye", "Improved Ender Eye")); - ItemList.QuantumStar.set(addItem(QuantumStar.ID, "Quantum Star", "Improved Nether Star")); - ItemList.Gravistar.set(addItem(Gravistar.ID, "Gravi Star", "Ultimate Nether Star")); - - ItemList.Emitter_LV.set( - addItem( - Emitter_LV.ID, - "Emitter (LV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.LUX, 1L))); - ItemList.Emitter_MV.set( - addItem( - Emitter_MV.ID, - "Emitter (MV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.LUX, 2L))); - ItemList.Emitter_HV.set( - addItem( - Emitter_HV.ID, - "Emitter (HV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.LUX, 4L))); - ItemList.Emitter_EV.set( - addItem( - Emitter_EV.ID, - "Emitter (EV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.LUX, 8L))); - ItemList.Emitter_IV.set( - addItem( - Emitter_IV.ID, - "Emitter (IV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.LUX, 16L))); - ItemList.Emitter_LuV.set( - addItem( - Emitter_LuV.ID, - "Emitter (LuV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 32L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 32L), - new TC_Aspects.TC_AspectStack(TC_Aspects.LUX, 32L))); - ItemList.Emitter_ZPM.set( - addItem( - Emitter_ZPM.ID, - "Emitter (ZPM)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.LUX, 64L))); - ItemList.Emitter_UV.set( - addItem( - Emitter_UV.ID, - "Emitter (UV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 128L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 128L), - new TC_Aspects.TC_AspectStack(TC_Aspects.LUX, 128L))); - ItemList.Emitter_UHV.set( - addItem( - Emitter_UHV.ID, - "Emitter (UHV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 256L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 256L), - new TC_Aspects.TC_AspectStack(TC_Aspects.LUX, 256L))); - ItemList.Emitter_UEV.set( - addItem( - Emitter_UEV.ID, - "Emitter (UEV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.LUX, 512L))); - ItemList.Emitter_UIV.set( - addItem( - Emitter_UIV.ID, - "Emitter (UIV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.LUX, 512L))); - ItemList.Emitter_UMV.set( - addItem( - Emitter_UMV.ID, - "Emitter (UMV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.LUX, 512L))); - ItemList.Emitter_UXV.set( - addItem( - Emitter_UXV.ID, - "Emitter (UXV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.LUX, 512L))); - ItemList.Emitter_MAX.set( - addItem( - Emitter_MAX.ID, - "Emitter (MAX)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.LUX, 512L))); - - ItemList.Sensor_LV.set( - addItem( - Sensor_LV.ID, - "Sensor (LV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 1L))); - - ItemList.Sensor_MV.set( - addItem( - Sensor_MV.ID, - "Sensor (MV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 2L))); - ItemList.Sensor_HV.set( - addItem( - Sensor_HV.ID, - "Sensor (HV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 4L))); - ItemList.Sensor_EV.set( - addItem( - Sensor_EV.ID, - "Sensor (EV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 8L))); - ItemList.Sensor_IV.set( - addItem( - Sensor_IV.ID, - "Sensor (IV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 16L))); - ItemList.Sensor_LuV.set( - addItem( - Sensor_LuV.ID, - "Sensor (LuV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 32L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 32L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 32L))); - ItemList.Sensor_ZPM.set( - addItem( - Sensor_ZPM.ID, - "Sensor (ZPM)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 64L))); - ItemList.Sensor_UV.set( - addItem( - Sensor_UV.ID, - "Sensor (UV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 128L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 128L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 128L))); - ItemList.Sensor_UHV.set( - addItem( - Sensor_UHV.ID, - "Sensor (UHV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 256L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 256L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 256L))); - ItemList.Sensor_UEV.set( - addItem( - Sensor_UEV.ID, - "Sensor (UEV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 512L))); - ItemList.Sensor_UIV.set( - addItem( - Sensor_UIV.ID, - "Sensor (UIV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 512L))); - ItemList.Sensor_UMV.set( - addItem( - Sensor_UMV.ID, - "Sensor (UMV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 512L))); - ItemList.Sensor_UXV.set( - addItem( - Sensor_UXV.ID, - "Sensor (UXV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 512L))); - ItemList.Sensor_MAX.set( - addItem( - Sensor_MAX.ID, - "Sensor (MAX)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 512L))); - - ItemList.Field_Generator_LV.set( - addItem( - Field_Generator_LV.ID, - "Field Generator (LV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 1L))); - ItemList.Field_Generator_MV.set( - addItem( - Field_Generator_MV.ID, - "Field Generator (MV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 2L))); - ItemList.Field_Generator_HV.set( - addItem( - Field_Generator_HV.ID, - "Field Generator (HV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 4L))); - ItemList.Field_Generator_EV.set( - addItem( - Field_Generator_EV.ID, - "Field Generator (EV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 8L))); - ItemList.Field_Generator_IV.set( - addItem( - Field_Generator_IV.ID, - "Field Generator (IV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 32L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 16L))); - ItemList.Field_Generator_LuV.set( - addItem( - Field_Generator_LuV.ID, - "Field Generator (LuV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 32L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 32L))); - ItemList.Field_Generator_ZPM.set( - addItem( - Field_Generator_ZPM.ID, - "Field Generator (ZPM)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 128L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 64L))); - ItemList.Field_Generator_UV.set( - addItem( - Field_Generator_UV.ID, - "Field Generator (UV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 256L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 128L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 128L))); - ItemList.Field_Generator_UHV.set( - addItem( - Field_Generator_UHV.ID, - "Field Generator (UHV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 256L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 256L))); - ItemList.Field_Generator_UEV.set( - addItem( - Field_Generator_UEV.ID, - "Field Generator (UEV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1024L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 512L))); - ItemList.Field_Generator_UIV.set( - addItem( - Field_Generator_UIV.ID, - "Field Generator (UIV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1024L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 512L))); - ItemList.Field_Generator_UMV.set( - addItem( - Field_Generator_UMV.ID, - "Field Generator (UMV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1024L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 512L))); - ItemList.Field_Generator_UXV.set( - addItem( - Field_Generator_UXV.ID, - "Field Generator (UXV)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1024L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 512L))); - ItemList.Field_Generator_MAX.set( - addItem( - Field_Generator_MAX.ID, - "Field Generator (MAX)", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1024L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 512L))); - - ItemList.StableAdhesive.set( - addItem( - StableAdhesive.ID, - "Hyper-Stable Self-Healing Adhesive", - "Complete and selective adhesion, even when torn or damaged", - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 30L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SANO, 20L), - new TC_Aspects.TC_AspectStack(TC_Aspects.LIMUS, 10L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VINCULUM, 5L))); - ItemList.SuperconductorComposite.set( - addItem( - SuperconductorComposite.ID, - "Superconductor Rare-Earth Composite", - "Zero resistance to electrical and quantum flow, regardless of temperature", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 50L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 25L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TERRA, 15L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 10L))); - ItemList.NaquadriaSupersolid.set( - addItem( - NaquadriaSupersolid.ID, - "Black Body Naquadria Supersolid", - "Flows like a fluid and reflects nothing, perfect absorption and transfer", - new TC_Aspects.TC_AspectStack(TC_Aspects.TENEBRAE, 100L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 60L), - new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 40L), - new TC_Aspects.TC_AspectStack(TC_Aspects.RADIO, 20L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ALIENIS, 10L))); - - // Circuits ULV - LuV. - ItemList.Circuit_Primitive.set( - addItem( - Circuit_Primitive.ID, - "Vacuum Tube", - "A very simple Circuit", - OrePrefixes.circuit.get(Materials.ULV), - SubTag.NO_UNIFICATION)); - ItemList.Circuit_Basic.set( - addItem( - Circuit_Basic.ID, - "Integrated Logic Circuit", - "A Basic Circuit", - OrePrefixes.circuit.get(Materials.LV), - SubTag.NO_UNIFICATION)); - ItemList.Circuit_Good.set( - addItem( - Circuit_Good.ID, - "Good Electronic Circuit", - "A Good Circuit", - OrePrefixes.circuit.get(Materials.MV), - SubTag.NO_UNIFICATION)); - ItemList.Circuit_Advanced.set( - addItem( - Circuit_Advanced.ID, - "Processor Assembly", - "An Advanced Circuit", - OrePrefixes.circuit.get(Materials.HV), - SubTag.NO_UNIFICATION)); - ItemList.Circuit_Data.set( - addItem( - Circuit_Data.ID, - "Workstation", - "An Extreme Circuit", - OrePrefixes.circuit.get(Materials.EV), - SubTag.NO_UNIFICATION)); - ItemList.Circuit_Elite.set( - addItem( - Circuit_Elite.ID, - "Mainframe", - "An Elite Circuit", - OrePrefixes.circuit.get(Materials.IV), - SubTag.NO_UNIFICATION)); - ItemList.Circuit_Master.set( - addItem( - Circuit_Master.ID, - "Nanoprocessor Mainframe", - "A Master Circuit", - OrePrefixes.circuit.get(Materials.LuV), - SubTag.NO_UNIFICATION)); - - // Backwards compatibility. - ItemList.Circuit_Parts_Vacuum_Tube.set(ItemList.Circuit_Primitive.get(1)); - ItemList.Circuit_Computer.set(ItemList.Circuit_Advanced.get(1)); - - ItemList.Tool_DataOrb.set( - addItem( - Tool_DataOrb.ID, - "Data Orb", - "A High Capacity Data Storage", - SubTag.NO_UNIFICATION, - new Behaviour_DataOrb())); - - ItemList.Tool_DataStick.set( - addItem( - Tool_DataStick.ID, - "Data Stick", - "A Low Capacity Data Storage", - SubTag.NO_UNIFICATION, - new Behaviour_DataStick())); - - ItemList.Tool_Cover_Copy_Paste.set( - addItem( - Tool_Cover_Copy_Paste.ID, - "Cover Copy/Paste tool", - "Set Cover Massively.", - Behaviour_Cover_Tool.INSTANCE, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 6L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 6L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 6L))); - - ItemList.Circuit_Board_Basic.set(addItem(Circuit_Board_Basic.ID, "Coated Circuit Board", "A Basic Board")); - ItemList.Circuit_Board_Coated.set(ItemList.Circuit_Board_Basic.get(1)); - ItemList.Circuit_Board_Advanced - .set(addItem(Circuit_Board_Advanced.ID, "Epoxy Circuit Board", "An Advanced Board")); - ItemList.Circuit_Board_Epoxy.set(ItemList.Circuit_Board_Advanced.get(1)); - ItemList.Circuit_Board_Elite - .set(addItem(Circuit_Board_Elite.ID, "Multilayer Fiber-Reinforced Circuit Board", "An Elite Board")); - ItemList.Circuit_Board_Multifiberglass.set(ItemList.Circuit_Board_Elite.get(1)); - ItemList.Circuit_Parts_Crystal_Chip_Elite - .set(addItem(Circuit_Parts_Crystal_Chip_Elite.ID, "Engraved Crystal Chip", "Needed for Circuits")); - ItemList.Circuit_Parts_Crystal_Chip_Master - .set(addItem(Circuit_Parts_Crystal_Chip_Master.ID, "Engraved Lapotron Chip", "Needed for Circuits")); - ItemList.Circuit_Parts_Crystal_Chip_Wetware - .set(addItem(Circuit_Parts_Crystal_Chip_Wetware.ID, "Living Crystal Chip", "Needed for Circuits")); - ItemList.Circuit_Parts_Advanced.set(addItem(Circuit_Parts_Advanced.ID, "Diode", "Basic Electronic Component")); - ItemList.Circuit_Parts_Diode.set(ItemList.Circuit_Parts_Advanced.get(1)); - ItemList.Circuit_Parts_Wiring_Basic - .set(addItem(Circuit_Parts_Wiring_Basic.ID, "Resistor", "Basic Electronic Component")); - ItemList.Circuit_Parts_Resistor.set(ItemList.Circuit_Parts_Wiring_Basic.get(1)); - ItemList.Circuit_Parts_Wiring_Advanced - .set(addItem(Circuit_Parts_Wiring_Advanced.ID, "Transistor", "Basic Electronic Component")); - ItemList.Circuit_Parts_Transistor.set(ItemList.Circuit_Parts_Wiring_Advanced.get(1)); - ItemList.Circuit_Parts_Wiring_Elite - .set(addItem(Circuit_Parts_Wiring_Elite.ID, "Capacitor", "Electronic Component")); - ItemList.Circuit_Parts_Capacitor.set(ItemList.Circuit_Parts_Wiring_Elite.get(1)); - ItemList.Empty_Board_Basic.set(addItem(Empty_Board_Basic.ID, "Phenolic Circuit Board", "A Good Board")); - ItemList.Circuit_Board_Phenolic.set(ItemList.Empty_Board_Basic.get(1)); - ItemList.Empty_Board_Elite - .set(addItem(Empty_Board_Elite.ID, "Fiber-Reinforced Circuit Board", "An Extreme Board")); - ItemList.Circuit_Board_Fiberglass.set(ItemList.Empty_Board_Elite.get(1)); - - ItemList.Component_Sawblade_Diamond.set( - addItem( - Component_Sawblade_Diamond.ID, - "Diamond Sawblade", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.PERDITIO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 4L), - OreDictNames.craftingDiamondBlade)); - ItemList.Component_Grinder_Diamond.set( - addItem( - Component_Grinder_Diamond.ID, - "Diamond Grinding Head", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.PERDITIO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 6L), - OreDictNames.craftingGrinder)); - ItemList.Component_Grinder_Tungsten.set( - addItem( - Component_Grinder_Tungsten.ID, - "Tungsten Grinding Head", - "", - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.PERDITIO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 6L), - OreDictNames.craftingGrinder)); - - ItemList.Upgrade_Muffler.set( - addItem( - Upgrade_Muffler.ID, - "Muffler Upgrade", - "Makes Machines silent", - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 2L))); - ItemList.Upgrade_Lock.set( - addItem( - Upgrade_Lock.ID, - "Lock Upgrade", - "Protects your Machines", - new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 4L))); - - ItemList.Component_Filter.set( - addItem( - Component_Filter.ID, - "Item Filter", - "", - new ItemData(Materials.Zinc, OrePrefixes.foil.mMaterialAmount * 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 1L), - OreDictNames.craftingFilter)); - - ItemList.Cover_Controller.set( - addItem( - Cover_Controller.ID, - "Machine Controller Cover", - "Turns Machines ON/OFF", - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L))); - ItemList.Cover_ActivityDetector.set( - addItem( - Cover_ActivityDetector.ID, - "Activity Detector Cover", - "Gives out Activity as Redstone", - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L))); - ItemList.Cover_FluidDetector.set( - addItem( - Cover_FluidDetector.ID, - "Fluid Detector Cover", - "Gives out Fluid Amount as Redstone", - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L))); - ItemList.Cover_ItemDetector.set( - addItem( - Cover_ItemDetector.ID, - "Item Detector Cover", - "Gives out Item Amount as Redstone", - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TERRA, 1L))); - ItemList.Cover_EnergyDetector.set( - addItem( - Cover_EnergyDetector.ID, - "Energy Detector Cover", - "Gives out Energy Amount as Redstone", - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 1L))); - ItemList.Cover_PlayerDetector.set( - addItem( - Cover_PlayerDetector.ID, - "Player Detector Cover", - "Gives out close Players as Redstone", - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L))); - ItemList.Cover_FluidStorageMonitor.set( - addItem( - Cover_FLuidStorageMonitor.ID, - "Fluid Storage Monitor Cover", - "Displays the fluid stored in the Tank", - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L))); - ItemList.Cover_Chest_Basic.set( - addItem( - Cover_Chest_Basic.ID, - "Basic Item Holder", - "Hold a few item for use within machine GUI", - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 2L))); - ItemList.Cover_Chest_Good.set( - addItem( - Cover_Chest_Good.ID, - "Good Item Holder", - "Hold a few item for use within machine GUI", - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 2L))); - ItemList.Cover_Chest_Advanced.set( - addItem( - Cover_Chest_Advanced.ID, - "Advanced Item Holder", - "Hold a few item for use within machine GUI", - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 2L))); - - ItemList.Cover_Screen.set( - addItem( - Cover_Screen.ID, - "Computer Monitor Cover", - "Displays Data and GUI", - new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITIO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.LUX, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L))); - ItemList.Cover_Crafting.set( - addItem( - Cover_Crafting.ID, - "Crafting Table Cover", - "Better than a wooden Workbench", - new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 4L))); - ItemList.Cover_Drain.set( - addItem( - Cover_Drain.ID, - "Drain Module Cover", - "Absorbs Fluids and collects Rain", - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 2L))); - - ItemList.Cover_Shutter.set( - addItem( - Cover_Shutter.ID, - "Shutter Module Cover", - "Blocks Inventory/Tank Side. Use together with Machine Controller.", - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 1L))); - - ItemList.Cover_SolarPanel.set( - addItem( - Cover_SolarPanel.ID, - "Solar Panel", - "May the Sun be with you (Needs cleaning with right click)", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TENEBRAE, 1L))); - ItemList.Cover_SolarPanel_8V.set( - addItem( - Cover_SolarPanel_8V.ID, - "Solar Panel (8V)", - "8 Volt Solar Panel (Needs cleaning with right click)", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TENEBRAE, 2L))); - ItemList.Cover_SolarPanel_LV.set( - addItem( - Cover_SolarPanel_LV.ID, - "Solar Panel (LV)", - "Low Voltage Solar Panel (Needs cleaning with right click)", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TENEBRAE, 4L))); - ItemList.Cover_SolarPanel_MV.set( - addItem( - Cover_SolarPanel_MV.ID, - "Solar Panel (MV)", - "Medium Voltage Solar Panel (Needs cleaning with right click)", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TENEBRAE, 8L))); - ItemList.Cover_SolarPanel_HV.set( - addItem( - Cover_SolarPanel_HV.ID, - "Solar Panel (HV)", - "High Voltage Solar Panel (Needs cleaning with right click)", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TENEBRAE, 16L))); - ItemList.Cover_SolarPanel_EV.set( - addItem( - Cover_SolarPanel_EV.ID, - "Solar Panel (EV)", - "Extreme Solar Panel (Needs cleaning with right click)", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 32L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 32L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TENEBRAE, 32L))); - ItemList.Cover_SolarPanel_IV.set( - addItem( - Cover_SolarPanel_IV.ID, - "Solar Panel (IV)", - "Insane Solar Panel (Needs cleaning with right click)", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TENEBRAE, 64L))); - ItemList.Cover_SolarPanel_LuV.set( - addItem( - Cover_SolarPanel_LuV.ID, - "Solar Panel (LuV)", - "Ludicrous Solar Panel (Needs cleaning with right click)", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TENEBRAE, 64L))); - ItemList.Cover_SolarPanel_ZPM.set( - addItem( - Cover_SolarPanel_ZPM.ID, - "Solar Panel (ZPM)", - "ZPM Voltage Solar Panel (Needs cleaning with right click)", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TENEBRAE, 64L))); - ItemList.Cover_SolarPanel_UV.set( - addItem( - Cover_SolarPanel_UV.ID, - "Solar Panel (UV)", - "Ultimate Solar Panel (Needs cleaning with right click)", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TENEBRAE, 64L))); - - ItemList.Tool_Sonictron.set( - addItem( - Tool_Sonictron.ID, - "Sonictron", - "Bring your Music with you", - Behaviour_Sonictron.INSTANCE, - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 4L))); - ItemList.Tool_Cheat.set( - addItem( - Tool_Cheat.ID, - "Debug Scanner", - "Also an Infinite Energy Source", - Behaviour_Scanner.INSTANCE, - new TC_Aspects.TC_AspectStack(TC_Aspects.NEBRISUM, 64L))); - ItemList.Tool_Scanner.set( - addItem( - Tool_Scanner.ID, - "Portable Scanner", - "Tricorder", - Behaviour_Scanner.INSTANCE, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 6L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 6L))); - - ItemList.NC_SensorKit.set(addItem(NC_SensorKit.ID, "GregTech Sensor Kit", "", new Behaviour_SensorKit())); - ItemList.Duct_Tape.set( - addItem( - Duct_Tape.ID, - "BrainTech Aerospace Advanced Reinforced Duct Tape FAL-84", - "If you can't fix it with this, use more of it!", - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), - OreDictNames.craftingDuctTape)); - ItemList.McGuffium_239.set( - addItem( - McGuffium_239.ID, - "Mc Guffium 239", - "42% better than Phlebotnium", - new TC_Aspects.TC_AspectStack(TC_Aspects.ALIENIS, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SPIRITUS, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AURAM, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITIUM, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.RADIO, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MAGNETO, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.NEBRISUM, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.STRONTIO, 8L))); - - ItemList.Cover_RedstoneTransmitterExternal.set( - addItem( - Cover_RedstoneTransmitterExternal.ID, - "Redstone Transmitter (External)", - "Transfers Redstone signals wireless", - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L))); - ItemList.Cover_RedstoneTransmitterInternal.set( - addItem( - Cover_RedstoneTransmitterInternal.ID, - "Redstone Transmitter (Internal)", - "Transfers Redstone signals wireless", - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L))); - ItemList.Cover_RedstoneReceiverExternal.set( - addItem( - Cover_RedstoneReceiverExternal.ID, - "Redstone Receiver (External)", - "Transfers Redstone signals wireless", - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L))); - ItemList.Cover_RedstoneReceiverInternal.set( - addItem( - Cover_RedstoneReceiverInternal.ID, - "Redstone Receiver (Internal)", - "Transfers Redstone signals wireless", - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L))); - - ItemList.Cover_NeedsMaintainance.set( - addItem( - Cover_NeedsMaintenance.ID, - "Needs Maintenance Cover", - "Attach to Multiblock Controller. Emits Redstone Signal if needs Maintenance", - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L))); - - ItemList.Steam_Regulator_LV.set( - addItem( - Steam_Regulator_LV.ID, - "Steam Regulator (LV)", - GT_Utility.formatNumbers(1024) + PartCoverText + GT_Utility.formatNumbers(1024 * 20) + PartCoverText2, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L))); - ItemList.Steam_Regulator_MV.set( - addItem( - Steam_Regulator_MV.ID, - "Steam Regulator (MV)", - GT_Utility.formatNumbers(2048) + PartCoverText + GT_Utility.formatNumbers(2048 * 20) + PartCoverText2, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 2L))); - ItemList.Steam_Regulator_HV.set( - addItem( - Steam_Regulator_HV.ID, - "Steam Regulator (HV)", - GT_Utility.formatNumbers(4096) + PartCoverText + GT_Utility.formatNumbers(4096 * 20) + PartCoverText2, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 4L))); - ItemList.Steam_Regulator_EV.set( - addItem( - Steam_Regulator_EV.ID, - "Steam Regulator (EV)", - GT_Utility.formatNumbers(8192) + PartCoverText + GT_Utility.formatNumbers(8192 * 20) + PartCoverText2, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 8L))); - ItemList.Steam_Regulator_IV.set( - addItem( - Steam_Regulator_IV.ID, - "Steam Regulator (IV)", - GT_Utility.formatNumbers(16384) + PartCoverText + GT_Utility.formatNumbers(16384 * 20) + PartCoverText2, - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 16L))); - ItemList.Electromagnet_Iron.set( - addItem( - Electromagnet_Iron.ID, - "Iron Electromagnet", - MagnetTiers.buildMagnetTooltip(MagnetTiers.Iron), - new TC_Aspects.TC_AspectStack(TC_Aspects.MAGNETO, 8))); - ItemList.Electromagnet_Steel.set( - addItem( - Electromagnet_Steel.ID, - "Steel Electromagnet", - MagnetTiers.buildMagnetTooltip(MagnetTiers.Steel), - new TC_Aspects.TC_AspectStack(TC_Aspects.MAGNETO, 16))); - ItemList.Electromagnet_Neodymium.set( - addItem( - Electromagnet_Neodymium.ID, - "Neodymium Electromagnet", - MagnetTiers.buildMagnetTooltip(MagnetTiers.Neodymium), - new TC_Aspects.TC_AspectStack(TC_Aspects.MAGNETO, 24))); - ItemList.Electromagnet_Samarium.set( - addItem( - Electromagnet_Samarium.ID, - EnumChatFormatting.YELLOW + "Samarium Electromagnet", - MagnetTiers.buildMagnetTooltip(MagnetTiers.Samarium), - new TC_Aspects.TC_AspectStack(TC_Aspects.MAGNETO, 32))); - ItemList.Electromagnet_Tengam.set( - addItem( - Electromagnet_Tengam.ID, - EnumChatFormatting.GREEN + "Tengam Electromagnet", - MagnetTiers.buildMagnetTooltip(MagnetTiers.Tengam), - new TC_Aspects.TC_AspectStack(TC_Aspects.MAGNETO, 40))); - ItemList.Black_Hole_Opener.set( - addItem( - Black_Hole_Opener.ID, - "Black Hole Activation Catalyst", - "Opens a semi-stable black hole", - new TC_Aspects.TC_AspectStack(TC_Aspects.ALIENIS, 32), - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 64))); - ItemList.Black_Hole_Closer.set( - addItem( - Black_Hole_Closer.ID, - "Black Hole Deactivation Catalyst", - "Safely closes a semi-stable black hole", - new TC_Aspects.TC_AspectStack(TC_Aspects.ALIENIS, 32), - new TC_Aspects.TC_AspectStack(TC_Aspects.PERDITIO, 64))); - - // Empty battery hulls - ItemList.BatteryHull_EV.set( - addItem( - BatteryHull_EV.ID, - "Small Sunnarium Battery (Empty)", - "An empty EV Battery Container", - new ItemData(Materials.BlueSteel, OrePrefixes.plate.mMaterialAmount * 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 8L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 8L))); - ItemList.BatteryHull_IV.set( - addItem( - BatteryHull_IV.ID, - "Medium Sunnarium Battery (Empty)", - "An empty IV Battery Container", - new ItemData(Materials.RoseGold, OrePrefixes.plate.mMaterialAmount * 6L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 16L))); - ItemList.BatteryHull_LuV.set( - addItem( - BatteryHull_LuV.ID, - "Large Sunnarium Battery (Empty)", - "An empty LuV Battery Container", - new ItemData(Materials.RedSteel, OrePrefixes.plate.mMaterialAmount * 18L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 32L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 32L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 32L))); - ItemList.BatteryHull_ZPM.set( - addItem( - BatteryHull_ZPM.ID, - "Medium Naquadria Battery (Empty)", - "An empty ZPM Energy Storage", - new ItemData(Materials.Europium, OrePrefixes.plate.mMaterialAmount * 6L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 64L))); - ItemList.BatteryHull_UV.set( - addItem( - BatteryHull_UV.ID, - "Large Naquadria Battery (Empty)", - "An empty UV Energy Storage", - new ItemData(Materials.Americium, OrePrefixes.plate.mMaterialAmount * 18L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 128L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 128L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 128L))); - ItemList.BatteryHull_UHV.set( - addItem( - BatteryHull_UHV.ID, - "Small Neutronium Battery (Empty)", - "An empty UHV Energy Storage", - new ItemData(Materials.Naquadah, OrePrefixes.plate.mMaterialAmount * 24L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 256L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 256L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 256L))); - ItemList.BatteryHull_UEV.set( - addItem( - BatteryHull_UEV.ID, - "Medium Neutronium Battery (Empty)", - "An empty UEV Energy Storage", - new ItemData(Materials.NaquadahEnriched, OrePrefixes.plate.mMaterialAmount * 36L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 512L))); - ItemList.BatteryHull_UIV.set( - addItem( - BatteryHull_UIV.ID, - "Large Neutronium Battery (Empty)", - "An empty UIV Energy Storage", - new ItemData(Materials.NaquadahAlloy, OrePrefixes.plate.mMaterialAmount * 48L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 1024L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 1024L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 1024L))); - ItemList.BatteryHull_UMV.set( - addItem( - BatteryHull_UMV.ID, - "Medium Plasma Battery (Empty)", - "An empty UMV Energy Storage", - new ItemData(Materials.Neutronium, OrePrefixes.plate.mMaterialAmount * 56L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 2048L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2048L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 2048L))); - ItemList.BatteryHull_UxV.set( - addItem( - BatteryHull_UxV.ID, - "Large Plasma Battery (Empty)", - "An empty UXV Energy Storage", - new ItemData(Materials.DraconiumAwakened, OrePrefixes.plate.mMaterialAmount * 64L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 4096L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 4096L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 4096L))); - - ItemList.BatteryHull_EV_Full.set( - addItem( - BatteryHull_EV_Full.ID, - "Small Sunnarium Battery", - "Reusable", - "batteryEV", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 32L))); - - ItemList.BatteryHull_IV_Full.set( - addItem( - BatteryHull_IV_Full.ID, - "Medium Sunnarium Battery", - "Reusable", - "batteryIV", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 32L))); - - ItemList.BatteryHull_LuV_Full.set( - addItem( - BatteryHull_LuV_Full.ID, - "Large Sunnarium Battery", - "Reusable", - "batteryLuV", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 32L))); - - ItemList.BatteryHull_ZPM_Full.set( - addItem( - BatteryHull_ZPM_Full.ID, - "Medium Naquadria Battery", - "Reusable", - "batteryZPM", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 32L))); - - ItemList.BatteryHull_UV_Full.set( - addItem( - BatteryHull_UV_Full.ID, - "Large Naquadria Battery", - "Reusable", - "batteryUV", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 32L))); - - ItemList.BatteryHull_UHV_Full.set( - addItem( - BatteryHull_UHV_Full.ID, - "Small Neutronium Battery", - "Reusable", - "batteryUHV", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 32L))); - - ItemList.BatteryHull_UEV_Full.set( - addItem( - BatteryHull_UEV_Full.ID, - "Medium Neutronium Battery", - "Reusable", - "batteryUEV", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 32L))); - - ItemList.BatteryHull_UIV_Full.set( - addItem( - BatteryHull_UIV_Full.ID, - "Large Neutronium Battery", - "Reusable", - "batteryUIV", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 32L))); - - ItemList.BatteryHull_UMV_Full.set( - addItem( - BatteryHull_UMV_Full.ID, - "Medium Infinity Battery", - "Reusable", - "batteryUMV", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 32L))); - - ItemList.BatteryHull_UxV_Full.set( - addItem( - BatteryHull_UxV_Full.ID, - "Large Infinity Battery", - "Reusable", - "batteryUXV", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 16L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 32L))); - - removeRecipes(); - setBurnValues(); - oredictBlacklistEntries(); - registerCovers(); - registerBehaviors(); - setAllFluidContainerStats(); - setAllElectricStats(); - registerTieredTooltips(); - - craftingShapedRecipes(); - craftingShapelessRecipes(); - } - - private static final Map cauldronRemap = new HashMap<>(); - - public static void registerCauldronCleaningFor(Materials in, Materials out) { - cauldronRemap.put(in, out); - } - - @Override - public boolean onEntityItemUpdate(EntityItem aItemEntity) { - int aDamage = aItemEntity.getEntityItem() - .getItemDamage(); - if ((aDamage < 32000) && (aDamage >= 0) && (!aItemEntity.worldObj.isRemote)) { - Materials aMaterial = GregTech_API.sGeneratedMaterials[(aDamage % 1000)]; - if ((aMaterial != null) && (aMaterial != Materials.Empty) && (aMaterial != Materials._NULL)) { - int tX = MathHelper.floor_double(aItemEntity.posX); - int tY = MathHelper.floor_double(aItemEntity.posY); - int tZ = MathHelper.floor_double(aItemEntity.posZ); - OrePrefixes aPrefix = this.mGeneratedPrefixList[(aDamage / 1000)]; - if ((aPrefix == OrePrefixes.dustImpure) || (aPrefix == OrePrefixes.dustPure)) { - Block tBlock = aItemEntity.worldObj.getBlock(tX, tY, tZ); - byte tMetaData = (byte) aItemEntity.worldObj.getBlockMetadata(tX, tY, tZ); - if ((tBlock == Blocks.cauldron) && (tMetaData > 0)) { - - aMaterial = cauldronRemap.getOrDefault(aMaterial, aMaterial); - - aItemEntity.setEntityItemStack( - GT_OreDictUnificator - .get(OrePrefixes.dust, aMaterial, aItemEntity.getEntityItem().stackSize)); - aItemEntity.worldObj.setBlockMetadataWithNotify(tX, tY, tZ, tMetaData - 1, 3); - return true; - } - } else if (aPrefix == OrePrefixes.crushed) { - Block tBlock = aItemEntity.worldObj.getBlock(tX, tY, tZ); - byte tMetaData = (byte) aItemEntity.worldObj.getBlockMetadata(tX, tY, tZ); - if ((tBlock == Blocks.cauldron) && (tMetaData > 0)) { - aItemEntity.setEntityItemStack( - GT_OreDictUnificator - .get(OrePrefixes.crushedPurified, aMaterial, aItemEntity.getEntityItem().stackSize)); - aItemEntity.worldObj.setBlockMetadataWithNotify(tX, tY, tZ, tMetaData - 1, 3); - return true; - } - } else if (aPrefix == OrePrefixes.dust && aMaterial == Materials.Wheat) { - Block tBlock = aItemEntity.worldObj.getBlock(tX, tY, tZ); - byte tMetaData = (byte) aItemEntity.worldObj.getBlockMetadata(tX, tY, tZ); - if ((tBlock == Blocks.cauldron) && (tMetaData > 0)) { - aItemEntity.setEntityItemStack(ItemList.Food_Dough.get(aItemEntity.getEntityItem().stackSize)); - aItemEntity.worldObj.setBlockMetadataWithNotify(tX, tY, tZ, tMetaData - 1, 3); - return true; - } - } - } - } - return false; - } - - @Override - protected void addAdditionalToolTips(List aList, ItemStack aStack, EntityPlayer aPlayer) { - super.addAdditionalToolTips(aList, aStack, aPlayer); - int aDamage = aStack.getItemDamage(); - if ((aDamage < 32000) && (aDamage >= 0)) { - Materials aMaterial = GregTech_API.sGeneratedMaterials[(aDamage % 1000)]; - if ((aMaterial != null) && (aMaterial != Materials.Empty) && (aMaterial != Materials._NULL)) { - OrePrefixes aPrefix = this.mGeneratedPrefixList[(aDamage / 1000)]; - if ((aPrefix == OrePrefixes.dustImpure) || (aPrefix == OrePrefixes.dustPure)) { - aList.add(this.mToolTipPurify); - } - } - } - } - - public boolean isPlasmaCellUsed(OrePrefixes aPrefix, Materials aMaterial) { - Collection fusionRecipes = RecipeMaps.fusionRecipes.getAllRecipes(); - if (aPrefix == OrePrefixes.cellPlasma && aMaterial.getPlasma(1L) != null) { // Materials has a plasma fluid - for (GT_Recipe recipe : fusionRecipes) { // Loop through fusion recipes - if (recipe.getFluidOutput(0) != null) { // Make sure fluid output can't be null (not sure if possible) - if (recipe.getFluidOutput(0) - .isFluidEqual(aMaterial.getPlasma(1L))) return true; // Fusion recipe - // output matches - // current plasma - // cell fluid - } - } - } - return false; - } - - @Override - public boolean doesShowInCreative(OrePrefixes aPrefix, Materials aMaterial, boolean aDoShowAllItems) { - return (aDoShowAllItems) || (((aPrefix != OrePrefixes.gem) || (!aMaterial.mName.startsWith("Infused"))) - && (aPrefix != OrePrefixes.dustTiny) - && (aPrefix != OrePrefixes.dustSmall) - && (aPrefix != OrePrefixes.dustImpure) - && (aPrefix != OrePrefixes.dustPure) - && (aPrefix != OrePrefixes.crushed) - && (aPrefix != OrePrefixes.crushedPurified) - && (aPrefix != OrePrefixes.crushedCentrifuged) - && (aPrefix != OrePrefixes.ingotHot) - && !(aPrefix == OrePrefixes.cellPlasma && !isPlasmaCellUsed(aPrefix, aMaterial))); - } - - @Override - public ItemStack getContainerItem(ItemStack aStack) { - int aDamage = aStack.getItemDamage(); - if (((aDamage >= 32430) && (aDamage <= 32461)) || (aDamage == 32465 || aDamage == 32466)) { - return ItemList.Spray_Empty.get(1L); - } - if ((aDamage == 32479) || (aDamage == 32476)) { - return new ItemStack(this, 1, aDamage - 2); - } - if (aDamage == 32401) { - return new ItemStack(this, 1, aDamage - 1); - } - return super.getContainerItem(aStack); - } - - @Override - public boolean doesMaterialAllowGeneration(OrePrefixes aPrefix, Materials aMaterial) { - return (super.doesMaterialAllowGeneration(aPrefix, aMaterial)); - } - - private void setBurnValues() { - setBurnValue(17000 + Materials.Wood.mMetaItemSubID, 1600); - } - - private void setAllFluidContainerStats() { - setFluidContainerStats(32000 + Large_Fluid_Cell_Steel.ID, 8_000L, 64L); - setFluidContainerStats(32000 + Large_Fluid_Cell_TungstenSteel.ID, 512_000L, 32L); - setFluidContainerStats(32000 + Large_Fluid_Cell_Aluminium.ID, 32_000L, 64L); - setFluidContainerStats(32000 + Large_Fluid_Cell_StainlessSteel.ID, 64_000L, 64L); - setFluidContainerStats(32000 + Large_Fluid_Cell_Titanium.ID, 128_000L, 64L); - setFluidContainerStats(32000 + Large_Fluid_Cell_Chrome.ID, 2_048_000L, 8L); - setFluidContainerStats(32000 + Large_Fluid_Cell_Iridium.ID, 8_192_000L, 2L); - setFluidContainerStats(32000 + Large_Fluid_Cell_Osmium.ID, 32_768_000L, 1L); - setFluidContainerStats(32000 + Large_Fluid_Cell_Neutronium.ID, 131_072_000L, 1L); - setFluidContainerStats(32000 + Electromagnet_Iron.ID, 0L, 1L); - setFluidContainerStats(32000 + Electromagnet_Steel.ID, 0L, 1L); - setFluidContainerStats(32000 + Electromagnet_Neodymium.ID, 0L, 1L); - setFluidContainerStats(32000 + Electromagnet_Samarium.ID, 0L, 1L); - setFluidContainerStats(32000 + Electromagnet_Tengam.ID, 0L, 1L); - } - - private void oredictBlacklistEntries() { - GT_OreDictUnificator.addToBlacklist(new ItemStack(this, 1, 17000 + Materials.Wood.mMetaItemSubID)); - } - - private void registerCovers() { - final ITexture doesWorkCoverTexture = TextureFactory.of( - TextureFactory.of(OVERLAY_ACTIVITYDETECTOR), - TextureFactory.builder() - .addIcon(OVERLAY_ACTIVITYDETECTOR_GLOW) - .glow() - .build()); - - final ITexture playerDectectorCoverTexture = TextureFactory.of( - TextureFactory.of(OVERLAY_ACTIVITYDETECTOR), - TextureFactory.builder() - .addIcon(OVERLAY_ACTIVITYDETECTOR_GLOW) - .glow() - .build()); - final ITexture screenCoverTexture = TextureFactory.of( - TextureFactory.of(OVERLAY_SCREEN), - TextureFactory.builder() - .addIcon(OVERLAY_SCREEN_GLOW) - .glow() - .build()); - - GregTech_API.registerCover( - new ItemStack(this, 1, 17000 + Materials.Wood.mMetaItemSubID), - TextureFactory.of(COVER_WOOD_PLATE), - null); - - GregTech_API.registerCover( - ItemList.Electric_Pump_LV.get(1L), - TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_Pump(32, TextureFactory.of(OVERLAY_PUMP))); - GregTech_API.registerCover( - ItemList.Electric_Pump_MV.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_Pump(128, TextureFactory.of(OVERLAY_PUMP))); - GregTech_API.registerCover( - ItemList.Electric_Pump_HV.get(1L), - TextureFactory.of(MACHINE_CASINGS[3][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_Pump(512, TextureFactory.of(OVERLAY_PUMP))); - GregTech_API.registerCover( - ItemList.Electric_Pump_EV.get(1L), - TextureFactory.of(MACHINE_CASINGS[4][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_Pump(2048, TextureFactory.of(OVERLAY_PUMP))); - GregTech_API.registerCover( - ItemList.Electric_Pump_IV.get(1L), - TextureFactory.of(MACHINE_CASINGS[5][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_Pump(8192, TextureFactory.of(OVERLAY_PUMP))); - GregTech_API.registerCover( - ItemList.Electric_Pump_LuV.get(1L), - TextureFactory.of(MACHINE_CASINGS[6][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_Pump(32768, TextureFactory.of(OVERLAY_PUMP))); - GregTech_API.registerCover( - ItemList.Electric_Pump_ZPM.get(1L), - TextureFactory.of(MACHINE_CASINGS[7][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_Pump(131072, TextureFactory.of(OVERLAY_PUMP))); - GregTech_API.registerCover( - ItemList.Electric_Pump_UV.get(1L), - TextureFactory.of(MACHINE_CASINGS[8][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_Pump(524288, TextureFactory.of(OVERLAY_PUMP))); - GregTech_API.registerCover( - ItemList.Electric_Pump_UHV.get(1L), - TextureFactory.of(MACHINE_CASINGS[9][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_Pump(1048576, TextureFactory.of(OVERLAY_PUMP))); - GregTech_API.registerCover( - ItemList.Electric_Pump_UEV.get(1L), - TextureFactory.of(MACHINE_CASINGS[10][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_Pump(2097152, TextureFactory.of(OVERLAY_PUMP))); - - GregTech_API.registerCover( - ItemList.Steam_Valve_LV.get(1L), - TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_VALVE)), - new GT_Cover_SteamValve(1024, TextureFactory.of(OVERLAY_VALVE))); - GregTech_API.registerCover( - ItemList.Steam_Valve_MV.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_VALVE)), - new GT_Cover_SteamValve(2048, TextureFactory.of(OVERLAY_VALVE))); - GregTech_API.registerCover( - ItemList.Steam_Valve_HV.get(1L), - TextureFactory.of(MACHINE_CASINGS[3][0], TextureFactory.of(OVERLAY_VALVE)), - new GT_Cover_SteamValve(4096, TextureFactory.of(OVERLAY_VALVE))); - GregTech_API.registerCover( - ItemList.Steam_Valve_EV.get(1L), - TextureFactory.of(MACHINE_CASINGS[4][0], TextureFactory.of(OVERLAY_VALVE)), - new GT_Cover_SteamValve(8192, TextureFactory.of(OVERLAY_VALVE))); - GregTech_API.registerCover( - ItemList.Steam_Valve_IV.get(1L), - TextureFactory.of(MACHINE_CASINGS[5][0], TextureFactory.of(OVERLAY_VALVE)), - new GT_Cover_SteamValve(16384, TextureFactory.of(OVERLAY_VALVE))); - - GregTech_API.registerCover( - ItemList.FluidRegulator_LV.get(1L), - TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_FluidRegulator(32, TextureFactory.of(OVERLAY_PUMP))); - GregTech_API.registerCover( - ItemList.FluidRegulator_MV.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_FluidRegulator(128, TextureFactory.of(OVERLAY_PUMP))); - GregTech_API.registerCover( - ItemList.FluidRegulator_HV.get(1L), - TextureFactory.of(MACHINE_CASINGS[3][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_FluidRegulator(512, TextureFactory.of(OVERLAY_PUMP))); - GregTech_API.registerCover( - ItemList.FluidRegulator_EV.get(1L), - TextureFactory.of(MACHINE_CASINGS[4][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_FluidRegulator(2048, TextureFactory.of(OVERLAY_PUMP))); - GregTech_API.registerCover( - ItemList.FluidRegulator_IV.get(1L), - TextureFactory.of(MACHINE_CASINGS[5][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_FluidRegulator(8192, TextureFactory.of(OVERLAY_PUMP))); - GregTech_API.registerCover( - ItemList.FluidRegulator_LuV.get(1L), - TextureFactory.of(MACHINE_CASINGS[6][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_FluidRegulator(32768, TextureFactory.of(OVERLAY_PUMP))); - GregTech_API.registerCover( - ItemList.FluidRegulator_ZPM.get(1L), - TextureFactory.of(MACHINE_CASINGS[7][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_FluidRegulator(131072, TextureFactory.of(OVERLAY_PUMP))); - GregTech_API.registerCover( - ItemList.FluidRegulator_UV.get(1L), - TextureFactory.of(MACHINE_CASINGS[8][0], TextureFactory.of(OVERLAY_PUMP)), - new GT_Cover_FluidRegulator(524288, TextureFactory.of(OVERLAY_PUMP))); - - GregTech_API.registerCover( - ItemList.FluidFilter.get(1L), - TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_SHUTTER)), - new GT_Cover_Fluidfilter(TextureFactory.of(OVERLAY_SHUTTER))); - - GregTech_API.registerCover( - ItemList.ItemFilter_Export.get(1L), - TextureFactory.of(MACHINE_CASINGS[5][0], TextureFactory.of(OVERLAY_CONVEYOR)), - new GT_Cover_ItemFilter(true, TextureFactory.of(OVERLAY_CONVEYOR))); - - GregTech_API.registerCover( - ItemList.ItemFilter_Import.get(1L), - TextureFactory.of(MACHINE_CASINGS[5][0], TextureFactory.of(OVERLAY_CONVEYOR)), - new GT_Cover_ItemFilter(false, TextureFactory.of(OVERLAY_CONVEYOR))); - - GregTech_API.registerCover( - ItemList.Cover_FluidLimiter.get(1L), - TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_SHUTTER)), - new GT_Cover_FluidLimiter(TextureFactory.of(OVERLAY_SHUTTER))); - - GregTech_API.registerCover( - ItemList.Conveyor_Module_LV.get(1L), - TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_CONVEYOR)), - new GT_Cover_Conveyor(400, 1, TextureFactory.of(OVERLAY_CONVEYOR))); - GregTech_API.registerCover( - ItemList.Conveyor_Module_MV.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_CONVEYOR)), - new GT_Cover_Conveyor(100, 1, TextureFactory.of(OVERLAY_CONVEYOR))); - GregTech_API.registerCover( - ItemList.Conveyor_Module_HV.get(1L), - TextureFactory.of(MACHINE_CASINGS[3][0], TextureFactory.of(OVERLAY_CONVEYOR)), - new GT_Cover_Conveyor(20, 1, TextureFactory.of(OVERLAY_CONVEYOR))); - GregTech_API.registerCover( - ItemList.Conveyor_Module_EV.get(1L), - TextureFactory.of(MACHINE_CASINGS[4][0], TextureFactory.of(OVERLAY_CONVEYOR)), - new GT_Cover_Conveyor(4, 1, TextureFactory.of(OVERLAY_CONVEYOR))); - GregTech_API.registerCover( - ItemList.Conveyor_Module_IV.get(1L), - TextureFactory.of(MACHINE_CASINGS[5][0], TextureFactory.of(OVERLAY_CONVEYOR)), - new GT_Cover_Conveyor(1, 1, TextureFactory.of(OVERLAY_CONVEYOR))); - GregTech_API.registerCover( - ItemList.Conveyor_Module_LuV.get(1L), - TextureFactory.of(MACHINE_CASINGS[6][0], TextureFactory.of(OVERLAY_CONVEYOR)), - new GT_Cover_Conveyor(1, 2, TextureFactory.of(OVERLAY_CONVEYOR))); - GregTech_API.registerCover( - ItemList.Conveyor_Module_ZPM.get(1L), - TextureFactory.of(MACHINE_CASINGS[7][0], TextureFactory.of(OVERLAY_CONVEYOR)), - new GT_Cover_Conveyor(1, 4, TextureFactory.of(OVERLAY_CONVEYOR))); - GregTech_API.registerCover( - ItemList.Conveyor_Module_UV.get(1L), - TextureFactory.of(MACHINE_CASINGS[8][0], TextureFactory.of(OVERLAY_CONVEYOR)), - new GT_Cover_Conveyor(1, 8, TextureFactory.of(OVERLAY_CONVEYOR))); - GregTech_API.registerCover( - ItemList.Conveyor_Module_UHV.get(1L), - TextureFactory.of(MACHINE_CASINGS[9][0], TextureFactory.of(OVERLAY_CONVEYOR)), - new GT_Cover_Conveyor(1, 16, TextureFactory.of(OVERLAY_CONVEYOR))); - GregTech_API.registerCover( - ItemList.Conveyor_Module_UEV.get(1L), - TextureFactory.of(MACHINE_CASINGS[10][0], TextureFactory.of(OVERLAY_CONVEYOR)), - new GT_Cover_Conveyor(1, 32, TextureFactory.of(OVERLAY_CONVEYOR))); - - GregTech_API.registerCover( - ItemList.Robot_Arm_LV.get(1L), - TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_ARM)), - new GT_Cover_Arm(400, TextureFactory.of(OVERLAY_ARM))); - GregTech_API.registerCover( - ItemList.Robot_Arm_MV.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_ARM)), - new GT_Cover_Arm(100, TextureFactory.of(OVERLAY_ARM))); - GregTech_API.registerCover( - ItemList.Robot_Arm_HV.get(1L), - TextureFactory.of(MACHINE_CASINGS[3][0], TextureFactory.of(OVERLAY_ARM)), - new GT_Cover_Arm(20, TextureFactory.of(OVERLAY_ARM))); - GregTech_API.registerCover( - ItemList.Robot_Arm_EV.get(1L), - TextureFactory.of(MACHINE_CASINGS[4][0], TextureFactory.of(OVERLAY_ARM)), - new GT_Cover_Arm(4, TextureFactory.of(OVERLAY_ARM))); - GregTech_API.registerCover( - ItemList.Robot_Arm_IV.get(1L), - TextureFactory.of(MACHINE_CASINGS[5][0], TextureFactory.of(OVERLAY_ARM)), - new GT_Cover_Arm(1, TextureFactory.of(OVERLAY_ARM))); - - GregTech_API.registerCover( - ItemList.Cover_Controller.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_CONTROLLER)), - new GT_Cover_ControlsWork(TextureFactory.of(OVERLAY_CONTROLLER))); - - GregTech_API.registerCover( - ItemList.Cover_Chest_Basic.get(1L), - TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(Textures.BlockIcons.OVERLAY_COVER_CHEST_1)), - new GT_Cover_Chest(9, TextureFactory.of(Textures.BlockIcons.OVERLAY_COVER_CHEST_1))); - GregTech_API.registerCover( - ItemList.Cover_Chest_Good.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(Textures.BlockIcons.OVERLAY_COVER_CHEST_2)), - new GT_Cover_Chest(12, TextureFactory.of(Textures.BlockIcons.OVERLAY_COVER_CHEST_2))); - GregTech_API.registerCover( - ItemList.Cover_Chest_Advanced.get(1L), - TextureFactory.of(MACHINE_CASINGS[3][0], TextureFactory.of(Textures.BlockIcons.OVERLAY_COVER_CHEST_3)), - new GT_Cover_Chest(15, TextureFactory.of(Textures.BlockIcons.OVERLAY_COVER_CHEST_3))); - GregTech_API.registerCover( - ItemList.Cover_ActivityDetector.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], doesWorkCoverTexture), - new GT_Cover_DoesWork(doesWorkCoverTexture)); - GregTech_API.registerCover( - ItemList.Cover_FluidDetector.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_FLUIDDETECTOR)), - new GT_Cover_LiquidMeter(TextureFactory.of(OVERLAY_FLUIDDETECTOR))); - GregTech_API.registerCover( - ItemList.Cover_ItemDetector.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_ITEMDETECTOR)), - new GT_Cover_ItemMeter(TextureFactory.of(OVERLAY_ITEMDETECTOR))); - GregTech_API.registerCover( - ItemList.Cover_EnergyDetector.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_ENERGYDETECTOR)), - new GT_Cover_EUMeter(TextureFactory.of(OVERLAY_ENERGYDETECTOR))); - - GregTech_API.registerCover( - ItemList.Cover_PlayerDetector.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], playerDectectorCoverTexture), - new GT_Cover_PlayerDetector(playerDectectorCoverTexture)); - GregTech_API.registerCover( - ItemList.Cover_FluidStorageMonitor.get(1L), - TextureFactory.of(OVERLAY_FLUID_STORAGE_MONITOR0), - new GT_Cover_FluidStorageMonitor()); - - GregTech_API.registerCover( - ItemList.Cover_Screen.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], screenCoverTexture), - new GT_Cover_Screen(screenCoverTexture)); - GregTech_API.registerCover( - ItemList.Cover_Crafting.get(1L), - TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_CRAFTING)), - new GT_Cover_Crafting(TextureFactory.of(OVERLAY_CRAFTING))); - GregTech_API.registerCover( - ItemList.Cover_Drain.get(1L), - TextureFactory.of(MACHINE_CASINGS[0][0], TextureFactory.of(OVERLAY_DRAIN)), - new GT_Cover_Drain(TextureFactory.of(OVERLAY_DRAIN))); - GregTech_API.registerCover( - ItemList.Cover_Shutter.get(1L), - TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_SHUTTER)), - new GT_Cover_Shutter(TextureFactory.of(OVERLAY_SHUTTER))); - - GregTech_API.registerCover( - ItemList.Cover_SolarPanel.get(1L), - TextureFactory.of(SOLARPANEL), - new GT_Cover_SolarPanel(1)); - GregTech_API.registerCover( - ItemList.Cover_SolarPanel_8V.get(1L), - TextureFactory.of(SOLARPANEL_8V), - new GT_Cover_SolarPanel(8)); - GregTech_API.registerCover( - ItemList.Cover_SolarPanel_LV.get(1L), - TextureFactory.of(SOLARPANEL_LV), - new GT_Cover_SolarPanel(32)); - GregTech_API.registerCover( - ItemList.Cover_SolarPanel_MV.get(1L), - TextureFactory.of(SOLARPANEL_MV), - new GT_Cover_SolarPanel(128)); - GregTech_API.registerCover( - ItemList.Cover_SolarPanel_HV.get(1L), - TextureFactory.of(SOLARPANEL_HV), - new GT_Cover_SolarPanel(512)); - GregTech_API.registerCover( - ItemList.Cover_SolarPanel_EV.get(1L), - TextureFactory.of(SOLARPANEL_EV), - new GT_Cover_SolarPanel(2048)); - GregTech_API.registerCover( - ItemList.Cover_SolarPanel_IV.get(1L), - TextureFactory.of(SOLARPANEL_IV), - new GT_Cover_SolarPanel(8192)); - GregTech_API.registerCover( - ItemList.Cover_SolarPanel_LuV.get(1L), - TextureFactory.of(SOLARPANEL_LuV), - new GT_Cover_SolarPanel(32768)); - GregTech_API.registerCover( - ItemList.Cover_SolarPanel_ZPM.get(1L), - TextureFactory.of(SOLARPANEL_ZPM), - new GT_Cover_SolarPanel(131072)); - GregTech_API.registerCover( - ItemList.Cover_SolarPanel_UV.get(1L), - TextureFactory.of(SOLARPANEL_UV), - new GT_Cover_SolarPanel(524288)); - - GregTech_API.registerCover( - ItemList.Cover_RedstoneTransmitterExternal.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_REDSTONE_TRANSMITTER)), - new GT_Cover_RedstoneTransmitterExternal(TextureFactory.of(OVERLAY_REDSTONE_TRANSMITTER))); - GregTech_API.registerCover( - ItemList.Cover_RedstoneTransmitterInternal.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_REDSTONE_TRANSMITTER)), - new GT_Cover_RedstoneTransmitterInternal(TextureFactory.of(OVERLAY_REDSTONE_TRANSMITTER))); - GregTech_API.registerCover( - ItemList.Cover_RedstoneReceiverExternal.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_REDSTONE_RECEIVER)), - new GT_Cover_RedstoneReceiverExternal(TextureFactory.of(OVERLAY_REDSTONE_RECEIVER))); - GregTech_API.registerCover( - ItemList.Cover_RedstoneReceiverInternal.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_REDSTONE_RECEIVER)), - new GT_Cover_RedstoneReceiverInternal(TextureFactory.of(OVERLAY_REDSTONE_RECEIVER))); - - GregTech_API.registerCover( - ItemList.Steam_Regulator_LV.get(1L), - TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_VALVE)), - new GT_Cover_SteamRegulator(1024, TextureFactory.of(OVERLAY_VALVE))); - GregTech_API.registerCover( - ItemList.Steam_Regulator_MV.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_VALVE)), - new GT_Cover_SteamRegulator(2048, TextureFactory.of(OVERLAY_VALVE))); - GregTech_API.registerCover( - ItemList.Steam_Regulator_HV.get(1L), - TextureFactory.of(MACHINE_CASINGS[3][0], TextureFactory.of(OVERLAY_VALVE)), - new GT_Cover_SteamRegulator(4096, TextureFactory.of(OVERLAY_VALVE))); - GregTech_API.registerCover( - ItemList.Steam_Regulator_EV.get(1L), - TextureFactory.of(MACHINE_CASINGS[4][0], TextureFactory.of(OVERLAY_VALVE)), - new GT_Cover_SteamRegulator(8192, TextureFactory.of(OVERLAY_VALVE))); - GregTech_API.registerCover( - ItemList.Steam_Regulator_IV.get(1L), - TextureFactory.of(MACHINE_CASINGS[5][0], TextureFactory.of(OVERLAY_VALVE)), - new GT_Cover_SteamRegulator(16384, TextureFactory.of(OVERLAY_VALVE))); - - GregTech_API.registerCover( - ItemList.Cover_NeedsMaintainance.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_MAINTENANCE_DETECTOR)), - new GT_Cover_NeedMaintainance(TextureFactory.of(OVERLAY_MAINTENANCE_DETECTOR))); - - } - - private void removeRecipes() { - GT_ModHandler.removeRecipe( - new ItemStack(Blocks.glass), - null, - new ItemStack(Blocks.glass), - null, - new ItemStack(Blocks.glass)); - } - - private void craftingShapedRecipes() { - ItemStack tStack = new ItemStack(this, 1, 17000 + Materials.Wood.mMetaItemSubID); - tStack.setStackDisplayName("The holy Planks of Sengir"); - GT_Utility.ItemNBT.addEnchantment(tStack, Enchantment.smite, 10); - GT_ModHandler.addCraftingRecipe( - tStack, - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { "XXX", "XDX", "XXX", 'X', OrePrefixes.gem.get(Materials.NetherStar), 'D', - new ItemStack(Blocks.dragon_egg, 1, 32767) }); - - GT_ModHandler.addCraftingRecipe( - ItemList.Shape_Slicer_Flat.get(1L), - GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "hXS", aTextShape, "fXd", 'P', ItemList.Shape_Extruder_Block, 'X', - OrePrefixes.plate.get(Materials.StainlessSteel), 'S', - OrePrefixes.screw.get(Materials.StainlessSteel) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Shape_Slicer_Stripes.get(1L), - GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "hXS", "XPX", "fXd", 'P', ItemList.Shape_Extruder_Block, 'X', - OrePrefixes.plate.get(Materials.StainlessSteel), 'S', - OrePrefixes.screw.get(Materials.StainlessSteel) }); - - GT_ModHandler.addCraftingRecipe( - ItemList.Fuel_Can_Plastic_Empty.get(7L), - GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { " PP", "P P", "PPP", 'P', OrePrefixes.plate.get(Materials.Plastic) }); - - GT_ModHandler.addCraftingRecipe( - ItemList.Crate_Empty.get(4L), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { "SWS", "WdW", "SWS", 'W', OrePrefixes.plank.get(Materials.Wood), 'S', - OrePrefixes.screw.get(Materials.AnyIron) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Crate_Empty.get(4L), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { "SWS", "WdW", "SWS", 'W', OrePrefixes.plank.get(Materials.Wood), 'S', - OrePrefixes.screw.get(Materials.Steel) }); - - GT_ModHandler.addCraftingRecipe( - ItemList.Schematic_1by1.get(1L), - GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { "d ", aTextShape, aTextEmptyRow, 'P', ItemList.Schematic }); - GT_ModHandler.addCraftingRecipe( - ItemList.Schematic_2by2.get(1L), - GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { " d ", aTextShape, aTextEmptyRow, 'P', ItemList.Schematic }); - GT_ModHandler.addCraftingRecipe( - ItemList.Schematic_3by3.get(1L), - GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { " d", aTextShape, aTextEmptyRow, 'P', ItemList.Schematic }); - GT_ModHandler.addCraftingRecipe( - ItemList.Schematic_Dust.get(1L), - GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { aTextEmptyRow, aTextShape, " d", 'P', ItemList.Schematic }); - - GT_ModHandler.addCraftingRecipe( - ItemList.Battery_Hull_LV.get(1L), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { "Cf ", "Ph ", "Ps ", 'P', OrePrefixes.plate.get(Materials.BatteryAlloy), 'C', - OreDictNames.craftingWireTin }); - - GT_ModHandler.addCraftingRecipe( - ItemList.Electric_Motor_LV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.IronMagnetic), 'R', - OrePrefixes.stick.get(Materials.AnyIron), 'W', OrePrefixes.wireGt01.get(Materials.AnyCopper), 'C', - OrePrefixes.cableGt01.get(Materials.Tin) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Electric_Motor_LV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.SteelMagnetic), 'R', - OrePrefixes.stick.get(Materials.Steel), 'W', OrePrefixes.wireGt01.get(Materials.AnyCopper), 'C', - OrePrefixes.cableGt01.get(Materials.Tin) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Electric_Motor_MV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.SteelMagnetic), 'R', - OrePrefixes.stick.get(Materials.Aluminium), 'W', OrePrefixes.wireGt02.get(Materials.Cupronickel), 'C', - OrePrefixes.cableGt01.get(Materials.AnyCopper) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Electric_Motor_HV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.SteelMagnetic), 'R', - OrePrefixes.stick.get(Materials.StainlessSteel), 'W', OrePrefixes.wireGt04.get(Materials.Electrum), 'C', - OrePrefixes.cableGt02.get(Materials.Silver) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Electric_Motor_EV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.NeodymiumMagnetic), 'R', - OrePrefixes.stick.get(Materials.Titanium), 'W', OrePrefixes.wireGt04.get(Materials.BlackSteel), 'C', - OrePrefixes.cableGt02.get(Materials.Aluminium) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Electric_Motor_IV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.NeodymiumMagnetic), 'R', - OrePrefixes.stick.get(Materials.TungstenSteel), 'W', OrePrefixes.wireGt04.get(Materials.Graphene), 'C', - OrePrefixes.cableGt02.get(Materials.Tungsten) }); - - GT_ModHandler.addCraftingRecipe( - ItemList.Electric_Piston_LV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "PPP", "CSS", "CMG", 'P', OrePrefixes.plate.get(Materials.Steel), 'S', - OrePrefixes.stick.get(Materials.Steel), 'G', OrePrefixes.gearGtSmall.get(Materials.Steel), 'M', - ItemList.Electric_Motor_LV, 'C', OrePrefixes.cableGt01.get(Materials.Tin) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Electric_Piston_MV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "PPP", "CSS", "CMG", 'P', OrePrefixes.plate.get(Materials.Aluminium), 'S', - OrePrefixes.stick.get(Materials.Aluminium), 'G', OrePrefixes.gearGtSmall.get(Materials.Aluminium), 'M', - ItemList.Electric_Motor_MV, 'C', OrePrefixes.cableGt01.get(Materials.AnyCopper) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Electric_Piston_HV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "PPP", "CSS", "CMG", 'P', OrePrefixes.plate.get(Materials.StainlessSteel), 'S', - OrePrefixes.stick.get(Materials.StainlessSteel), 'G', - OrePrefixes.gearGtSmall.get(Materials.StainlessSteel), 'M', ItemList.Electric_Motor_HV, 'C', - OrePrefixes.cableGt01.get(Materials.Gold) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Electric_Piston_EV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "PPP", "CSS", "CMG", 'P', OrePrefixes.plate.get(Materials.Titanium), 'S', - OrePrefixes.stick.get(Materials.Titanium), 'G', OrePrefixes.gearGtSmall.get(Materials.Titanium), 'M', - ItemList.Electric_Motor_EV, 'C', OrePrefixes.cableGt01.get(Materials.Aluminium) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Electric_Piston_IV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "PPP", "CSS", "CMG", 'P', OrePrefixes.plate.get(Materials.TungstenSteel), 'S', - OrePrefixes.stick.get(Materials.TungstenSteel), 'G', - OrePrefixes.gearGtSmall.get(Materials.TungstenSteel), 'M', ItemList.Electric_Motor_IV, 'C', - OrePrefixes.cableGt01.get(Materials.Tungsten) }); - - GT_ModHandler.addCraftingRecipe( - ItemList.Electric_Pump_LV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "SXO", "dPw", "OMW", 'M', ItemList.Electric_Motor_LV, 'O', - OrePrefixes.ring.get(Materials.AnyRubber), 'X', OrePrefixes.rotor.get(Materials.Tin), 'S', - OrePrefixes.screw.get(Materials.Tin), 'W', OrePrefixes.cableGt01.get(Materials.Tin), 'P', - OrePrefixes.pipeMedium.get(Materials.Bronze) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Electric_Pump_MV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "SXO", "dPw", "OMW", 'M', ItemList.Electric_Motor_MV, 'O', - OrePrefixes.ring.get(Materials.AnyRubber), 'X', OrePrefixes.rotor.get(Materials.Bronze), 'S', - OrePrefixes.screw.get(Materials.Bronze), 'W', OrePrefixes.cableGt01.get(Materials.AnyCopper), 'P', - OrePrefixes.pipeMedium.get(Materials.Steel) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Electric_Pump_HV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "SXO", "dPw", "OMW", 'M', ItemList.Electric_Motor_HV, 'O', - OrePrefixes.ring.get(Materials.AnyRubber), 'X', OrePrefixes.rotor.get(Materials.Steel), 'S', - OrePrefixes.screw.get(Materials.Steel), 'W', OrePrefixes.cableGt01.get(Materials.Gold), 'P', - OrePrefixes.pipeMedium.get(Materials.StainlessSteel) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Electric_Pump_EV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "SXO", "dPw", "OMW", 'M', ItemList.Electric_Motor_EV, 'O', - OrePrefixes.ring.get(Materials.AnyRubber), 'X', OrePrefixes.rotor.get(Materials.StainlessSteel), 'S', - OrePrefixes.screw.get(Materials.StainlessSteel), 'W', OrePrefixes.cableGt01.get(Materials.Aluminium), - 'P', OrePrefixes.pipeMedium.get(Materials.Titanium) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Electric_Pump_IV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "SXO", "dPw", "OMW", 'M', ItemList.Electric_Motor_IV, 'O', - OrePrefixes.ring.get(Materials.AnySyntheticRubber), 'X', OrePrefixes.rotor.get(Materials.TungstenSteel), - 'S', OrePrefixes.screw.get(Materials.TungstenSteel), 'W', OrePrefixes.cableGt01.get(Materials.Tungsten), - 'P', OrePrefixes.pipeMedium.get(Materials.TungstenSteel) }); - - GT_ModHandler.addCraftingRecipe( - ItemList.Conveyor_Module_LV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "RRR", "MCM", "RRR", 'M', ItemList.Electric_Motor_LV, 'C', - OrePrefixes.cableGt01.get(Materials.Tin), 'R', OrePrefixes.plate.get(Materials.AnyRubber) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Conveyor_Module_MV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "RRR", "MCM", "RRR", 'M', ItemList.Electric_Motor_MV, 'C', - OrePrefixes.cableGt01.get(Materials.AnyCopper), 'R', OrePrefixes.plate.get(Materials.AnyRubber) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Conveyor_Module_HV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "RRR", "MCM", "RRR", 'M', ItemList.Electric_Motor_HV, 'C', - OrePrefixes.cableGt01.get(Materials.Gold), 'R', OrePrefixes.plate.get(Materials.AnyRubber) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Conveyor_Module_EV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "RRR", "MCM", "RRR", 'M', ItemList.Electric_Motor_EV, 'C', - OrePrefixes.cableGt01.get(Materials.Aluminium), 'R', OrePrefixes.plate.get(Materials.AnyRubber) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Conveyor_Module_IV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "RRR", "MCM", "RRR", 'M', ItemList.Electric_Motor_IV, 'C', - OrePrefixes.cableGt01.get(Materials.Tungsten), 'R', - OrePrefixes.plate.get(Materials.AnySyntheticRubber) }); - - GT_ModHandler.addCraftingRecipe( - ItemList.Robot_Arm_LV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "CCC", "MSM", "PES", 'S', OrePrefixes.stick.get(Materials.Steel), 'M', - ItemList.Electric_Motor_LV, 'P', ItemList.Electric_Piston_LV, 'E', - OrePrefixes.circuit.get(Materials.LV), 'C', OrePrefixes.cableGt01.get(Materials.Tin) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Robot_Arm_MV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "CCC", "MSM", "PES", 'S', OrePrefixes.stick.get(Materials.Aluminium), 'M', - ItemList.Electric_Motor_MV, 'P', ItemList.Electric_Piston_MV, 'E', - OrePrefixes.circuit.get(Materials.MV), 'C', OrePrefixes.cableGt01.get(Materials.AnyCopper) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Robot_Arm_HV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "CCC", "MSM", "PES", 'S', OrePrefixes.stick.get(Materials.StainlessSteel), 'M', - ItemList.Electric_Motor_HV, 'P', ItemList.Electric_Piston_HV, 'E', - OrePrefixes.circuit.get(Materials.HV), 'C', OrePrefixes.cableGt01.get(Materials.Gold) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Robot_Arm_EV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "CCC", "MSM", "PES", 'S', OrePrefixes.stick.get(Materials.Titanium), 'M', - ItemList.Electric_Motor_EV, 'P', ItemList.Electric_Piston_EV, 'E', - OrePrefixes.circuit.get(Materials.EV), 'C', OrePrefixes.cableGt01.get(Materials.Aluminium) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Robot_Arm_IV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "CCC", "MSM", "PES", 'S', OrePrefixes.stick.get(Materials.TungstenSteel), 'M', - ItemList.Electric_Motor_IV, 'P', ItemList.Electric_Piston_IV, 'E', - OrePrefixes.circuit.get(Materials.IV), 'C', OrePrefixes.cableGt01.get(Materials.Tungsten) }); - - GT_ModHandler.addCraftingRecipe( - ItemList.Emitter_LV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "SSC", "WQS", "CWS", 'Q', OrePrefixes.gem.get(Materials.CertusQuartz), 'S', - OrePrefixes.stick.get(Materials.Brass), 'C', OrePrefixes.circuit.get(Materials.LV), 'W', - OrePrefixes.cableGt01.get(Materials.Tin) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Emitter_MV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "SSC", "WQS", "CWS", 'Q', OrePrefixes.gem.get(Materials.EnderPearl), 'S', - OrePrefixes.stick.get(Materials.Electrum), 'C', OrePrefixes.circuit.get(Materials.MV), 'W', - OrePrefixes.cableGt01.get(Materials.AnyCopper) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Emitter_HV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "SSC", "WQS", "CWS", 'Q', OrePrefixes.gem.get(Materials.EnderEye), 'S', - OrePrefixes.stick.get(Materials.Chrome), 'C', OrePrefixes.circuit.get(Materials.HV), 'W', - OrePrefixes.cableGt01.get(Materials.Gold) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Emitter_EV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "SSC", "WQS", "CWS", 'Q', ItemList.QuantumEye, 'S', - OrePrefixes.stick.get(Materials.Platinum), 'C', OrePrefixes.circuit.get(Materials.EV), 'W', - OrePrefixes.cableGt01.get(Materials.Aluminium) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Emitter_IV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "SSC", "WQS", "CWS", 'Q', ItemList.QuantumStar, 'S', - OrePrefixes.stick.get(Materials.Iridium), 'C', OrePrefixes.circuit.get(Materials.IV), 'W', - OrePrefixes.cableGt01.get(Materials.Tungsten) }); - - GT_ModHandler.addCraftingRecipe( - ItemList.Sensor_LV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "P Q", "PS ", "CPP", 'Q', OrePrefixes.gem.get(Materials.CertusQuartz), 'S', - OrePrefixes.stick.get(Materials.Brass), 'P', OrePrefixes.plate.get(Materials.Steel), 'C', - OrePrefixes.circuit.get(Materials.LV) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Sensor_MV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "P Q", "PS ", "CPP", 'Q', OrePrefixes.gemFlawless.get(Materials.Emerald), 'S', - OrePrefixes.stick.get(Materials.Electrum), 'P', OrePrefixes.plate.get(Materials.Aluminium), 'C', - OrePrefixes.circuit.get(Materials.MV) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Sensor_HV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "P Q", "PS ", "CPP", 'Q', OrePrefixes.gem.get(Materials.EnderEye), 'S', - OrePrefixes.stick.get(Materials.Chrome), 'P', OrePrefixes.plate.get(Materials.StainlessSteel), 'C', - OrePrefixes.circuit.get(Materials.HV) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Sensor_EV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "P Q", "PS ", "CPP", 'Q', ItemList.QuantumEye, 'S', - OrePrefixes.stick.get(Materials.Platinum), 'P', OrePrefixes.plate.get(Materials.Titanium), 'C', - OrePrefixes.circuit.get(Materials.EV) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Sensor_IV.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "P Q", "PS ", "CPP", 'Q', ItemList.QuantumStar, 'S', - OrePrefixes.stick.get(Materials.Iridium), 'P', OrePrefixes.plate.get(Materials.TungstenSteel), 'C', - OrePrefixes.circuit.get(Materials.IV) }); - - GT_ModHandler.addCraftingRecipe( - ItemList.Component_Sawblade_Diamond.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { " D ", "DGD", " D ", 'D', OrePrefixes.dustSmall.get(Materials.Diamond), 'G', - OrePrefixes.gearGt.get(Materials.CobaltBrass) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Component_Grinder_Diamond.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "DSD", "SIS", "DSD", 'I', OrePrefixes.gem.get(Materials.Diamond), 'D', - OrePrefixes.dust.get(Materials.Diamond), 'S', OrePrefixes.plateDouble.get(Materials.Steel) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Component_Grinder_Tungsten.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "TST", "SIS", "TST", 'I', OreDictNames.craftingIndustrialDiamond, 'T', - OrePrefixes.plate.get(Materials.Tungsten), 'S', OrePrefixes.plateDouble.get(Materials.Steel) }); - - GT_ModHandler.addCraftingRecipe( - ItemList.Cover_Screen.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "AGA", "RPB", "ALA", 'A', OrePrefixes.plate.get(Materials.Aluminium), 'L', - OrePrefixes.dust.get(Materials.Glowstone), 'R', Dyes.dyeRed, 'G', Dyes.dyeLime, 'B', Dyes.dyeBlue, 'P', - OrePrefixes.plate.get(Materials.Glass) }); - - GT_ModHandler.addCraftingRecipe( - ItemList.Tool_Scanner.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE - | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "EPR", "CSC", "PBP", 'C', OrePrefixes.circuit.get(Materials.HV), 'P', - OrePrefixes.plate.get(Materials.Aluminium), 'E', ItemList.Emitter_MV, 'R', ItemList.Sensor_MV, 'S', - ItemList.Cover_Screen, 'B', ItemList.Battery_RE_MV_Lithium }); - - GT_ModHandler.addCraftingRecipe( - ItemList.ItemFilter_Export.get(1L), - new Object[] { "SPS", "dIC", "SPS", 'P', OrePrefixes.plate.get(Materials.Tin), 'S', - OrePrefixes.screw.get(Materials.Iron), 'I', ItemList.Component_Filter, 'C', - ItemList.Conveyor_Module_LV }); - GT_ModHandler.addCraftingRecipe( - ItemList.ItemFilter_Import.get(1L), - new Object[] { "SPS", "CId", "SPS", 'P', OrePrefixes.plate.get(Materials.Tin), 'S', - OrePrefixes.screw.get(Materials.Iron), 'I', ItemList.Component_Filter, 'C', - ItemList.Conveyor_Module_LV }); - - GT_ModHandler.addCraftingRecipe( - ItemList.Tool_Cover_Copy_Paste.get(1L), - GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "PSP", "PCP", "PBP", 'P', OrePrefixes.plate.get(Materials.Aluminium), 'S', - ItemList.Tool_DataStick.get(1L), 'C', ItemList.Cover_Screen.get(1L), 'B', - ItemList.Battery_RE_MV_Lithium.get(1L) }); - } - - private void craftingShapelessRecipes() { - - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Coin_Chocolate.get(1L), - new Object[] { OrePrefixes.dust.get(Materials.Cocoa), OrePrefixes.dust.get(Materials.Milk), - OrePrefixes.dust.get(Materials.Sugar), OrePrefixes.foil.get(Materials.Gold) }); - - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Credit_Copper.get(8L), - GT_ModHandler.RecipeBits.KEEPNBT | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Credit_Iron }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Credit_Iron.get(8L), - GT_ModHandler.RecipeBits.KEEPNBT | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Credit_Silver }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Credit_Silver.get(8L), - GT_ModHandler.RecipeBits.KEEPNBT | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Credit_Gold }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Credit_Gold.get(8L), - GT_ModHandler.RecipeBits.KEEPNBT | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Credit_Platinum }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Credit_Platinum.get(8L), - GT_ModHandler.RecipeBits.KEEPNBT | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Credit_Osmium }); - - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Credit_Iron.get(1L), - GT_ModHandler.RecipeBits.KEEPNBT | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Credit_Copper, ItemList.Credit_Copper, ItemList.Credit_Copper, - ItemList.Credit_Copper, ItemList.Credit_Copper, ItemList.Credit_Copper, ItemList.Credit_Copper, - ItemList.Credit_Copper }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Credit_Silver.get(1L), - GT_ModHandler.RecipeBits.KEEPNBT | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Credit_Iron, ItemList.Credit_Iron, ItemList.Credit_Iron, ItemList.Credit_Iron, - ItemList.Credit_Iron, ItemList.Credit_Iron, ItemList.Credit_Iron, ItemList.Credit_Iron }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Credit_Gold.get(1L), - GT_ModHandler.RecipeBits.KEEPNBT | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Credit_Silver, ItemList.Credit_Silver, ItemList.Credit_Silver, - ItemList.Credit_Silver, ItemList.Credit_Silver, ItemList.Credit_Silver, ItemList.Credit_Silver, - ItemList.Credit_Silver }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Credit_Platinum.get(1L), - GT_ModHandler.RecipeBits.KEEPNBT | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Credit_Gold, ItemList.Credit_Gold, ItemList.Credit_Gold, ItemList.Credit_Gold, - ItemList.Credit_Gold, ItemList.Credit_Gold, ItemList.Credit_Gold, ItemList.Credit_Gold }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Credit_Osmium.get(1L), - GT_ModHandler.RecipeBits.KEEPNBT | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Credit_Platinum, ItemList.Credit_Platinum, ItemList.Credit_Platinum, - ItemList.Credit_Platinum, ItemList.Credit_Platinum, ItemList.Credit_Platinum, ItemList.Credit_Platinum, - ItemList.Credit_Platinum }); - - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Credit_Greg_Copper.get(8L), - GT_ModHandler.RecipeBits.KEEPNBT | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Credit_Greg_Cupronickel }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Credit_Greg_Cupronickel.get(8L), - GT_ModHandler.RecipeBits.KEEPNBT | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Credit_Greg_Silver }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Credit_Greg_Silver.get(8L), - GT_ModHandler.RecipeBits.KEEPNBT | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Credit_Greg_Gold }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Credit_Greg_Gold.get(8L), - GT_ModHandler.RecipeBits.KEEPNBT | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Credit_Greg_Platinum }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Credit_Greg_Platinum.get(8L), - GT_ModHandler.RecipeBits.KEEPNBT | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Credit_Greg_Osmium }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Credit_Greg_Osmium.get(8L), - GT_ModHandler.RecipeBits.KEEPNBT | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Credit_Greg_Naquadah }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Credit_Greg_Naquadah.get(8L), - GT_ModHandler.RecipeBits.KEEPNBT | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Credit_Greg_Neutronium }); - - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Credit_Greg_Cupronickel.get(1L), - GT_ModHandler.RecipeBits.KEEPNBT | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Credit_Greg_Copper, ItemList.Credit_Greg_Copper, ItemList.Credit_Greg_Copper, - ItemList.Credit_Greg_Copper, ItemList.Credit_Greg_Copper, ItemList.Credit_Greg_Copper, - ItemList.Credit_Greg_Copper, ItemList.Credit_Greg_Copper }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Credit_Greg_Silver.get(1L), - GT_ModHandler.RecipeBits.KEEPNBT | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Credit_Greg_Cupronickel, ItemList.Credit_Greg_Cupronickel, - ItemList.Credit_Greg_Cupronickel, ItemList.Credit_Greg_Cupronickel, ItemList.Credit_Greg_Cupronickel, - ItemList.Credit_Greg_Cupronickel, ItemList.Credit_Greg_Cupronickel, ItemList.Credit_Greg_Cupronickel }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Credit_Greg_Gold.get(1L), - GT_ModHandler.RecipeBits.KEEPNBT | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Credit_Greg_Silver, ItemList.Credit_Greg_Silver, ItemList.Credit_Greg_Silver, - ItemList.Credit_Greg_Silver, ItemList.Credit_Greg_Silver, ItemList.Credit_Greg_Silver, - ItemList.Credit_Greg_Silver, ItemList.Credit_Greg_Silver }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Credit_Greg_Platinum.get(1L), - GT_ModHandler.RecipeBits.KEEPNBT | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Credit_Greg_Gold, ItemList.Credit_Greg_Gold, ItemList.Credit_Greg_Gold, - ItemList.Credit_Greg_Gold, ItemList.Credit_Greg_Gold, ItemList.Credit_Greg_Gold, - ItemList.Credit_Greg_Gold, ItemList.Credit_Greg_Gold }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Credit_Greg_Osmium.get(1L), - GT_ModHandler.RecipeBits.KEEPNBT | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Credit_Greg_Platinum, ItemList.Credit_Greg_Platinum, ItemList.Credit_Greg_Platinum, - ItemList.Credit_Greg_Platinum, ItemList.Credit_Greg_Platinum, ItemList.Credit_Greg_Platinum, - ItemList.Credit_Greg_Platinum, ItemList.Credit_Greg_Platinum }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Credit_Greg_Naquadah.get(1L), - GT_ModHandler.RecipeBits.KEEPNBT | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Credit_Greg_Osmium, ItemList.Credit_Greg_Osmium, ItemList.Credit_Greg_Osmium, - ItemList.Credit_Greg_Osmium, ItemList.Credit_Greg_Osmium, ItemList.Credit_Greg_Osmium, - ItemList.Credit_Greg_Osmium, ItemList.Credit_Greg_Osmium }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Credit_Greg_Neutronium.get(1L), - GT_ModHandler.RecipeBits.KEEPNBT | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Credit_Greg_Naquadah, ItemList.Credit_Greg_Naquadah, ItemList.Credit_Greg_Naquadah, - ItemList.Credit_Greg_Naquadah, ItemList.Credit_Greg_Naquadah, ItemList.Credit_Greg_Naquadah, - ItemList.Credit_Greg_Naquadah, ItemList.Credit_Greg_Naquadah }); - - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Schematic.get(1L), - GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Schematic_Crafting }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Schematic.get(1L), - GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Schematic_1by1 }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Schematic.get(1L), - GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Schematic_2by2 }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Schematic.get(1L), - GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Schematic_3by3 }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Schematic.get(1L), - GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Schematic_Dust }); - - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Tool_DataOrb.get(1L), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Tool_DataOrb.get(1L) }); - - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Tool_DataStick.get(1L), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ItemList.Tool_DataStick.get(1L) }); - - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Cover_RedstoneTransmitterInternal.get(1L), - new Object[] { ItemList.Cover_RedstoneTransmitterExternal.get(1L) }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Cover_RedstoneReceiverInternal.get(1L), - new Object[] { ItemList.Cover_RedstoneReceiverExternal.get(1L) }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Cover_RedstoneTransmitterExternal.get(1L), - new Object[] { ItemList.Cover_RedstoneTransmitterInternal.get(1L) }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Cover_RedstoneReceiverExternal.get(1L), - new Object[] { ItemList.Cover_RedstoneReceiverInternal.get(1L) }); - - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.ItemFilter_Export.get(1L), - new Object[] { ItemList.ItemFilter_Import.get(1L) }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.ItemFilter_Import.get(1L), - new Object[] { ItemList.ItemFilter_Export.get(1L) }); - - } - - private void registerBehaviors() { - IItemBehaviour behaviourSprayColorRemover = new Behaviour_Spray_Color_Remover( - ItemList.Spray_Empty.get(1L), - ItemList.Spray_Color_Used_Remover.get(1L), - ItemList.Spray_Color_Remover.get(1L), - 1024L); - addItemBehavior(32000 + Spray_Color_Remover.ID, behaviourSprayColorRemover); - addItemBehavior(32000 + Spray_Color_Used_Remover.ID, behaviourSprayColorRemover); - - IItemBehaviour behaviourMatches = new Behaviour_Lighter( - null, - ItemList.Tool_Matches.get(1L), - ItemList.Tool_Matches.get(1L), - 1L); - addItemBehavior(32000 + Tool_Matches.ID, behaviourMatches); - IItemBehaviour behaviourMatchBox = new Behaviour_Lighter( - null, - ItemList.Tool_MatchBox_Used.get(1L), - ItemList.Tool_MatchBox_Full.get(1L), - 16L); - addItemBehavior(32000 + Tool_MatchBox_Used.ID, behaviourMatchBox); - addItemBehavior(32000 + Tool_MatchBox_Full.ID, behaviourMatchBox); - - IItemBehaviour behaviourLighterInvar = new Behaviour_Lighter( - ItemList.Tool_Lighter_Invar_Empty.get(1L), - ItemList.Tool_Lighter_Invar_Used.get(1L), - ItemList.Tool_Lighter_Invar_Full.get(1L), - 100L); - addItemBehavior(32000 + Tool_Lighter_Invar_Used.ID, behaviourLighterInvar); - addItemBehavior(32000 + Tool_Lighter_Invar_Full.ID, behaviourLighterInvar); - - IItemBehaviour behaviourLighterPlatinum = new Behaviour_Lighter( - ItemList.Tool_Lighter_Platinum_Empty.get(1L), - ItemList.Tool_Lighter_Platinum_Used.get(1L), - ItemList.Tool_Lighter_Platinum_Full.get(1L), - 1000L); - addItemBehavior(32000 + Tool_Lighter_Platinum_Used.ID, behaviourLighterPlatinum); - addItemBehavior(32000 + Tool_Lighter_Platinum_Full.ID, behaviourLighterPlatinum); - - for (int i = 0; i < 16; i++) { - IItemBehaviour behaviourSprayColor = new Behaviour_Spray_Color( - ItemList.Spray_Empty.get(1L), - ItemList.SPRAY_CAN_DYES_USED[i].get(1L), - ItemList.SPRAY_CAN_DYES[i].get(1L), - ConfigGeneral.sprayCanUses, - i); - addItemBehavior(32000 + Spray_Colors[i], behaviourSprayColor); - addItemBehavior(32000 + Spray_Colors_Used[i], behaviourSprayColor); - } - } - - private void setAllElectricStats() { - setElectricStats(32000 + Battery_RE_ULV_Tantalum.ID, 1000L, GT_Values.V[0], 0L, -3L, false); - setElectricStats(32000 + Battery_SU_LV_Sulfuric_Acid.ID, 18000L, GT_Values.V[1], 1L, -2L, true); - setElectricStats(32000 + Battery_SU_LV_Mercury.ID, 32000L, GT_Values.V[1], 1L, -2L, true); - setElectricStats(32000 + Battery_RE_LV_Cadmium.ID, 75000L, GT_Values.V[1], 1L, -3L, true); - setElectricStats(32000 + Battery_RE_LV_Lithium.ID, 100000L, GT_Values.V[1], 1L, -3L, true); - setElectricStats(32000 + Battery_RE_LV_Sodium.ID, 50000L, GT_Values.V[1], 1L, -3L, true); - setElectricStats(32000 + Battery_SU_MV_Sulfuric_Acid.ID, 72000L, GT_Values.V[2], 2L, -2L, true); - setElectricStats(32000 + Battery_SU_MV_Mercury.ID, 128000L, GT_Values.V[2], 2L, -2L, true); - setElectricStats(32000 + Battery_RE_MV_Cadmium.ID, 300000L, GT_Values.V[2], 2L, -3L, true); - setElectricStats(32000 + Battery_RE_MV_Lithium.ID, 400000L, GT_Values.V[2], 2L, -3L, true); - setElectricStats(32000 + Battery_RE_MV_Sodium.ID, 200000L, GT_Values.V[2], 2L, -3L, true); - setElectricStats(32000 + Battery_SU_HV_Sulfuric_Acid.ID, 288000L, GT_Values.V[3], 3L, -2L, true); - setElectricStats(32000 + Battery_SU_HV_Mercury.ID, 512000L, GT_Values.V[3], 3L, -2L, true); - setElectricStats(32000 + Battery_RE_HV_Cadmium.ID, 1200000L, GT_Values.V[3], 3L, -3L, true); - setElectricStats(32000 + Battery_RE_HV_Lithium.ID, 1600000L, GT_Values.V[3], 3L, -3L, true); - setElectricStats(32000 + Battery_RE_HV_Sodium.ID, 800000L, GT_Values.V[3], 3L, -3L, true); - setElectricStats(32000 + Energy_Lapotronic_Orb.ID, 100000000L, GT_Values.V[5], 5L, -3L, true); - setElectricStats(32000 + ID_MetaItem_01.ZPM.ID, 2000000000000L, GT_Values.V[7], 7L, -2L, true); - setElectricStats(32000 + Energy_Lapotronic_orb_2.ID, 1000000000L, GT_Values.V[6], 6L, -3L, true); - setElectricStats(32000 + ZPM2.ID, Long.MAX_VALUE, GT_Values.V[8], 8L, -3L, true); - setElectricStats(32000 + ZPM3.ID, Long.MAX_VALUE, GT_Values.V[12], 12L, -3L, true); - setElectricStats(32000 + ZPM4.ID, Long.MAX_VALUE, GT_Values.V[13], 13L, -3L, true); - setElectricStats(32000 + ZPM5.ID, Long.MAX_VALUE, GT_Values.V[14], 14L, -3L, true); - setElectricStats(32000 + ZPM6.ID, Long.MAX_VALUE, GT_Values.V[15], 15L, -3L, true); - setElectricStats(32000 + Energy_Module.ID, 10000000000L, GT_Values.V[7], 7L, -3L, true); - setElectricStats(32000 + Energy_Cluster.ID, 100000000000L, GT_Values.V[8], 8L, -3L, true); - setElectricStats(32000 + Tool_Cover_Copy_Paste.ID, 400000L, GT_Values.V[2], 2L, -1L, false); - setElectricStats(32000 + Tool_Cheat.ID, -2000000000L, 1000000000L, -1L, -3L, false); - setElectricStats(32000 + Tool_Scanner.ID, 400000L, GT_Values.V[2], 2L, -1L, false); - setElectricStats(32000 + BatteryHull_EV_Full.ID, 6400000L, GT_Values.V[4], 4L, -3L, true); - setElectricStats(32000 + BatteryHull_IV_Full.ID, 25600000L, GT_Values.V[5], 5L, -3L, true); - setElectricStats(32000 + BatteryHull_LuV_Full.ID, 102400000L, GT_Values.V[6], 6L, -3L, true); - setElectricStats(32000 + BatteryHull_ZPM_Full.ID, 409600000L, GT_Values.V[7], 7L, -3L, true); - setElectricStats(32000 + BatteryHull_UV_Full.ID, 1638400000L, GT_Values.V[8], 8L, -3L, true); - setElectricStats(32000 + BatteryHull_UHV_Full.ID, 6553600000L, GT_Values.V[9], 9L, -3L, true); - setElectricStats(32000 + BatteryHull_UEV_Full.ID, 26214400000L, GT_Values.V[10], 10L, -3L, true); - setElectricStats(32000 + BatteryHull_UIV_Full.ID, 104857600000L, GT_Values.V[11], 11L, -3L, true); - setElectricStats(32000 + BatteryHull_UMV_Full.ID, 419430400000L, GT_Values.V[12], 12L, -3L, true); - setElectricStats(32000 + BatteryHull_UxV_Full.ID, 1677721600000L, GT_Values.V[13], 13L, -3L, true); - } - - private void registerTieredTooltips() { - registerTieredTooltip(ItemList.Battery_RE_ULV_Tantalum.get(1), ULV); - registerTieredTooltip(ItemList.Battery_SU_LV_SulfuricAcid.get(1), LV); - registerTieredTooltip(ItemList.Battery_SU_LV_Mercury.get(1), LV); - registerTieredTooltip(ItemList.Battery_RE_LV_Cadmium.get(1), LV); - registerTieredTooltip(ItemList.Battery_RE_LV_Lithium.get(1), LV); - registerTieredTooltip(ItemList.Battery_RE_LV_Sodium.get(1), LV); - registerTieredTooltip(ItemList.Battery_SU_MV_SulfuricAcid.get(1), MV); - registerTieredTooltip(ItemList.Battery_SU_MV_Mercury.get(1), MV); - registerTieredTooltip(ItemList.Battery_RE_MV_Cadmium.get(1), MV); - registerTieredTooltip(ItemList.Battery_RE_MV_Lithium.get(1), MV); - registerTieredTooltip(ItemList.Battery_RE_MV_Sodium.get(1), MV); - registerTieredTooltip(ItemList.Battery_SU_HV_SulfuricAcid.get(1), HV); - registerTieredTooltip(ItemList.Battery_SU_HV_Mercury.get(1), HV); - registerTieredTooltip(ItemList.Battery_RE_HV_Cadmium.get(1), HV); - registerTieredTooltip(ItemList.Battery_RE_HV_Lithium.get(1), HV); - registerTieredTooltip(ItemList.Battery_RE_HV_Sodium.get(1), HV); - registerTieredTooltip(ItemList.Energy_LapotronicOrb.get(1), IV); - registerTieredTooltip(ItemList.ZPM.get(1), ZPM); - registerTieredTooltip(ItemList.Energy_LapotronicOrb2.get(1), LuV); - registerTieredTooltip(ItemList.ZPM2.get(1), UV); - registerTieredTooltip(ItemList.ZPM3.get(1), UMV); - registerTieredTooltip(ItemList.ZPM4.get(1), UXV); - registerTieredTooltip(ItemList.ZPM5.get(1), MAX); - registerTieredTooltip(ItemList.ZPM6.get(1), ERV); - registerTieredTooltip(ItemList.Energy_Module.get(1), ZPM); - registerTieredTooltip(ItemList.Energy_Cluster.get(1), UV); - registerTieredTooltip(ItemList.Circuit_Primitive.get(1), ULV); - registerTieredTooltip(ItemList.Circuit_Basic.get(1), LV); - registerTieredTooltip(ItemList.Circuit_Good.get(1), MV); - registerTieredTooltip(ItemList.Circuit_Advanced.get(1), HV); - registerTieredTooltip(ItemList.Circuit_Data.get(1), EV); - registerTieredTooltip(ItemList.Circuit_Elite.get(1), IV); - registerTieredTooltip(ItemList.Circuit_Master.get(1), LuV); - registerTieredTooltip(ItemList.BatteryHull_EV_Full.get(1), EV); - registerTieredTooltip(ItemList.BatteryHull_IV_Full.get(1), IV); - registerTieredTooltip(ItemList.BatteryHull_LuV_Full.get(1), LuV); - registerTieredTooltip(ItemList.BatteryHull_ZPM_Full.get(1), ZPM); - registerTieredTooltip(ItemList.BatteryHull_UV_Full.get(1), UV); - registerTieredTooltip(ItemList.BatteryHull_UHV_Full.get(1), UHV); - registerTieredTooltip(ItemList.BatteryHull_UEV_Full.get(1), UEV); - registerTieredTooltip(ItemList.BatteryHull_UIV_Full.get(1), UIV); - registerTieredTooltip(ItemList.BatteryHull_UMV_Full.get(1), UMV); - registerTieredTooltip(ItemList.BatteryHull_UxV_Full.get(1), UXV); - - } -} diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java deleted file mode 100644 index 857de00e6a..0000000000 --- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java +++ /dev/null @@ -1,3115 +0,0 @@ -package gregtech.common.items; - -import static gregtech.api.enums.GT_Values.RA; -import static gregtech.api.enums.Mods.Forestry; -import static gregtech.api.enums.Textures.BlockIcons.MACHINE_CASINGS; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_ADVANCED_REDSTONE_RECEIVER; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_ADVANCED_REDSTONE_TRANSMITTER; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_WIRELESS_ACTIVITYDETECTOR; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_WIRELESS_FLUID_DETECTOR; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_WIRELESS_ITEM_DETECTOR; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_WIRELESS_MAINTENANCE_DETECTOR; -import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; -import static gregtech.api.recipe.RecipeMaps.compressorRecipes; -import static gregtech.api.recipe.RecipeMaps.extractorRecipes; -import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; -import static gregtech.api.util.GT_RecipeBuilder.MINUTES; -import static gregtech.api.util.GT_RecipeBuilder.SECONDS; -import static gregtech.api.util.GT_RecipeBuilder.WILDCARD; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Alcopops; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Apple_Juice; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Beer; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Cave_Johnsons_Grenade_Juice; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Chilly_Sauce; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Cider; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Dark_Beer; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Diablo_Sauce; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Diabolo_Sauce; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Dragon_Blood; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Glen_McKenner; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Golden_Apple_Juice; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Golden_Cider; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Grape_Juice; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Holy_Water; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Hops_Juice; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Hot_Sauce; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Iduns_Apple_Juice; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Lemon_Juice; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Lemonade; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Leninade; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Limoncello; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Milk; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Mineral_Water; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Notches_Brew; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Pirate_Brew; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Potato_Juice; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Purple_Drink; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Reed_Water; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Rum; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Salty_Water; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Scotch; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Snitches_Glitch_Sauce; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Vinegar; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Vodka; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Wheaty_Hops_Juice; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Wheaty_Juice; -import static gregtech.common.items.ID_MetaItem_02.Bottle_Wine; -import static gregtech.common.items.ID_MetaItem_02.Cover_AdvancedRedstoneReceiverExternal; -import static gregtech.common.items.ID_MetaItem_02.Cover_AdvancedRedstoneReceiverInternal; -import static gregtech.common.items.ID_MetaItem_02.Cover_AdvancedRedstoneTransmitterExternal; -import static gregtech.common.items.ID_MetaItem_02.Cover_AdvancedRedstoneTransmitterInternal; -import static gregtech.common.items.ID_MetaItem_02.Cover_WirelessActivityDetector; -import static gregtech.common.items.ID_MetaItem_02.Cover_WirelessFluidDetector; -import static gregtech.common.items.ID_MetaItem_02.Cover_WirelessItemDetector; -import static gregtech.common.items.ID_MetaItem_02.Cover_WirelessNeedsMaintainance; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Argentia; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Aurelia; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Bauxite; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_BobsYerUncleRanks; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Chilly; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Coppon; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Cucumber; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Ferru; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Grapes; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Ilmenite; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Indigo; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Iridium; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Lemon; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_MTomato; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Manganese; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Mica; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_MilkWart; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Naquadah; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Nickel; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_OilBerry; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Onion; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Osmium; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Pitchblende; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Platinum; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Plumbilia; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Rape; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Scheelite; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_TeaLeaf; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Thorium; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Tine; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Tomato; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_UUABerry; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_UUMBerry; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Uraninite; -import static gregtech.common.items.ID_MetaItem_02.Crop_Drop_Zinc; -import static gregtech.common.items.ID_MetaItem_02.Display_ITS_FREE; -import static gregtech.common.items.ID_MetaItem_02.Dye_Color_00; -import static gregtech.common.items.ID_MetaItem_02.Dye_Color_01; -import static gregtech.common.items.ID_MetaItem_02.Dye_Color_02; -import static gregtech.common.items.ID_MetaItem_02.Dye_Color_03; -import static gregtech.common.items.ID_MetaItem_02.Dye_Color_04; -import static gregtech.common.items.ID_MetaItem_02.Dye_Color_05; -import static gregtech.common.items.ID_MetaItem_02.Dye_Color_06; -import static gregtech.common.items.ID_MetaItem_02.Dye_Color_07; -import static gregtech.common.items.ID_MetaItem_02.Dye_Color_08; -import static gregtech.common.items.ID_MetaItem_02.Dye_Color_09; -import static gregtech.common.items.ID_MetaItem_02.Dye_Color_10; -import static gregtech.common.items.ID_MetaItem_02.Dye_Color_11; -import static gregtech.common.items.ID_MetaItem_02.Dye_Color_12; -import static gregtech.common.items.ID_MetaItem_02.Dye_Color_13; -import static gregtech.common.items.ID_MetaItem_02.Dye_Color_14; -import static gregtech.common.items.ID_MetaItem_02.Dye_Color_15; -import static gregtech.common.items.ID_MetaItem_02.Dye_Indigo; -import static gregtech.common.items.ID_MetaItem_02.Food_Baked_Baguette; -import static gregtech.common.items.ID_MetaItem_02.Food_Baked_Bun; -import static gregtech.common.items.ID_MetaItem_02.Food_Baked_Cake; -import static gregtech.common.items.ID_MetaItem_02.Food_Baked_Pizza_Cheese; -import static gregtech.common.items.ID_MetaItem_02.Food_Baked_Pizza_Meat; -import static gregtech.common.items.ID_MetaItem_02.Food_Baked_Pizza_Veggie; -import static gregtech.common.items.ID_MetaItem_02.Food_Burger_Cheese; -import static gregtech.common.items.ID_MetaItem_02.Food_Burger_Chum; -import static gregtech.common.items.ID_MetaItem_02.Food_Burger_Meat; -import static gregtech.common.items.ID_MetaItem_02.Food_Burger_Veggie; -import static gregtech.common.items.ID_MetaItem_02.Food_Cheese; -import static gregtech.common.items.ID_MetaItem_02.Food_ChiliChips; -import static gregtech.common.items.ID_MetaItem_02.Food_Chum; -import static gregtech.common.items.ID_MetaItem_02.Food_Chum_On_Stick; -import static gregtech.common.items.ID_MetaItem_02.Food_Dough; -import static gregtech.common.items.ID_MetaItem_02.Food_Dough_Chocolate; -import static gregtech.common.items.ID_MetaItem_02.Food_Dough_Sugar; -import static gregtech.common.items.ID_MetaItem_02.Food_Flat_Dough; -import static gregtech.common.items.ID_MetaItem_02.Food_Fries; -import static gregtech.common.items.ID_MetaItem_02.Food_Large_Sandwich_Bacon; -import static gregtech.common.items.ID_MetaItem_02.Food_Large_Sandwich_Cheese; -import static gregtech.common.items.ID_MetaItem_02.Food_Large_Sandwich_Steak; -import static gregtech.common.items.ID_MetaItem_02.Food_Large_Sandwich_Veggie; -import static gregtech.common.items.ID_MetaItem_02.Food_Packaged_ChiliChips; -import static gregtech.common.items.ID_MetaItem_02.Food_Packaged_Fries; -import static gregtech.common.items.ID_MetaItem_02.Food_Packaged_PotatoChips; -import static gregtech.common.items.ID_MetaItem_02.Food_PotatoChips; -import static gregtech.common.items.ID_MetaItem_02.Food_Potato_On_Stick; -import static gregtech.common.items.ID_MetaItem_02.Food_Potato_On_Stick_Roasted; -import static gregtech.common.items.ID_MetaItem_02.Food_Raw_Baguette; -import static gregtech.common.items.ID_MetaItem_02.Food_Raw_Bread; -import static gregtech.common.items.ID_MetaItem_02.Food_Raw_Bun; -import static gregtech.common.items.ID_MetaItem_02.Food_Raw_Cake; -import static gregtech.common.items.ID_MetaItem_02.Food_Raw_Cookie; -import static gregtech.common.items.ID_MetaItem_02.Food_Raw_Fries; -import static gregtech.common.items.ID_MetaItem_02.Food_Raw_Pizza_Cheese; -import static gregtech.common.items.ID_MetaItem_02.Food_Raw_Pizza_Meat; -import static gregtech.common.items.ID_MetaItem_02.Food_Raw_Pizza_Veggie; -import static gregtech.common.items.ID_MetaItem_02.Food_Raw_PotatoChips; -import static gregtech.common.items.ID_MetaItem_02.Food_Sandwich_Bacon; -import static gregtech.common.items.ID_MetaItem_02.Food_Sandwich_Cheese; -import static gregtech.common.items.ID_MetaItem_02.Food_Sandwich_Steak; -import static gregtech.common.items.ID_MetaItem_02.Food_Sandwich_Veggie; -import static gregtech.common.items.ID_MetaItem_02.Food_Sliced_Baguette; -import static gregtech.common.items.ID_MetaItem_02.Food_Sliced_Baguettes; -import static gregtech.common.items.ID_MetaItem_02.Food_Sliced_Bread; -import static gregtech.common.items.ID_MetaItem_02.Food_Sliced_Breads; -import static gregtech.common.items.ID_MetaItem_02.Food_Sliced_Bun; -import static gregtech.common.items.ID_MetaItem_02.Food_Sliced_Buns; -import static gregtech.common.items.ID_MetaItem_02.Food_Sliced_Cheese; -import static gregtech.common.items.ID_MetaItem_02.Food_Sliced_Cucumber; -import static gregtech.common.items.ID_MetaItem_02.Food_Sliced_Lemon; -import static gregtech.common.items.ID_MetaItem_02.Food_Sliced_Onion; -import static gregtech.common.items.ID_MetaItem_02.Food_Sliced_Tomato; -import static gregtech.common.items.ID_MetaItem_02.GelledToluene; -import static gregtech.common.items.ID_MetaItem_02.MSFMixture; -import static gregtech.common.items.ID_MetaItem_02.Plank_Acacia; -import static gregtech.common.items.ID_MetaItem_02.Plank_Acacia_Green; -import static gregtech.common.items.ID_MetaItem_02.Plank_Balsa; -import static gregtech.common.items.ID_MetaItem_02.Plank_Baobab; -import static gregtech.common.items.ID_MetaItem_02.Plank_Birch; -import static gregtech.common.items.ID_MetaItem_02.Plank_Cherry; -import static gregtech.common.items.ID_MetaItem_02.Plank_Chestnut; -import static gregtech.common.items.ID_MetaItem_02.Plank_Citrus; -import static gregtech.common.items.ID_MetaItem_02.Plank_DarkOak; -import static gregtech.common.items.ID_MetaItem_02.Plank_Ebony; -import static gregtech.common.items.ID_MetaItem_02.Plank_Greenheart; -import static gregtech.common.items.ID_MetaItem_02.Plank_Jungle; -import static gregtech.common.items.ID_MetaItem_02.Plank_Kapok; -import static gregtech.common.items.ID_MetaItem_02.Plank_Larch; -import static gregtech.common.items.ID_MetaItem_02.Plank_Lime; -import static gregtech.common.items.ID_MetaItem_02.Plank_Mahagony; -import static gregtech.common.items.ID_MetaItem_02.Plank_Mahoe; -import static gregtech.common.items.ID_MetaItem_02.Plank_Maple; -import static gregtech.common.items.ID_MetaItem_02.Plank_Oak; -import static gregtech.common.items.ID_MetaItem_02.Plank_Palm; -import static gregtech.common.items.ID_MetaItem_02.Plank_Papaya; -import static gregtech.common.items.ID_MetaItem_02.Plank_Pine; -import static gregtech.common.items.ID_MetaItem_02.Plank_Plum; -import static gregtech.common.items.ID_MetaItem_02.Plank_Poplar; -import static gregtech.common.items.ID_MetaItem_02.Plank_Sequoia; -import static gregtech.common.items.ID_MetaItem_02.Plank_Spruce; -import static gregtech.common.items.ID_MetaItem_02.Plank_Teak; -import static gregtech.common.items.ID_MetaItem_02.Plank_Walnut; -import static gregtech.common.items.ID_MetaItem_02.Plank_Wenge; -import static gregtech.common.items.ID_MetaItem_02.Plank_Willow; -import static gregtech.common.items.ID_MetaItem_02.SFMixture; -import static gregtech.common.items.ID_MetaItem_02.ThermosCan_Cafe_au_lait; -import static gregtech.common.items.ID_MetaItem_02.ThermosCan_Chocolate_Milk; -import static gregtech.common.items.ID_MetaItem_02.ThermosCan_Coffee; -import static gregtech.common.items.ID_MetaItem_02.ThermosCan_Dark_Cafe_au_lait; -import static gregtech.common.items.ID_MetaItem_02.ThermosCan_Dark_Chocolate_Milk; -import static gregtech.common.items.ID_MetaItem_02.ThermosCan_Dark_Coffee; -import static gregtech.common.items.ID_MetaItem_02.ThermosCan_Ice_Tea; -import static gregtech.common.items.ID_MetaItem_02.ThermosCan_Lait_au_cafe; -import static gregtech.common.items.ID_MetaItem_02.ThermosCan_Sweet_Tea; -import static gregtech.common.items.ID_MetaItem_02.ThermosCan_Tea; - -import net.minecraft.enchantment.Enchantment; -import net.minecraft.enchantment.EnumEnchantmentType; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.EnumAction; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.potion.Potion; - -import gregtech.api.GregTech_API; -import gregtech.api.enums.Dyes; -import gregtech.api.enums.GT_Values; -import gregtech.api.enums.ItemList; -import gregtech.api.enums.Materials; -import gregtech.api.enums.MaterialsUEVplus; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.enums.SubTag; -import gregtech.api.enums.TC_Aspects; -import gregtech.api.enums.TierEU; -import gregtech.api.items.GT_MetaGenerated_Item_X32; -import gregtech.api.objects.ItemData; -import gregtech.api.render.TextureFactory; -import gregtech.api.util.GT_FoodStat; -import gregtech.api.util.GT_Log; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Utility; -import gregtech.common.covers.redstone.GT_Cover_AdvancedRedstoneReceiverExternal; -import gregtech.common.covers.redstone.GT_Cover_AdvancedRedstoneReceiverInternal; -import gregtech.common.covers.redstone.GT_Cover_AdvancedRedstoneTransmitterExternal; -import gregtech.common.covers.redstone.GT_Cover_AdvancedRedstoneTransmitterInternal; -import gregtech.common.covers.redstone.GT_Cover_WirelessDoesWorkDetector; -import gregtech.common.covers.redstone.GT_Cover_WirelessFluidDetector; -import gregtech.common.covers.redstone.GT_Cover_WirelessItemDetector; -import gregtech.common.covers.redstone.GT_Cover_WirelessMaintenanceDetector; -import ic2.api.crops.CropCard; -import ic2.api.crops.Crops; - -public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 { - - public static GT_MetaGenerated_Item_02 INSTANCE; - private static final String aTextCover = "Usable as Cover"; - - public GT_MetaGenerated_Item_02() { - super( - "metaitem.02", - OrePrefixes.toolHeadSword, - OrePrefixes.toolHeadPickaxe, - OrePrefixes.toolHeadShovel, - OrePrefixes.toolHeadAxe, - OrePrefixes.toolHeadHoe, - OrePrefixes.toolHeadHammer, - OrePrefixes.toolHeadFile, - OrePrefixes.toolHeadSaw, - OrePrefixes.toolHeadDrill, - OrePrefixes.toolHeadChainsaw, - OrePrefixes.toolHeadWrench, - OrePrefixes.toolHeadUniversalSpade, - OrePrefixes.toolHeadSense, - OrePrefixes.toolHeadPlow, - OrePrefixes.___placeholder___, - OrePrefixes.toolHeadBuzzSaw, - OrePrefixes.turbineBlade, - null, - OrePrefixes.itemCasing, - OrePrefixes.wireFine, - OrePrefixes.gearGtSmall, - OrePrefixes.rotor, - OrePrefixes.stickLong, - OrePrefixes.springSmall, - OrePrefixes.spring, - OrePrefixes.___placeholder___, - OrePrefixes.___placeholder___, - OrePrefixes.gemChipped, - OrePrefixes.gemFlawed, - OrePrefixes.gemFlawless, - OrePrefixes.gemExquisite, - OrePrefixes.gearGt); - INSTANCE = this; - - ItemList.ThermosCan_Dark_Coffee.set( - addItem( - ThermosCan_Dark_Coffee.ID, - "Dark Coffee", - "Coffee, dark, without anything else", - new GT_FoodStat( - 2, - 0.2F, - EnumAction.drink, - ItemList.ThermosCan_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.moveSpeed.id, - 400, - 1, - 70, - Potion.digSpeed.id, - 400, - 1, - 70), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.GELUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 2L))); - ItemList.ThermosCan_Dark_Cafe_au_lait.set( - addItem( - ThermosCan_Dark_Cafe_au_lait.ID, - "Dark Coffee au lait", - "Keeping you awake the whole night", - new GT_FoodStat( - 2, - 0.2F, - EnumAction.drink, - ItemList.ThermosCan_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.moveSpeed.id, - 400, - 2, - 90, - Potion.digSpeed.id, - 400, - 2, - 90), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.GELUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 3L))); - ItemList.ThermosCan_Coffee.set( - addItem( - ThermosCan_Coffee.ID, - "Coffee", - "Just the regular morning Coffee", - new GT_FoodStat( - 3, - 0.4F, - EnumAction.drink, - ItemList.ThermosCan_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.moveSpeed.id, - 400, - 0, - 50, - Potion.digSpeed.id, - 400, - 0, - 50), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.GELUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 1L))); - ItemList.ThermosCan_Cafe_au_lait.set( - addItem( - ThermosCan_Cafe_au_lait.ID, - "Cafe au lait", - "Sweet Coffee", - new GT_FoodStat( - 3, - 0.4F, - EnumAction.drink, - ItemList.ThermosCan_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.moveSpeed.id, - 400, - 1, - 70, - Potion.digSpeed.id, - 400, - 1, - 70), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.GELUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 2L))); - ItemList.ThermosCan_Lait_au_cafe.set( - addItem( - ThermosCan_Lait_au_cafe.ID, - "Lait au cafe", - "You want Coffee to your Sugar?", - new GT_FoodStat( - 3, - 0.4F, - EnumAction.drink, - ItemList.ThermosCan_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.moveSpeed.id, - 400, - 2, - 90, - Potion.digSpeed.id, - 400, - 2, - 90), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.GELUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MOTUS, 3L))); - ItemList.ThermosCan_Dark_Chocolate_Milk.set( - addItem( - ThermosCan_Dark_Chocolate_Milk.ID, - "Dark Chocolate Milk", - "A bit bitter, better add a bit Sugar", - new GT_FoodStat( - 3, - 0.4F, - EnumAction.drink, - ItemList.ThermosCan_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.regeneration.id, - 50, - 1, - 60), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.GELUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SANO, 1L))); - ItemList.ThermosCan_Chocolate_Milk.set( - addItem( - ThermosCan_Chocolate_Milk.ID, - "Chocolate Milk", - "Sweet Goodness", - new GT_FoodStat( - 3, - 0.4F, - EnumAction.drink, - ItemList.ThermosCan_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.regeneration.id, - 50, - 1, - 90), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.GELUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SANO, 2L))); - ItemList.ThermosCan_Tea.set( - addItem( - ThermosCan_Tea.ID, - "Tea", - "Keep calm and carry on", - new GT_FoodStat( - 2, - 0.2F, - EnumAction.drink, - ItemList.ThermosCan_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.moveSlowdown.id, - 300, - 0, - 50), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.GELUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 2L))); - ItemList.ThermosCan_Sweet_Tea.set( - addItem( - ThermosCan_Sweet_Tea.ID, - "Sweet Tea", - "How about a Tea Party? In Boston?", - new GT_FoodStat( - 2, - 0.2F, - EnumAction.drink, - ItemList.ThermosCan_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.GELUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 2L))); - ItemList.ThermosCan_Ice_Tea.set( - addItem( - ThermosCan_Ice_Tea.ID, - "Ice Tea", - "Better than this purple Junk Drink from failed Potions", - new GT_FoodStat( - 2, - 0.2F, - EnumAction.drink, - ItemList.ThermosCan_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.moveSlowdown.id, - 300, - 0, - 50), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.GELUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 2L))); - - ItemList.GelledToluene.set(addItem(GelledToluene.ID, "Gelled Toluene", "Raw Explosive")); - - ItemList.Bottle_Purple_Drink.set( - addItem( - Bottle_Purple_Drink.ID, - "Purple Drink", - "How about Lemonade. Or some Ice Tea? I got Purple Drink!", - new GT_FoodStat( - 8, - 0.2F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.moveSlowdown.id, - 400, - 1, - 90), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VINCULUM, 1L))); - ItemList.Bottle_Grape_Juice.set( - addItem( - Bottle_Grape_Juice.ID, - "Grape Juice", - "This has a cleaning effect on your internals.", - new GT_FoodStat( - 4, - 0.2F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.hunger.id, - 400, - 1, - 60), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SANO, 1L))); - ItemList.Bottle_Wine.set( - addItem( - Bottle_Wine.ID, - "Wine", - "Ordinary", - new GT_FoodStat( - 2, - 0.2F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.confusion.id, - 400, - 1, - 60, - Potion.heal.id, - 0, - 0, - 60, - Potion.poison.id, - 200, - 1, - 5), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VENENUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SANO, 1L))); - ItemList.Bottle_Vinegar.set( - addItem( - Bottle_Vinegar.ID, - "Vinegar", - "Exquisite", - new GT_FoodStat( - 2, - 0.2F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.confusion.id, - 400, - 1, - 90, - Potion.heal.id, - 0, - 1, - 90, - Potion.poison.id, - 200, - 2, - 10, - Potion.harm.id, - 0, - 2, - 5), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VENENUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SANO, 1L))); - ItemList.Bottle_Potato_Juice.set( - addItem( - Bottle_Potato_Juice.ID, - "Potato Juice", - "Ever seen Potato Juice in stores? No? That has a reason.", - new GT_FoodStat( - 3, - 0.3F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L))); - ItemList.Bottle_Vodka.set( - addItem( - Bottle_Vodka.ID, - "Vodka", - "Not to confuse with Water", - new GT_FoodStat( - 2, - 0.2F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.confusion.id, - 500, - 0, - 60, - Potion.damageBoost.id, - 500, - 1, - 60, - Potion.poison.id, - 200, - 1, - 5), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VENENUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TELUM, 1L))); - ItemList.Bottle_Leninade.set( - addItem( - Bottle_Leninade.ID, - "Leninade", - "Let the Communism flow through you!", - new GT_FoodStat( - 2, - 0.2F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.confusion.id, - 500, - 1, - 90, - Potion.damageBoost.id, - 500, - 2, - 90, - Potion.poison.id, - 200, - 2, - 10, - Potion.harm.id, - 0, - 2, - 5), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VENENUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TELUM, 2L))); - ItemList.Bottle_Mineral_Water.set( - addItem( - Bottle_Mineral_Water.ID, - "Mineral Water", - "The best Stuff you can drink to stay healthy", - new GT_FoodStat( - 1, - 0.1F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.regeneration.id, - 100, - 1, - 10), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SANO, 1L))); - ItemList.Bottle_Salty_Water.set( - addItem( - Bottle_Salty_Water.ID, - "Salty Water", - "Like Sea Water but less dirty", - SubTag.INVISIBLE, - new GT_FoodStat( - 1, - 0.0F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.hunger.id, - 400, - 2, - 95), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TEMPESTAS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L))); - ItemList.Bottle_Reed_Water.set( - addItem( - Bottle_Reed_Water.ID, - "Reed Water", - "I guess this tastes better when fermented", - new GT_FoodStat( - 1, - 0.1F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L))); - ItemList.Bottle_Rum.set( - addItem( - Bottle_Rum.ID, - "Rum", - "A buddle o' rum", - new GT_FoodStat( - 4, - 0.4F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.confusion.id, - 300, - 0, - 60, - Potion.damageBoost.id, - 300, - 1, - 60, - Potion.poison.id, - 200, - 1, - 5), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VENENUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.LUCRUM, 1L))); - ItemList.Bottle_Pirate_Brew.set( - addItem( - Bottle_Pirate_Brew.ID, - "Pirate Brew", - "Set the Sails, we are going to Torrentuga!", - new GT_FoodStat( - 4, - 0.4F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.confusion.id, - 300, - 1, - 90, - Potion.damageBoost.id, - 300, - 2, - 90, - Potion.poison.id, - 200, - 2, - 10, - Potion.harm.id, - 0, - 2, - 5), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VENENUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.LUCRUM, 2L))); - ItemList.Bottle_Hops_Juice.set( - addItem( - Bottle_Hops_Juice.ID, - "Hops Juice", - "Every Beer has a start", - new GT_FoodStat( - 1, - 0.1F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L))); - ItemList.Bottle_Dark_Beer.set( - addItem( - Bottle_Dark_Beer.ID, - "Dark Beer", - "Dark Beer, for the real Men", - new GT_FoodStat( - 4, - 0.4F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.confusion.id, - 300, - 1, - 60, - Potion.damageBoost.id, - 300, - 1, - 60, - Potion.poison.id, - 200, - 1, - 5), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VENENUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 1L))); - ItemList.Bottle_Dragon_Blood.set( - addItem( - Bottle_Dragon_Blood.ID, - "Dragon Blood", - "FUS RO DAH!", - new GT_FoodStat( - 4, - 0.4F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.confusion.id, - 300, - 2, - 90, - Potion.damageBoost.id, - 300, - 2, - 90, - Potion.poison.id, - 200, - 2, - 10, - Potion.harm.id, - 0, - 2, - 5), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VENENUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 2L))); - ItemList.Bottle_Wheaty_Juice.set( - addItem( - Bottle_Wheaty_Juice.ID, - "Wheaty Juice", - "Is this liquefied Bread or what?", - new GT_FoodStat( - 2, - 0.1F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L))); - ItemList.Bottle_Scotch.set( - addItem( - Bottle_Scotch.ID, - "Scotch", - "Technically this is just a Whisky", - new GT_FoodStat( - 2, - 0.1F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.confusion.id, - 400, - 0, - 60, - Potion.resistance.id, - 400, - 1, - 60, - Potion.poison.id, - 200, - 1, - 5), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VENENUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 1L))); - ItemList.Bottle_Glen_McKenner.set( - addItem( - Bottle_Glen_McKenner.ID, - "Glen McKenner", - "Don't hand to easily surprised people, they will shatter it.", - new GT_FoodStat( - 2, - 0.1F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.confusion.id, - 400, - 1, - 90, - Potion.resistance.id, - 400, - 2, - 90, - Potion.poison.id, - 200, - 2, - 10, - Potion.harm.id, - 0, - 2, - 5), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VENENUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 2L))); - ItemList.Bottle_Wheaty_Hops_Juice.set( - addItem( - Bottle_Wheaty_Hops_Juice.ID, - "Wheaty Hops Juice", - "Also known as 'Duff-Lite'", - new GT_FoodStat( - 1, - 0.1F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 2L))); - ItemList.Bottle_Beer.set( - addItem( - Bottle_Beer.ID, - "Beer", - "Good old Beer", - new GT_FoodStat( - 6, - 0.4F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.confusion.id, - 400, - 0, - 60, - Potion.digSpeed.id, - 400, - 2, - 60, - Potion.poison.id, - 100, - 0, - 5), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VENENUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 1L))); - ItemList.Bottle_Chilly_Sauce.set( - addItem( - Bottle_Chilly_Sauce.ID, - "Chilly Sauce", - "Spicy", - new GT_FoodStat( - 2, - 0.1F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.confusion.id, - 1000, - 0, - 10, - Potion.fireResistance.id, - 1000, - 0, - 60), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VENENUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Bottle_Hot_Sauce.set( - addItem( - Bottle_Hot_Sauce.ID, - "Hot Sauce", - "Very Spicy, I guess?", - new GT_FoodStat( - 2, - 0.1F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.confusion.id, - 2000, - 0, - 30, - Potion.fireResistance.id, - 2000, - 0, - 70), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VENENUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 2L))); - ItemList.Bottle_Diabolo_Sauce.set( - addItem( - Bottle_Diabolo_Sauce.ID, - "Diabolo Sauce", - "As if the Devil made this Sauce", - new GT_FoodStat( - 2, - 0.1F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.confusion.id, - 3000, - 1, - 50, - Potion.fireResistance.id, - 3000, - 0, - 80), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VENENUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 3L))); - ItemList.Bottle_Diablo_Sauce.set( - addItem( - Bottle_Diablo_Sauce.ID, - "Diablo Sauce", - "Diablo always comes back!", - new GT_FoodStat( - 2, - 0.1F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.confusion.id, - 4000, - 1, - 70, - Potion.fireResistance.id, - 4000, - 0, - 90), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VENENUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 4L))); - ItemList.Bottle_Snitches_Glitch_Sauce.set( - addItem( - Bottle_Snitches_Glitch_Sauce.ID, - "Old Man Snitches glitched Diablo Sauce", - "[Missing No]", - SubTag.INVISIBLE, - new GT_FoodStat( - 2, - 0.1F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.confusion.id, - 9999, - 2, - 999, - Potion.fireResistance.id, - 9999, - 9, - 999), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VENENUM, 3L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 5L))); - ItemList.Bottle_Apple_Juice.set( - addItem( - Bottle_Apple_Juice.ID, - "Apple Juice", - "Made of the Apples from our best Oak Farms", - new GT_FoodStat( - 4, - 0.2F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.hunger.id, - 400, - 0, - 20), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L))); - ItemList.Bottle_Cider.set( - addItem( - Bottle_Cider.ID, - "Cider", - "If you have nothing better to do with your Apples", - new GT_FoodStat( - 4, - 0.2F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.confusion.id, - 400, - 0, - 60, - Potion.resistance.id, - 400, - 1, - 60, - Potion.poison.id, - 200, - 1, - 5), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VENENUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 1L))); - ItemList.Bottle_Golden_Apple_Juice.set( - addItem( - Bottle_Golden_Apple_Juice.ID, - "Golden Apple Juice", - "A golden Apple in liquid form", - new GT_FoodStat( - 4, - 0.2F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.hunger.id, - 400, - 0, - 20, - Potion.field_76444_x.id, - 2400, - 0, - 100, - Potion.regeneration.id, - 100, - 1, - 100), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SANO, 1L))); - ItemList.Bottle_Golden_Cider.set( - addItem( - Bottle_Golden_Cider.ID, - "Golden Cider", - "More Resistance, less Regeneration", - new GT_FoodStat( - 4, - 0.2F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.confusion.id, - 400, - 0, - 60, - Potion.field_76444_x.id, - 2400, - 1, - 95, - Potion.poison.id, - 200, - 1, - 5), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VENENUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 1L))); - ItemList.Bottle_Iduns_Apple_Juice.set( - addItem( - Bottle_Iduns_Apple_Juice.ID, - "Idun's Apple Juice", - "So you got the Idea of using Notch Apples for a drink?", - new GT_FoodStat( - 4, - 0.2F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.regeneration.id, - 600, - 4, - 100, - Potion.field_76444_x.id, - 2400, - 0, - 100, - Potion.resistance.id, - 6000, - 0, - 100, - Potion.fireResistance.id, - 6000, - 0, - 100), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.NEBRISUM, 9L))); - ItemList.Bottle_Notches_Brew.set( - addItem( - Bottle_Notches_Brew.ID, - "Notches Brew", - "This is just overpowered", - new GT_FoodStat( - 4, - 0.2F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.regeneration.id, - 700, - 4, - 95, - Potion.field_76444_x.id, - 3000, - 1, - 95, - Potion.resistance.id, - 7000, - 1, - 95, - Potion.fireResistance.id, - 7000, - 0, - 95, - Potion.harm.id, - 0, - 2, - 20), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VENENUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.NEBRISUM, 9L))); - ItemList.Bottle_Lemon_Juice.set( - addItem( - Bottle_Lemon_Juice.ID, - "Lemon Juice", - "Maybe adding Sugar will make it less sour", - new GT_FoodStat( - 2, - 0.4F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.digSpeed.id, - 1200, - 0, - 60), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 1L))); - ItemList.Bottle_Limoncello.set( - addItem( - Bottle_Limoncello.ID, - "Limoncello", - "An alcoholic Drink which tastes like Lemons", - new GT_FoodStat( - 2, - 0.4F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.digSpeed.id, - 1200, - 0, - 90, - Potion.poison.id, - 200, - 1, - 5), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VENENUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 1L))); - ItemList.Bottle_Lemonade.set( - addItem( - Bottle_Lemonade.ID, - "Lemonade", - "Cold and refreshing Lemonade", - new GT_FoodStat( - 4, - 0.3F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.digSpeed.id, - 900, - 1, - 90), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 1L))); - ItemList.Bottle_Alcopops.set( - addItem( - Bottle_Alcopops.ID, - "Alcopops", - "Don't let your Children drink this junk!", - new GT_FoodStat( - 2, - 0.2F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.digSpeed.id, - 900, - 1, - 90, - Potion.poison.id, - 300, - 2, - 20), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VENENUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VINCULUM, 1L))); - ItemList.Bottle_Cave_Johnsons_Grenade_Juice.set( - addItem( - Bottle_Cave_Johnsons_Grenade_Juice.ID, - "Cave Johnson's Grenade Juice", - "When life gives you Lemons, make Life take them Lemons back!", - new GT_FoodStat( - 0, - 0.0F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false).setExplosive(), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MORTUUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.PERDITIO, 1L))); - ItemList.Bottle_Milk.set( - addItem( - Bottle_Milk.ID, - "Milk", - "Got Milk?", - OrePrefixes.bottle.get(Materials.Milk), - new GT_FoodStat( - 0, - 0.0F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false).setMilk(), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SANO, 1L))); - ItemList.Bottle_Holy_Water.set( - addItem( - Bottle_Holy_Water.ID, - "Holy Water", - "May the holy Planks be with you", - OrePrefixes.bottle.get(Materials.HolyWater), - new GT_FoodStat( - 0, - 0.0F, - EnumAction.drink, - ItemList.Bottle_Empty.get(1L), - GregTech_API.sDrinksAlwaysDrinkable, - false, - false, - Potion.poison.id, - 100, - 1, - 100).setMilk(), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AURAM, 1L))); - - ItemList.Food_Potato_On_Stick.set( - addItem( - Food_Potato_On_Stick.ID, - "Potato on a Stick", - "Totally looks like a Crab Claw", - new GT_FoodStat(1, 0.3F, EnumAction.eat, new ItemStack(Items.stick, 1), false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Food_Potato_On_Stick_Roasted.set( - addItem( - Food_Potato_On_Stick_Roasted.ID, - "Roasted Potato on a Stick", - "Still looks like a Crab Claw", - new GT_FoodStat(6, 0.6F, EnumAction.eat, new ItemStack(Items.stick, 1), false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Raw_Fries.set( - addItem( - Food_Raw_Fries.ID, - "Potato Strips", - "It's Potato in Stripe Form", - new GT_FoodStat(1, 0.3F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L))); - ItemList.Food_Fries.set( - addItem( - Food_Fries.ID, - "Fries", - "Not to confuse with Fry the Delivery Boy", - new GT_FoodStat(7, 0.5F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Packaged_Fries.set( - addItem( - Food_Packaged_Fries.ID, - "Fries", - "Ketchup not included", - new GT_FoodStat( - 7, - 0.5F, - EnumAction.eat, - GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Paper, 1L), - false, - true, - false), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Raw_PotatoChips.set( - addItem( - Food_Raw_PotatoChips.ID, - "Potato Chips (Raw)", - "Just like a Potato", - new GT_FoodStat(1, 0.3F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L))); - ItemList.Food_PotatoChips.set( - addItem( - Food_PotatoChips.ID, - "Potato Chips", - "Crunchy", - new GT_FoodStat(7, 0.5F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_ChiliChips.set( - addItem( - Food_ChiliChips.ID, - "Chili Chips", - "Spicy", - new GT_FoodStat(7, 0.6F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Packaged_PotatoChips.set( - addItem( - Food_Packaged_PotatoChips.ID, - "Bag of Potato Chips", - "Full of delicious Air", - new GT_FoodStat( - 7, - 0.5F, - EnumAction.eat, - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 1L), - false, - true, - false), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Packaged_ChiliChips.set( - addItem( - Food_Packaged_ChiliChips.ID, - "Bag of Chili Chips", - "Stop making noises Baj!", - new GT_FoodStat( - 7, - 0.6F, - EnumAction.eat, - GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 1L), - false, - true, - false), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Chum.set( - addItem( - Food_Chum.ID, - "Chum", - "Chum is Fum!", - new GT_FoodStat( - 5, - 0.2F, - EnumAction.eat, - null, - true, - false, - true, - Potion.hunger.id, - 1000, - 4, - 100, - Potion.confusion.id, - 300, - 1, - 80), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Chum_On_Stick.set( - addItem( - Food_Chum_On_Stick.ID, - "Chum on a Stick", - "Don't forget to try our Chum-balaya", - new GT_FoodStat( - 5, - 0.2F, - EnumAction.eat, - new ItemStack(Items.stick, 1), - true, - false, - true, - Potion.hunger.id, - 1000, - 4, - 100, - Potion.confusion.id, - 300, - 1, - 80), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Dough_Sugar.set( - addItem( - Food_Dough_Sugar.ID, - "Sugary Dough", - "Don't eat the Dough before it is baken", - new GT_FoodStat(1, 0.1F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L))); - ItemList.Food_Dough_Chocolate.set( - addItem( - Food_Dough_Chocolate.ID, - "Chocolate Dough", - "I said don't eat the Dough!", - new GT_FoodStat(1, 0.1F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L))); - ItemList.Food_Raw_Cookie.set( - addItem( - Food_Raw_Cookie.ID, - "Cookie shaped Dough", - "For baking Cookies", - new GT_FoodStat(1, 0.1F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L))); - - ItemList.Food_Sliced_Buns.set( - addItem( - Food_Sliced_Buns.ID, - "Buns", - "Pre Sliced", - new GT_FoodStat(3, 0.5F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Burger_Veggie.set( - addItem( - Food_Burger_Veggie.ID, - "Veggieburger", - "No matter how you call this, this is NOT a Burger!", - new GT_FoodStat(3, 0.5F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Burger_Cheese.set( - addItem( - Food_Burger_Cheese.ID, - "Cheeseburger", - "Cheesy!", - new GT_FoodStat(3, 0.5F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), - new ItemData(Materials.Cheese, 907200L))); - ItemList.Food_Burger_Meat.set( - addItem( - Food_Burger_Meat.ID, - "Hamburger", - "The Mc Burger Queen Burger", - new GT_FoodStat(3, 0.5F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.CORPUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Burger_Chum.set( - addItem( - Food_Burger_Chum.ID, - "Chumburger", - "Fum is Chum!", - new GT_FoodStat( - 5, - 0.2F, - EnumAction.eat, - null, - true, - false, - true, - Potion.hunger.id, - 1000, - 4, - 100, - Potion.confusion.id, - 300, - 1, - 80), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - - ItemList.Food_Sliced_Breads.set( - addItem( - Food_Sliced_Breads.ID, - "Breads", - "Pre Sliced", - new GT_FoodStat(5, 0.6F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Sandwich_Veggie.set( - addItem( - Food_Sandwich_Veggie.ID, - "Veggie Sandwich", - "Meatless", - new GT_FoodStat(7, 0.6F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Sandwich_Cheese.set( - addItem( - Food_Sandwich_Cheese.ID, - "Cheese Sandwich", - "Say Cheese!", - new GT_FoodStat(7, 0.6F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Sandwich_Bacon.set( - addItem( - Food_Sandwich_Bacon.ID, - "Bacon Sandwich", - "The best Sandwich ever!", - new GT_FoodStat(10, 0.8F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.CORPUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Sandwich_Steak.set( - addItem( - Food_Sandwich_Steak.ID, - "Steak Sandwich", - "Not a 'Steam Sandwich'", - new GT_FoodStat(10, 0.8F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.CORPUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Sliced_Baguettes.set( - addItem( - Food_Sliced_Baguettes.ID, - "Baguettes", - "Pre Sliced", - new GT_FoodStat(8, 0.5F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Large_Sandwich_Veggie.set( - addItem( - Food_Large_Sandwich_Veggie.ID, - "Large Veggie Sandwich", - "Just not worth it", - new GT_FoodStat(15, 0.8F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 3L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Large_Sandwich_Cheese.set( - addItem( - Food_Large_Sandwich_Cheese.ID, - "Large Cheese Sandwich", - "I need another cheesy tooltip for this", - new GT_FoodStat(15, 0.8F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 3L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Large_Sandwich_Bacon.set( - addItem( - Food_Large_Sandwich_Bacon.ID, - "Large Bacon Sandwich", - "For Men! (and manly Women)", - new GT_FoodStat(20, 1.0F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.CORPUS, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Large_Sandwich_Steak.set( - addItem( - Food_Large_Sandwich_Steak.ID, - "Large Steak Sandwich", - "Yes, I once accidentially called it 'Steam Sandwich'", - new GT_FoodStat(20, 1.0F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.CORPUS, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Raw_Pizza_Veggie.set( - addItem( - Food_Raw_Pizza_Veggie.ID, - "Raw Veggie Pizza", - "Into the Oven with it!", - new GT_FoodStat(1, 0.2F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Raw_Pizza_Cheese.set( - addItem( - Food_Raw_Pizza_Cheese.ID, - "Raw Cheese Pizza", - "Into the Oven with it!", - new GT_FoodStat(2, 0.2F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Raw_Pizza_Meat.set( - addItem( - Food_Raw_Pizza_Meat.ID, - "Raw Mince Meat Pizza", - "Into the Oven with it!", - new GT_FoodStat(2, 0.2F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.CORPUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - - ItemList.Food_Baked_Pizza_Veggie.set( - addItem( - Food_Baked_Pizza_Veggie.ID, - "Veggie Pizza", - "The next they want is Gluten Free Pizzas...", - new GT_FoodStat(3, 0.3F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Baked_Pizza_Cheese.set( - addItem( - Food_Baked_Pizza_Cheese.ID, - "Cheese Pizza", - "Pizza Magarita", - new GT_FoodStat(4, 0.4F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Baked_Pizza_Meat.set( - addItem( - Food_Baked_Pizza_Meat.ID, - "Mince Meat Pizza", - "Emo Pizza, it cuts itself!", - new GT_FoodStat(5, 0.5F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.CORPUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - - ItemList.Dye_Indigo.set( - addItem( - Dye_Indigo.ID, - "Indigo Dye", - "Blue Dye", - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 1L), - Dyes.dyeBlue)); - - int[] Dye_Colors = new int[] { Dye_Color_00.ID, Dye_Color_01.ID, Dye_Color_02.ID, Dye_Color_03.ID, - Dye_Color_04.ID, Dye_Color_05.ID, Dye_Color_06.ID, Dye_Color_07.ID, Dye_Color_08.ID, Dye_Color_09.ID, - Dye_Color_10.ID, Dye_Color_11.ID, Dye_Color_12.ID, Dye_Color_13.ID, Dye_Color_14.ID, Dye_Color_15.ID }; - for (int i = 0; i < 16; i = i + 1) { - ItemList.DYE_ONLY_ITEMS[i].set( - addItem( - Dye_Colors[i], - Dyes.get(i).mName + " Dye", - "", - Dyes.get(i) - .name(), - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 1L))); - } - - ItemList.Plank_Oak - .set(addItem(Plank_Oak.ID, "Oak Plank", aTextCover, new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Spruce.set( - addItem(Plank_Spruce.ID, "Spruce Plank", aTextCover, new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Birch.set( - addItem(Plank_Birch.ID, "Birch Plank", aTextCover, new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Jungle.set( - addItem(Plank_Jungle.ID, "Jungle Plank", aTextCover, new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Acacia.set( - addItem(Plank_Acacia.ID, "Acacia Plank", aTextCover, new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_DarkOak.set( - addItem( - Plank_DarkOak.ID, - "Dark Oak Plank", - aTextCover, - new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Larch.set( - addItem(Plank_Larch.ID, "Larch Plank", aTextCover, new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Teak - .set(addItem(Plank_Teak.ID, "Teak Plank", aTextCover, new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Acacia_Green.set( - addItem( - Plank_Acacia_Green.ID, - "Green Acacia Plank", - aTextCover, - new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Lime - .set(addItem(Plank_Lime.ID, "Lime Plank", aTextCover, new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Chestnut.set( - addItem( - Plank_Chestnut.ID, - "Chestnut Plank", - aTextCover, - new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Wenge.set( - addItem(Plank_Wenge.ID, "Wenge Plank", aTextCover, new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Baobab.set( - addItem(Plank_Baobab.ID, "Baobab Plank", aTextCover, new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Sequoia.set( - addItem( - Plank_Sequoia.ID, - "Sequoia Plank", - aTextCover, - new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Kapok.set( - addItem(Plank_Kapok.ID, "Kapok Plank", aTextCover, new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Ebony.set( - addItem(Plank_Ebony.ID, "Ebony Plank", aTextCover, new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Mahagony.set( - addItem( - Plank_Mahagony.ID, - "Mahagony Plank", - aTextCover, - new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Balsa.set( - addItem(Plank_Balsa.ID, "Balsa Plank", aTextCover, new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Willow.set( - addItem(Plank_Willow.ID, "Willow Plank", aTextCover, new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Walnut.set( - addItem(Plank_Walnut.ID, "Walnut Plank", aTextCover, new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Greenheart.set( - addItem( - Plank_Greenheart.ID, - "Greenheart Plank", - aTextCover, - new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Cherry.set( - addItem(Plank_Cherry.ID, "Cherry Plank", aTextCover, new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Mahoe.set( - addItem(Plank_Mahoe.ID, "Mahoe Plank", aTextCover, new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Poplar.set( - addItem(Plank_Poplar.ID, "Poplar Plank", aTextCover, new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Palm - .set(addItem(Plank_Palm.ID, "Palm Plank", aTextCover, new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Papaya.set( - addItem(Plank_Papaya.ID, "Papaya Plank", aTextCover, new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Pine - .set(addItem(Plank_Pine.ID, "Pine Plank", aTextCover, new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Plum - .set(addItem(Plank_Plum.ID, "Plum Plank", aTextCover, new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Maple.set( - addItem(Plank_Maple.ID, "Maple Plank", aTextCover, new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.Plank_Citrus.set( - addItem(Plank_Citrus.ID, "Citrus Plank", aTextCover, new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - ItemList.SFMixture.set(addItem(SFMixture.ID, "Super Fuel Binder", "Raw Material")); - ItemList.MSFMixture.set(addItem(MSFMixture.ID, "Magic Super Fuel Binder", "Raw Material")); - - ItemList.Crop_Drop_Plumbilia.set( - addItem( - Crop_Drop_Plumbilia.ID, - "Plumbilia Leaf", - "Source of Lead", - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 1L))); - ItemList.Crop_Drop_Argentia.set( - addItem( - Crop_Drop_Argentia.ID, - "Argentia Leaf", - "Source of Silver", - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.LUCRUM, 1L))); - ItemList.Crop_Drop_Indigo.set( - addItem( - Crop_Drop_Indigo.ID, - "Indigo Blossom", - "Used for making Blue Dye", - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 1L))); - ItemList.Crop_Drop_Ferru.set( - addItem( - Crop_Drop_Ferru.ID, - "Ferru Leaf", - "Source of Iron", - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 2L))); - ItemList.Crop_Drop_Aurelia.set( - addItem( - Crop_Drop_Aurelia.ID, - "Aurelia Leaf", - "Source of Gold", - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.LUCRUM, 1L))); - ItemList.Crop_Drop_TeaLeaf.set( - addItem( - Crop_Drop_TeaLeaf.ID, - "Tea Leaf", - "Source of Tea", - "cropTea", - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SANO, 1L))); - - ItemList.Crop_Drop_OilBerry.set( - addItem( - Crop_Drop_OilBerry.ID, - "Oil Berry", - "Oil in Berry form", - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 1L))); - ItemList.Crop_Drop_BobsYerUncleRanks.set( - addItem( - Crop_Drop_BobsYerUncleRanks.ID, - "Bobs-Yer-Uncle-Berry", - "Source of Emeralds", - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.LUCRUM, 1L))); - ItemList.Crop_Drop_UUMBerry.set( - addItem( - Crop_Drop_UUMBerry.ID, - "UUM Berry", - "UUM in Berry form", - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 1L))); - ItemList.Crop_Drop_UUABerry.set( - addItem( - Crop_Drop_UUABerry.ID, - "UUA Berry", - "UUA in Berry form", - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 1L))); - - ItemList.Crop_Drop_MilkWart.set( - addItem( - Crop_Drop_MilkWart.ID, - "Milk Wart", - "Source of Milk", - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SANO, 1L))); - - ItemList.Crop_Drop_Coppon.set( - addItem( - Crop_Drop_Coppon.ID, - "Coppon Fiber", - "ORANGE WOOOOOOOL!!!", - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.PERMUTATIO, 1L))); - - ItemList.Crop_Drop_Tine.set( - addItem( - Crop_Drop_Tine.ID, - "Tine Twig", - "Source of Tin", - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METALLUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - - ItemList.Crop_Drop_Mica.set( - addItem( - Crop_Drop_Mica.ID, - "Micadia Twig", - "Source of Mica", - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TUTAMEN, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 1L))); - - ItemList.Crop_Drop_Bauxite.set(addItem(Crop_Drop_Bauxite.ID, "Bauxia Leaf", "Source of Aluminium")); - ItemList.Crop_Drop_Ilmenite.set(addItem(Crop_Drop_Ilmenite.ID, "Titania Leaf", "Source of Titanium")); - ItemList.Crop_Drop_Pitchblende.set(addItem(Crop_Drop_Pitchblende.ID, "Reactoria Leaf", "Source of Uranium")); - ItemList.Crop_Drop_Uraninite.set(addItem(Crop_Drop_Uraninite.ID, "Uranium Leaf", "Source of Uranite")); - ItemList.Crop_Drop_Thorium.set(addItem(Crop_Drop_Thorium.ID, "Thunder Leaf", "Source of Thorium")); - ItemList.Crop_Drop_Nickel.set(addItem(Crop_Drop_Nickel.ID, "Nickelback Leaf", "Source of Nickel")); - ItemList.Crop_Drop_Zinc.set(addItem(Crop_Drop_Zinc.ID, "Galvania Leaf", "Source of Zinc")); - ItemList.Crop_Drop_Manganese.set(addItem(Crop_Drop_Manganese.ID, "Pyrolusium Leaf", "Source of Manganese")); - ItemList.Crop_Drop_Scheelite.set(addItem(Crop_Drop_Scheelite.ID, "Scheelinium Leaf", "Source of Tungsten")); - ItemList.Crop_Drop_Platinum.set(addItem(Crop_Drop_Platinum.ID, "Platina Leaf", "Source of Platinum")); - ItemList.Crop_Drop_Iridium.set(addItem(Crop_Drop_Iridium.ID, "Quantaria Leaf", "Source of Iridium")); - ItemList.Crop_Drop_Osmium.set(addItem(Crop_Drop_Osmium.ID, "Quantaria Leaf", "Source of Osmium")); - ItemList.Crop_Drop_Naquadah.set(addItem(Crop_Drop_Naquadah.ID, "Stargatium Leaf", "Source of Naquadah")); - - ItemList.Crop_Drop_Chilly.set( - addItem( - Crop_Drop_Chilly.ID, - "Chilly Pepper", - "It is red and hot", - "cropChilipepper", - new GT_FoodStat(1, 0.3F, EnumAction.eat, null, false, true, false, Potion.confusion.id, 200, 1, 40), - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L))); - ItemList.Crop_Drop_Lemon.set( - addItem( - Crop_Drop_Lemon.ID, - "Lemon", - "Don't make Lemonade", - "cropLemon", - new GT_FoodStat(1, 0.3F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L))); - ItemList.Crop_Drop_Tomato.set( - addItem( - Crop_Drop_Tomato.ID, - "Tomato", - "Solid Ketchup", - "cropTomato", - new GT_FoodStat(1, 0.2F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L))); - ItemList.Crop_Drop_MTomato.set( - addItem( - Crop_Drop_MTomato.ID, - "Max Tomato", - "Full Health in one Tomato", - "cropTomato", - new GT_FoodStat( - 9, - 1.0F, - EnumAction.eat, - null, - false, - true, - false, - Potion.regeneration.id, - 100, - 100, - 100), - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SANO, 3L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L))); - ItemList.Crop_Drop_Grapes.set( - addItem( - Crop_Drop_Grapes.ID, - "Grapes", - "Source of Wine", - "cropGrape", - new GT_FoodStat(2, 0.3F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L))); - ItemList.Crop_Drop_Onion.set( - addItem( - Crop_Drop_Onion.ID, - "Onion", - "Taking over the whole Taste", - "cropOnion", - new GT_FoodStat(2, 0.2F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L))); - ItemList.Crop_Drop_Cucumber.set( - addItem( - Crop_Drop_Cucumber.ID, - "Cucumber", - "Not a Sea Cucumber!", - "cropCucumber", - new GT_FoodStat(1, 0.2F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L))); - ItemList.Crop_Drop_Rape.set( - addItem( - Crop_Drop_Rape.ID, - "Rape", - "Also known as Canola.", - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 1L))); - - ItemList.Food_Cheese.set( - addItem( - Food_Cheese.ID, - "Cheese", - "Click the Cheese", - "foodCheese", - new GT_FoodStat(3, 0.6F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 2L))); - ItemList.Food_Dough.set( - addItem( - Food_Dough.ID, - "Dough", - "For making Breads", - "foodDough", - new GT_FoodStat(1, 0.1F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L))); - ItemList.Food_Flat_Dough.set( - addItem( - Food_Flat_Dough.ID, - "Flattened Dough", - "For making Pizza", - new GT_FoodStat(1, 0.1F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L))); - ItemList.Food_Raw_Bread.set( - addItem( - Food_Raw_Bread.ID, - "Dough", - "In Bread Shape", - new GT_FoodStat(1, 0.2F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L))); - ItemList.Food_Raw_Bun.set( - addItem( - Food_Raw_Bun.ID, - "Dough", - "In Bun Shape", - new GT_FoodStat(1, 0.1F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L))); - ItemList.Food_Raw_Baguette.set( - addItem( - Food_Raw_Baguette.ID, - "Dough", - "In Baguette Shape", - new GT_FoodStat(1, 0.3F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L))); - ItemList.Food_Baked_Bun.set( - addItem( - Food_Baked_Bun.ID, - "Bun", - "Do not teleport Bread!", - new GT_FoodStat(3, 0.5F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Baked_Baguette.set( - addItem( - Food_Baked_Baguette.ID, - "Baguette", - "I teleported nothing BUT Bread!!!", - new GT_FoodStat(8, 0.5F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Sliced_Bread.set( - addItem( - Food_Sliced_Bread.ID, - "Sliced Bread", - "Just half a Bread", - new GT_FoodStat(2, 0.3F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Sliced_Bun.set( - addItem( - Food_Sliced_Bun.ID, - "Sliced Bun", - "Just half a Bun", - new GT_FoodStat(1, 0.3F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Sliced_Baguette.set( - addItem( - Food_Sliced_Baguette.ID, - "Sliced Baguette", - "Just half a Baguette", - new GT_FoodStat(4, 0.3F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.IGNIS, 1L))); - ItemList.Food_Raw_Cake.set( - addItem( - Food_Raw_Cake.ID, - "Cake Bottom", - "For making Cake", - new GT_FoodStat(2, 0.2F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L))); - ItemList.Food_Baked_Cake.set( - addItem( - Food_Baked_Cake.ID, - "Baked Cake Bottom", - "I know I promised you an actual Cake, but well...", - new GT_FoodStat(3, 0.3F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L))); - ItemList.Food_Sliced_Lemon.set( - addItem( - Food_Sliced_Lemon.ID, - "Lemon Slice", - "Ideal to put on your Drink", - new GT_FoodStat(1, 0.075F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L))); - ItemList.Food_Sliced_Tomato.set( - addItem( - Food_Sliced_Tomato.ID, - "Tomato Slice", - "Solid Ketchup", - new GT_FoodStat(1, 0.05F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L))); - ItemList.Food_Sliced_Onion.set( - addItem( - Food_Sliced_Onion.ID, - "Onion Slice", - "ONIONS, UNITE!", - new GT_FoodStat(1, 0.05F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L))); - ItemList.Food_Sliced_Cucumber.set( - addItem( - Food_Sliced_Cucumber.ID, - "Cucumber Slice", - "QUEWWW-CUMMM-BERRR!!!", - new GT_FoodStat(1, 0.05F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 1L))); - - ItemList.Food_Sliced_Cheese.set( - addItem( - Food_Sliced_Cheese.ID, - "Cheese Slice", - "ALIEN ATTACK!!!, throw the CHEEEEESE!!!", - new GT_FoodStat(1, 0.1F, EnumAction.eat, null, false, true, false), - new TC_Aspects.TC_AspectStack(TC_Aspects.FAMES, 1L))); - - ItemList.Cover_AdvancedRedstoneTransmitterExternal.set( - addItem( - Cover_AdvancedRedstoneTransmitterExternal.ID, - "Advanced Redstone Transmitter (External)", - "Transfers Redstone signals wirelessly/n Can only connect with advanced wireless covers", - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L))); - ItemList.Cover_AdvancedRedstoneTransmitterInternal.set( - addItem( - Cover_AdvancedRedstoneTransmitterInternal.ID, - "Advanced Redstone Transmitter (Internal)", - "Transfers Redstone signals wirelessly/n Can only connect with advanced wireless covers", - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L))); - ItemList.Cover_AdvancedRedstoneReceiverExternal.set( - addItem( - Cover_AdvancedRedstoneReceiverExternal.ID, - "Advanced Redstone Receiver (External)", - "Transfers Redstone signals wirelessly/n Can only connect with advanced wireless covers", - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L))); - ItemList.Cover_AdvancedRedstoneReceiverInternal.set( - addItem( - Cover_AdvancedRedstoneReceiverInternal.ID, - "Advanced Redstone Receiver (Internal)", - "Transfers Redstone signals wirelessly/n Can only connect with advanced wireless covers", - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L))); - - ItemList.Cover_WirelessFluidDetector.set( - addItem( - Cover_WirelessFluidDetector.ID, - "Wireless Fluid Detector Cover", - "Transfers Fluid Amount as Redstone wirelessly/n Can only connect with advanced wireless covers", - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L))); - ItemList.Cover_WirelessItemDetector.set( - addItem( - Cover_WirelessItemDetector.ID, - "Wireless Item Detector Cover", - "Transfers Item Amount as Redstone wirelessly/n Can only connect with advanced wireless covers", - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TERRA, 1L))); - - ItemList.Cover_WirelessNeedsMaintainance.set( - addItem( - Cover_WirelessNeedsMaintainance.ID, - "Wireless Needs Maintenance Cover", - "Transfers Maintenance Issues as Redstone wirelessly/n Can only connect with advanced wireless covers", - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 3L))); - - ItemList.Cover_WirelessActivityDetector.set( - addItem( - Cover_WirelessActivityDetector.ID, - "Wireless Activity Detector Cover", - "Transfers Activity as Redstone wirelessly/n Can only connect with advanced wireless covers", - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TERRA, 1L))); - - ItemList.Display_ITS_FREE.set( - addItem( - Display_ITS_FREE.ID, - "ITS FREE", - "(or at least almost free)", - SubTag.INVISIBLE, - new TC_Aspects.TC_AspectStack(TC_Aspects.LUCRUM, 1L))); - - try { - CropCard tCrop; - GT_Utility.getField(tCrop = Crops.instance.getCropList()[13], "mDrop") - .set(tCrop, ItemList.Crop_Drop_Ferru.get(1L)); - GT_Utility.getField(tCrop = Crops.instance.getCropList()[14], "mDrop") - .set(tCrop, ItemList.Crop_Drop_Aurelia.get(1L)); - } catch (Throwable e) { - if (GT_Values.D1) { - e.printStackTrace(GT_Log.err); - } - } - - setAllFluidContainerStats(); - setBurnValues(); - registerCovers(); - initCraftingShapedRecipes(); - initCraftingShapelessRecipes(); - initAssemblerRecipes(); - initExtractorRecipes(); - initMaceratorRecipes(); - initCompressorRecipes(); - } - - @Override - public boolean onLeftClickEntity(ItemStack aStack, EntityPlayer aPlayer, Entity aEntity) { - super.onLeftClickEntity(aStack, aPlayer, aEntity); - return false; - } - - @Override - public boolean hasProjectile(SubTag aProjectileType, ItemStack aStack) { - int aDamage = aStack.getItemDamage(); - return ((aDamage >= 25000) && (aDamage < 27000)) || (super.hasProjectile(aProjectileType, aStack)); - } - - @Override - public boolean isItemStackUsable(ItemStack aStack) { - int aDamage = aStack.getItemDamage(); - Materials aMaterial = GregTech_API.sGeneratedMaterials[(aDamage % 1000)]; - if ((aDamage >= 25000) && (aDamage < 27000) && (aMaterial != null) && (aMaterial.mEnchantmentTools != null)) { - Enchantment tEnchant = aMaterial.mEnchantmentTools == Enchantment.fortune ? Enchantment.looting - : aMaterial.mEnchantmentTools; - if (tEnchant.type == EnumEnchantmentType.weapon) { - NBTTagCompound tNBT = GT_Utility.ItemNBT.getNBT(aStack); - if (!tNBT.getBoolean("GT.HasBeenUpdated")) { - tNBT.setBoolean("GT.HasBeenUpdated", true); - GT_Utility.ItemNBT.setNBT(aStack, tNBT); - GT_Utility.ItemNBT.addEnchantment(aStack, tEnchant, aMaterial.mEnchantmentToolsLevel); - } - } - } - return super.isItemStackUsable(aStack); - } - - private void setAllFluidContainerStats() { - setFluidContainerStats(32000 + Food_Raw_Fries.ID, 0L, 16L); - setFluidContainerStats(32000 + Food_Fries.ID, 0L, 16L); - setFluidContainerStats(32000 + Food_Raw_PotatoChips.ID, 0L, 16L); - setFluidContainerStats(32000 + Food_PotatoChips.ID, 0L, 16L); - setFluidContainerStats(32000 + Food_ChiliChips.ID, 0L, 16L); - setFluidContainerStats(32000 + Food_Sandwich_Veggie.ID, 0L, 32L); - setFluidContainerStats(32000 + Food_Sandwich_Cheese.ID, 0L, 32L); - setFluidContainerStats(32000 + Food_Sandwich_Bacon.ID, 0L, 32L); - setFluidContainerStats(32000 + Food_Sandwich_Steak.ID, 0L, 32L); - setFluidContainerStats(32000 + Food_Large_Sandwich_Veggie.ID, 0L, 16L); - setFluidContainerStats(32000 + Food_Large_Sandwich_Cheese.ID, 0L, 16L); - setFluidContainerStats(32000 + Food_Large_Sandwich_Bacon.ID, 0L, 16L); - setFluidContainerStats(32000 + Food_Large_Sandwich_Steak.ID, 0L, 16L); - } - - private void setBurnValues() { - setBurnValue(32000 + Plank_Oak.ID, 75); - setBurnValue(32000 + Plank_Spruce.ID, 75); - setBurnValue(32000 + Plank_Birch.ID, 75); - setBurnValue(32000 + Plank_Jungle.ID, 75); - setBurnValue(32000 + Plank_Acacia.ID, 75); - setBurnValue(32000 + Plank_DarkOak.ID, 75); - setBurnValue(32000 + Plank_Larch.ID, 75); - setBurnValue(32000 + Plank_Teak.ID, 75); - setBurnValue(32000 + Plank_Acacia_Green.ID, 75); - setBurnValue(32000 + Plank_Lime.ID, 75); - setBurnValue(32000 + Plank_Chestnut.ID, 75); - setBurnValue(32000 + Plank_Wenge.ID, 75); - setBurnValue(32000 + Plank_Baobab.ID, 75); - setBurnValue(32000 + Plank_Sequoia.ID, 75); - setBurnValue(32000 + Plank_Kapok.ID, 75); - setBurnValue(32000 + Plank_Ebony.ID, 75); - setBurnValue(32000 + Plank_Mahagony.ID, 75); - setBurnValue(32000 + Plank_Balsa.ID, 75); - setBurnValue(32000 + Plank_Willow.ID, 75); - setBurnValue(32000 + Plank_Walnut.ID, 75); - setBurnValue(32000 + Plank_Greenheart.ID, 75); - setBurnValue(32000 + Plank_Cherry.ID, 75); - setBurnValue(32000 + Plank_Mahoe.ID, 75); - setBurnValue(32000 + Plank_Poplar.ID, 75); - setBurnValue(32000 + Plank_Palm.ID, 75); - setBurnValue(32000 + Plank_Papaya.ID, 75); - setBurnValue(32000 + Plank_Pine.ID, 75); - setBurnValue(32000 + Plank_Plum.ID, 75); - setBurnValue(32000 + Plank_Maple.ID, 75); - setBurnValue(32000 + Plank_Citrus.ID, 75); - setBurnValue(32000 + Crop_Drop_Tine.ID, 100); - setBurnValue(32000 + Crop_Drop_Mica.ID, 240); - } - - public void initCraftingShapedRecipes() { - GT_ModHandler.addCraftingRecipe( - ItemList.Plank_Oak.get(2L), - GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "s ", " P", 'P', new ItemStack(Blocks.wooden_slab, 1, 0) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Plank_Spruce.get(2L), - GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "s ", " P", 'P', new ItemStack(Blocks.wooden_slab, 1, 1) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Plank_Birch.get(2L), - GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "s ", " P", 'P', new ItemStack(Blocks.wooden_slab, 1, 2) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Plank_Jungle.get(2L), - GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "s ", " P", 'P', new ItemStack(Blocks.wooden_slab, 1, 3) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Plank_Acacia.get(2L), - GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "s ", " P", 'P', new ItemStack(Blocks.wooden_slab, 1, 4) }); - GT_ModHandler.addCraftingRecipe( - ItemList.Plank_DarkOak.get(2L), - GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, - new Object[] { "s ", " P", 'P', new ItemStack(Blocks.wooden_slab, 1, 5) }); - } - - public void initAssemblerRecipes() { - RA.stdBuilder() - .itemInputs( - ItemList.Cover_RedstoneTransmitterExternal.get(1L), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.EV, 1L), - GT_Utility.getIntegratedCircuit(1)) - .itemOutputs(ItemList.Cover_AdvancedRedstoneTransmitterExternal.get(1L)) - .duration(2 * MINUTES + 40 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(assemblerRecipes); - RA.stdBuilder() - .itemInputs( - ItemList.Cover_RedstoneReceiverExternal.get(1L), - GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.EV, 1L), - GT_Utility.getIntegratedCircuit(1)) - .itemOutputs(ItemList.Cover_AdvancedRedstoneReceiverExternal.get(1L)) - .duration(2 * MINUTES + 40 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(assemblerRecipes); - RA.stdBuilder() - .itemInputs( - ItemList.Cover_FluidDetector.get(1L), - ItemList.Emitter_EV.get(1L), - GT_Utility.getIntegratedCircuit(1)) - .itemOutputs(ItemList.Cover_WirelessFluidDetector.get(1L)) - .duration(2 * MINUTES + 40 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(assemblerRecipes); - RA.stdBuilder() - .itemInputs( - ItemList.Cover_ItemDetector.get(1L), - ItemList.Emitter_EV.get(1L), - GT_Utility.getIntegratedCircuit(1)) - .itemOutputs(ItemList.Cover_WirelessItemDetector.get(1L)) - .duration(2 * MINUTES + 40 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(assemblerRecipes); - RA.stdBuilder() - .itemInputs( - ItemList.Cover_NeedsMaintainance.get(1L), - ItemList.Emitter_EV.get(1L), - GT_Utility.getIntegratedCircuit(1)) - .itemOutputs(ItemList.Cover_WirelessNeedsMaintainance.get(1L)) - .duration(2 * MINUTES + 40 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(assemblerRecipes); - RA.stdBuilder() - .itemInputs( - ItemList.Cover_ActivityDetector.get(1L), - ItemList.Emitter_EV.get(1L), - GT_Utility.getIntegratedCircuit(1)) - .itemOutputs(ItemList.Cover_WirelessActivityDetector.get(1L)) - .duration(2 * MINUTES + 40 * SECONDS) - .eut(TierEU.RECIPE_MV) - .addTo(assemblerRecipes); - } - - public void initCraftingShapelessRecipes() { - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Cover_AdvancedRedstoneReceiverExternal.get(1L), - new Object[] { ItemList.Cover_AdvancedRedstoneReceiverInternal.get(1L) }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Cover_AdvancedRedstoneReceiverInternal.get(1L), - new Object[] { ItemList.Cover_AdvancedRedstoneReceiverExternal.get(1L) }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Cover_AdvancedRedstoneTransmitterExternal.get(1L), - new Object[] { ItemList.Cover_AdvancedRedstoneTransmitterInternal.get(1L) }); - GT_ModHandler.addShapelessCraftingRecipe( - ItemList.Cover_AdvancedRedstoneTransmitterInternal.get(1L), - new Object[] { ItemList.Cover_AdvancedRedstoneTransmitterExternal.get(1L) }); - } - - public void initExtractorRecipes() { - RA.stdBuilder() - .itemInputs(new ItemStack(Blocks.red_flower, 1, 0)) - .itemOutputs(new ItemStack(Items.dye, 2, 1)) - .duration(15 * SECONDS) - .eut(2) - .addTo(extractorRecipes); - RA.stdBuilder() - .itemInputs(new ItemStack(Blocks.red_flower, 1, 1)) - .itemOutputs(new ItemStack(Items.dye, 2, 12)) - .duration(15 * SECONDS) - .eut(2) - .addTo(extractorRecipes); - RA.stdBuilder() - .itemInputs(new ItemStack(Blocks.red_flower, 1, 2)) - .itemOutputs(new ItemStack(Items.dye, 2, 13)) - .duration(15 * SECONDS) - .eut(2) - .addTo(extractorRecipes); - RA.stdBuilder() - .itemInputs(new ItemStack(Blocks.red_flower, 1, 3)) - .itemOutputs(new ItemStack(Items.dye, 2, 7)) - .duration(15 * SECONDS) - .eut(2) - .addTo(extractorRecipes); - RA.stdBuilder() - .itemInputs(new ItemStack(Blocks.red_flower, 1, 4)) - .itemOutputs(new ItemStack(Items.dye, 2, 1)) - .duration(15 * SECONDS) - .eut(2) - .addTo(extractorRecipes); - RA.stdBuilder() - .itemInputs(new ItemStack(Blocks.red_flower, 1, 5)) - .itemOutputs(new ItemStack(Items.dye, 2, 14)) - .duration(15 * SECONDS) - .eut(2) - .addTo(extractorRecipes); - RA.stdBuilder() - .itemInputs(new ItemStack(Blocks.red_flower, 1, 6)) - .itemOutputs(new ItemStack(Items.dye, 2, 7)) - .duration(15 * SECONDS) - .eut(2) - .addTo(extractorRecipes); - RA.stdBuilder() - .itemInputs(new ItemStack(Blocks.red_flower, 1, 7)) - .itemOutputs(new ItemStack(Items.dye, 2, 9)) - .duration(15 * SECONDS) - .eut(2) - .addTo(extractorRecipes); - RA.stdBuilder() - .itemInputs(new ItemStack(Blocks.red_flower, 1, 8)) - .itemOutputs(new ItemStack(Items.dye, 2, 7)) - .duration(15 * SECONDS) - .eut(2) - .addTo(extractorRecipes); - RA.stdBuilder() - .itemInputs(new ItemStack(Blocks.yellow_flower, 1, 0)) - .itemOutputs(new ItemStack(Items.dye, 2, 11)) - .duration(15 * SECONDS) - .eut(2) - .addTo(extractorRecipes); - RA.stdBuilder() - .itemInputs(new ItemStack(Blocks.double_plant, 1, 0)) - .itemOutputs(new ItemStack(Items.dye, 3, 11)) - .duration(15 * SECONDS) - .eut(2) - .addTo(extractorRecipes); - RA.stdBuilder() - .itemInputs(new ItemStack(Blocks.double_plant, 1, 1)) - .itemOutputs(new ItemStack(Items.dye, 3, 13)) - .duration(15 * SECONDS) - .eut(2) - .addTo(extractorRecipes); - RA.stdBuilder() - .itemInputs(new ItemStack(Blocks.double_plant, 1, 4)) - .itemOutputs(new ItemStack(Items.dye, 3, 1)) - .duration(15 * SECONDS) - .eut(2) - .addTo(extractorRecipes); - RA.stdBuilder() - .itemInputs(new ItemStack(Blocks.double_plant, 1, 5)) - .itemOutputs(new ItemStack(Items.dye, 3, 9)) - .duration(15 * SECONDS) - .eut(2) - .addTo(extractorRecipes); - RA.stdBuilder() - .itemInputs(ItemList.Crop_Drop_Plumbilia.get(1L)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Lead, 1L)) - .duration(15 * SECONDS) - .eut(2) - .addTo(extractorRecipes); - RA.stdBuilder() - .itemInputs(ItemList.Crop_Drop_Argentia.get(1L)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Silver, 1L)) - .duration(15 * SECONDS) - .eut(2) - .addTo(extractorRecipes); - RA.stdBuilder() - .itemInputs(ItemList.Crop_Drop_Indigo.get(1L)) - .itemOutputs(ItemList.Dye_Indigo.get(1L)) - .duration(15 * SECONDS) - .eut(2) - .addTo(extractorRecipes); - RA.stdBuilder() - .itemInputs(ItemList.Crop_Drop_MilkWart.get(1L)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Milk, 1L)) - .duration(15 * SECONDS) - .eut(2) - .addTo(extractorRecipes); - RA.stdBuilder() - .itemInputs(ItemList.Crop_Drop_Coppon.get(1L)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Copper, 1L)) - .duration(15 * SECONDS) - .eut(2) - .addTo(extractorRecipes); - RA.stdBuilder() - .itemInputs(ItemList.Crop_Drop_Tine.get(1L)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Tin, 1L)) - .duration(15 * SECONDS) - .eut(2) - .addTo(extractorRecipes); - - } - - public void initCompressorRecipes() { - RA.stdBuilder() - .itemInputs(ItemList.Crop_Drop_Coppon.get(4L)) - .itemOutputs(new ItemStack(Blocks.wool, 1, 1)) - .duration(15 * SECONDS) - .eut(2) - .addTo(compressorRecipes); - - RA.stdBuilder() - .itemInputs(ItemList.Crop_Drop_Plumbilia.get(4L)) - .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) - .duration(15 * SECONDS) - .eut(2) - .addTo(compressorRecipes); - - RA.stdBuilder() - .itemInputs(ItemList.Crop_Drop_Argentia.get(4L)) - .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) - .duration(15 * SECONDS) - .eut(2) - .addTo(compressorRecipes); - - RA.stdBuilder() - .itemInputs(ItemList.Crop_Drop_Indigo.get(4L)) - .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) - .duration(15 * SECONDS) - .eut(2) - .addTo(compressorRecipes); - - RA.stdBuilder() - .itemInputs(ItemList.Crop_Drop_Ferru.get(4L)) - .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) - .duration(15 * SECONDS) - .eut(2) - .addTo(compressorRecipes); - - RA.stdBuilder() - .itemInputs(ItemList.Crop_Drop_Aurelia.get(4L)) - .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) - .duration(15 * SECONDS) - .eut(2) - .addTo(compressorRecipes); - - RA.stdBuilder() - .itemInputs(ItemList.Crop_Drop_OilBerry.get(4L)) - .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) - .duration(15 * SECONDS) - .eut(2) - .addTo(compressorRecipes); - - RA.stdBuilder() - .itemInputs(ItemList.Crop_Drop_BobsYerUncleRanks.get(4L)) - .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) - .duration(15 * SECONDS) - .eut(2) - .addTo(compressorRecipes); - - RA.stdBuilder() - .itemInputs(ItemList.Crop_Drop_Tine.get(4L)) - .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) - .duration(15 * SECONDS) - .eut(2) - .addTo(compressorRecipes); - - RA.stdBuilder() - .itemInputs(ItemList.Crop_Drop_Rape.get(4L)) - .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) - .duration(15 * SECONDS) - .eut(2) - .addTo(compressorRecipes); - - RA.stdBuilder() - .itemInputs(new ItemStack(Blocks.red_flower, 8, 32767)) - .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) - .duration(15 * SECONDS) - .eut(2) - .addTo(compressorRecipes); - - RA.stdBuilder() - .itemInputs(new ItemStack(Blocks.yellow_flower, 8, 32767)) - .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) - .duration(15 * SECONDS) - .eut(2) - .addTo(compressorRecipes); - } - - public void initMaceratorRecipes() { - RA.stdBuilder() - .itemInputs(ItemList.Food_Sliced_Cheese.get(1L)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Cheese, 1L)) - .duration(20 * SECONDS) - .eut(2) - .addTo(maceratorRecipes); - - RA.stdBuilder() - .itemInputs(ItemList.Dye_Cocoa.get(1L)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cocoa, 1L)) - .duration(20 * SECONDS) - .eut(2) - .addTo(maceratorRecipes); - - RA.stdBuilder() - .itemInputs(ItemList.Crop_Drop_Tine.get(1L)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Wood, 2L)) - .duration(20 * SECONDS) - .eut(2) - .addTo(maceratorRecipes); - - RA.stdBuilder() - .itemInputs(new ItemStack(Blocks.pumpkin, 1, 0)) - .itemOutputs(new ItemStack(Items.pumpkin_seeds, 4, 0)) - .duration(20 * SECONDS) - .eut(2) - .addTo(maceratorRecipes); - - RA.stdBuilder() - .itemInputs(new ItemStack(Items.melon, 1, 0)) - .itemOutputs(new ItemStack(Items.melon_seeds, 1, 0)) - .duration(20 * SECONDS) - .eut(2) - .addTo(maceratorRecipes); - - RA.stdBuilder() - .itemInputs(GT_ModHandler.getIC2Item("crop", 1L)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L)) - .duration(20 * SECONDS) - .eut(2) - .addTo(maceratorRecipes); - - RA.stdBuilder() - .itemInputs(new ItemStack(Items.stick, 1)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Wood, 2L)) - .duration(20 * SECONDS) - .eut(2) - .addTo(maceratorRecipes); - - RA.stdBuilder() - .itemInputs(new ItemStack(Blocks.wool, 1, WILDCARD)) - .itemOutputs(new ItemStack(Items.string, 2), new ItemStack(Items.string, 1)) - .outputChances(10000, 5000) - .duration(20 * SECONDS) - .eut(2) - .addTo(maceratorRecipes); - - RA.stdBuilder() - .itemInputs(ItemList.Tesseract.get(1)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsUEVplus.TranscendentMetal, 8L)) - .duration(5 * SECONDS) - .eut(TierEU.RECIPE_UIV) - .addTo(maceratorRecipes); - } - - public void registerCovers() { - GregTech_API.registerCover(ItemList.Plank_Oak.get(1L), TextureFactory.of(Blocks.planks, 0), null); - GregTech_API.registerCover(ItemList.Plank_Spruce.get(1L), TextureFactory.of(Blocks.planks, 1), null); - GregTech_API.registerCover(ItemList.Plank_Birch.get(1L), TextureFactory.of(Blocks.planks, 2), null); - GregTech_API.registerCover(ItemList.Plank_Jungle.get(1L), TextureFactory.of(Blocks.planks, 3), null); - GregTech_API.registerCover(ItemList.Plank_Acacia.get(1L), TextureFactory.of(Blocks.planks, 4), null); - GregTech_API.registerCover(ItemList.Plank_DarkOak.get(1L), TextureFactory.of(Blocks.planks, 5), null); - GregTech_API.registerCover( - ItemList.Plank_Larch.get(1L), - TextureFactory.of( - GT_Utility.getBlockFromStack( - GT_ModHandler.getModItem(Forestry.ID, "planks", 1L, 0, new ItemStack(Blocks.planks, 1, 0))), - 0), - null); - GregTech_API.registerCover( - ItemList.Plank_Teak.get(1L), - TextureFactory.of( - GT_Utility.getBlockFromStack( - GT_ModHandler.getModItem(Forestry.ID, "planks", 1L, 1, new ItemStack(Blocks.planks, 1, 0))), - 1), - null); - GregTech_API.registerCover( - ItemList.Plank_Acacia_Green.get(1L), - TextureFactory.of( - GT_Utility.getBlockFromStack( - GT_ModHandler.getModItem(Forestry.ID, "planks", 1L, 2, new ItemStack(Blocks.planks, 1, 0))), - 2), - null); - GregTech_API.registerCover( - ItemList.Plank_Lime.get(1L), - TextureFactory.of( - GT_Utility.getBlockFromStack( - GT_ModHandler.getModItem(Forestry.ID, "planks", 1L, 3, new ItemStack(Blocks.planks, 1, 0))), - 3), - null); - GregTech_API.registerCover( - ItemList.Plank_Chestnut.get(1L), - TextureFactory.of( - GT_Utility.getBlockFromStack( - GT_ModHandler.getModItem(Forestry.ID, "planks", 1L, 4, new ItemStack(Blocks.planks, 1, 0))), - 4), - null); - GregTech_API.registerCover( - ItemList.Plank_Wenge.get(1L), - TextureFactory.of( - GT_Utility.getBlockFromStack( - GT_ModHandler.getModItem(Forestry.ID, "planks", 1L, 5, new ItemStack(Blocks.planks, 1, 0))), - 5), - null); - GregTech_API.registerCover( - ItemList.Plank_Baobab.get(1L), - TextureFactory.of( - GT_Utility.getBlockFromStack( - GT_ModHandler.getModItem(Forestry.ID, "planks", 1L, 6, new ItemStack(Blocks.planks, 1, 0))), - 6), - null); - GregTech_API.registerCover( - ItemList.Plank_Sequoia.get(1L), - TextureFactory.of( - GT_Utility.getBlockFromStack( - GT_ModHandler.getModItem(Forestry.ID, "planks", 1L, 7, new ItemStack(Blocks.planks, 1, 0))), - 7), - null); - GregTech_API.registerCover( - ItemList.Plank_Kapok.get(1L), - TextureFactory.of( - GT_Utility.getBlockFromStack( - GT_ModHandler.getModItem(Forestry.ID, "planks", 1L, 8, new ItemStack(Blocks.planks, 1, 0))), - 8), - null); - GregTech_API.registerCover( - ItemList.Plank_Ebony.get(1L), - TextureFactory.of( - GT_Utility.getBlockFromStack( - GT_ModHandler.getModItem(Forestry.ID, "planks", 1L, 9, new ItemStack(Blocks.planks, 1, 0))), - 9), - null); - GregTech_API.registerCover( - ItemList.Plank_Mahagony.get(1L), - TextureFactory.of( - GT_Utility.getBlockFromStack( - GT_ModHandler.getModItem(Forestry.ID, "planks", 1L, 10, new ItemStack(Blocks.planks, 1, 0))), - 10), - null); - GregTech_API.registerCover( - ItemList.Plank_Balsa.get(1L), - TextureFactory.of( - GT_Utility.getBlockFromStack( - GT_ModHandler.getModItem(Forestry.ID, "planks", 1L, 11, new ItemStack(Blocks.planks, 1, 0))), - 11), - null); - GregTech_API.registerCover( - ItemList.Plank_Willow.get(1L), - TextureFactory.of( - GT_Utility.getBlockFromStack( - GT_ModHandler.getModItem(Forestry.ID, "planks", 1L, 12, new ItemStack(Blocks.planks, 1, 0))), - 12), - null); - GregTech_API.registerCover( - ItemList.Plank_Walnut.get(1L), - TextureFactory.of( - GT_Utility.getBlockFromStack( - GT_ModHandler.getModItem(Forestry.ID, "planks", 1L, 13, new ItemStack(Blocks.planks, 1, 0))), - 13), - null); - GregTech_API.registerCover( - ItemList.Plank_Greenheart.get(1L), - TextureFactory.of( - GT_Utility.getBlockFromStack( - GT_ModHandler.getModItem(Forestry.ID, "planks", 1L, 14, new ItemStack(Blocks.planks, 1, 0))), - 14), - null); - GregTech_API.registerCover( - ItemList.Plank_Cherry.get(1L), - TextureFactory.of( - GT_Utility.getBlockFromStack( - GT_ModHandler.getModItem(Forestry.ID, "planks", 1L, 15, new ItemStack(Blocks.planks, 1, 0))), - 15), - null); - GregTech_API.registerCover( - ItemList.Plank_Mahoe.get(1L), - TextureFactory.of( - GT_Utility.getBlockFromStack( - GT_ModHandler.getModItem(Forestry.ID, "planks", 1L, 16, new ItemStack(Blocks.planks, 1, 0))), - 0), - null); - GregTech_API.registerCover( - ItemList.Plank_Poplar.get(1L), - TextureFactory.of( - GT_Utility.getBlockFromStack( - GT_ModHandler.getModItem(Forestry.ID, "planks", 1L, 17, new ItemStack(Blocks.planks, 1, 0))), - 1), - null); - GregTech_API.registerCover( - ItemList.Plank_Palm.get(1L), - TextureFactory.of( - GT_Utility.getBlockFromStack( - GT_ModHandler.getModItem(Forestry.ID, "planks", 1L, 18, new ItemStack(Blocks.planks, 1, 0))), - 2), - null); - GregTech_API.registerCover( - ItemList.Plank_Papaya.get(1L), - TextureFactory.of( - GT_Utility.getBlockFromStack( - GT_ModHandler.getModItem(Forestry.ID, "planks", 1L, 19, new ItemStack(Blocks.planks, 1, 0))), - 3), - null); - GregTech_API.registerCover( - ItemList.Plank_Pine.get(1L), - TextureFactory.of( - GT_Utility.getBlockFromStack( - GT_ModHandler.getModItem(Forestry.ID, "planks", 1L, 20, new ItemStack(Blocks.planks, 1, 0))), - 4), - null); - GregTech_API.registerCover( - ItemList.Plank_Plum.get(1L), - TextureFactory.of( - GT_Utility.getBlockFromStack( - GT_ModHandler.getModItem(Forestry.ID, "planks", 1L, 21, new ItemStack(Blocks.planks, 1, 0))), - 5), - null); - GregTech_API.registerCover( - ItemList.Plank_Maple.get(1L), - TextureFactory.of( - GT_Utility.getBlockFromStack( - GT_ModHandler.getModItem(Forestry.ID, "planks", 1L, 22, new ItemStack(Blocks.planks, 1, 0))), - 6), - null); - GregTech_API.registerCover( - ItemList.Plank_Citrus.get(1L), - TextureFactory.of( - GT_Utility.getBlockFromStack( - GT_ModHandler.getModItem(Forestry.ID, "planks", 1L, 23, new ItemStack(Blocks.planks, 1, 0))), - 7), - null); - - GregTech_API.registerCover( - ItemList.Cover_AdvancedRedstoneTransmitterExternal.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_ADVANCED_REDSTONE_TRANSMITTER)), - new GT_Cover_AdvancedRedstoneTransmitterExternal(TextureFactory.of(OVERLAY_ADVANCED_REDSTONE_TRANSMITTER))); - - GregTech_API.registerCover( - ItemList.Cover_AdvancedRedstoneTransmitterInternal.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_ADVANCED_REDSTONE_TRANSMITTER)), - new GT_Cover_AdvancedRedstoneTransmitterInternal(TextureFactory.of(OVERLAY_ADVANCED_REDSTONE_TRANSMITTER))); - - GregTech_API.registerCover( - ItemList.Cover_AdvancedRedstoneReceiverExternal.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_ADVANCED_REDSTONE_RECEIVER)), - new GT_Cover_AdvancedRedstoneReceiverExternal(TextureFactory.of(OVERLAY_ADVANCED_REDSTONE_RECEIVER))); - - GregTech_API.registerCover( - ItemList.Cover_AdvancedRedstoneReceiverInternal.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_ADVANCED_REDSTONE_RECEIVER)), - new GT_Cover_AdvancedRedstoneReceiverInternal(TextureFactory.of(OVERLAY_ADVANCED_REDSTONE_RECEIVER))); - - GregTech_API.registerCover( - ItemList.Cover_WirelessFluidDetector.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_WIRELESS_FLUID_DETECTOR)), - new GT_Cover_WirelessFluidDetector(TextureFactory.of(OVERLAY_WIRELESS_FLUID_DETECTOR))); - - GregTech_API.registerCover( - ItemList.Cover_WirelessItemDetector.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_WIRELESS_ITEM_DETECTOR)), - new GT_Cover_WirelessItemDetector(TextureFactory.of(OVERLAY_WIRELESS_ITEM_DETECTOR))); - - GregTech_API.registerCover( - ItemList.Cover_WirelessActivityDetector.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_WIRELESS_ACTIVITYDETECTOR)), - new GT_Cover_WirelessDoesWorkDetector(TextureFactory.of(OVERLAY_WIRELESS_ACTIVITYDETECTOR))); - - GregTech_API.registerCover( - ItemList.Cover_WirelessNeedsMaintainance.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_WIRELESS_MAINTENANCE_DETECTOR)), - new GT_Cover_WirelessMaintenanceDetector(TextureFactory.of(OVERLAY_WIRELESS_MAINTENANCE_DETECTOR))); - } - - @Override - public boolean doesShowInCreative(OrePrefixes aPrefix, Materials aMaterial, boolean aDoShowAllItems) { - return (aDoShowAllItems) || (!aPrefix.name() - .startsWith("toolHead")); - } - - @Override - public final ItemStack getContainerItem(ItemStack aStack) { - int aDamage = aStack.getItemDamage(); - if (aDamage < 32000) { - return null; - } - if (aDamage < 32100) { - return ItemList.ThermosCan_Empty.get(1L); - } - if (aDamage < 32200) { - return ItemList.Bottle_Empty.get(1L); - } - return null; - } -} diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java deleted file mode 100644 index 7d24a9e339..0000000000 --- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java +++ /dev/null @@ -1,1492 +0,0 @@ -package gregtech.common.items; - -import static com.gtnewhorizon.gtnhlib.util.AnimatedTooltipHandler.addItemTooltip; -import static gregtech.api.enums.Textures.BlockIcons.MACHINE_CASINGS; -import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_METRICS_TRANSMITTER; -import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_UEV; -import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_UHV; -import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_UIV; -import static gregtech.client.GT_TooltipHandler.Tier.EV; -import static gregtech.client.GT_TooltipHandler.Tier.HV; -import static gregtech.client.GT_TooltipHandler.Tier.IV; -import static gregtech.client.GT_TooltipHandler.Tier.LV; -import static gregtech.client.GT_TooltipHandler.Tier.LuV; -import static gregtech.client.GT_TooltipHandler.Tier.MAX; -import static gregtech.client.GT_TooltipHandler.Tier.MV; -import static gregtech.client.GT_TooltipHandler.Tier.UEV; -import static gregtech.client.GT_TooltipHandler.Tier.UHV; -import static gregtech.client.GT_TooltipHandler.Tier.UIV; -import static gregtech.client.GT_TooltipHandler.Tier.ULV; -import static gregtech.client.GT_TooltipHandler.Tier.UMV; -import static gregtech.client.GT_TooltipHandler.Tier.UV; -import static gregtech.client.GT_TooltipHandler.Tier.UXV; -import static gregtech.client.GT_TooltipHandler.Tier.ZPM; -import static gregtech.client.GT_TooltipHandler.registerTieredTooltip; -import static gregtech.common.items.ID_MetaItem_03.Activated_Carbon_Filter_Mesh; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Biomainframe; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Bioprocessor; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Biowarecomputer; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Biowaresupercomputer; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Board_Bio; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Board_Bio_Ultra; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Board_Coated_Basic; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Board_Epoxy_Advanced; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Board_Fiberglass_Advanced; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Board_Multifiberglass_Elite; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Board_Optical; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Board_Phenolic_Good; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Board_Plastic; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Board_Plastic_Advanced; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Board_Wetware; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Board_Wetware_Extreme; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Chip_BioCPU; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Chip_Biocell; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Chip_CPU; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Chip_CrystalCPU; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Chip_CrystalSoC; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Chip_CrystalSoC2; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Chip_HPIC; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Chip_ILC; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Chip_LPIC; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Chip_NAND; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Chip_NOR; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Chip_NPIC; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Chip_NanoCPU; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Chip_NeuroCPU; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Chip_Optical; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Chip_PIC; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Chip_PPIC; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Chip_QPIC; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Chip_QuantumCPU; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Chip_Ram; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Chip_Simple_SoC; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Chip_SoC; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Chip_SoC2; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Chip_Stemcell; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Chip_UHPIC; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Chip_ULPIC; -import static gregtech.common.items.ID_MetaItem_03.Circuit_CosmicAssembly; -import static gregtech.common.items.ID_MetaItem_03.Circuit_CosmicComputer; -import static gregtech.common.items.ID_MetaItem_03.Circuit_CosmicMainframe; -import static gregtech.common.items.ID_MetaItem_03.Circuit_CosmicProcessor; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Crystalcomputer; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Crystalmainframe; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Crystalprocessor; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Elitenanocomputer; -import static gregtech.common.items.ID_MetaItem_03.Circuit_ExoticAssembly; -import static gregtech.common.items.ID_MetaItem_03.Circuit_ExoticComputer; -import static gregtech.common.items.ID_MetaItem_03.Circuit_ExoticMainframe; -import static gregtech.common.items.ID_MetaItem_03.Circuit_ExoticProcessor; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Integrated_Good; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Masterquantumcomputer; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Microprocessor; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Nanocomputer; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Nanoprocessor; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Neuroprocessor; -import static gregtech.common.items.ID_MetaItem_03.Circuit_OpticalAssembly; -import static gregtech.common.items.ID_MetaItem_03.Circuit_OpticalComputer; -import static gregtech.common.items.ID_MetaItem_03.Circuit_OpticalMainframe; -import static gregtech.common.items.ID_MetaItem_03.Circuit_OpticalProcessor; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Parts_CapacitorASMD; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Parts_CapacitorSMD; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Parts_CapacitorXSMD; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Parts_Chip_Bioware; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Parts_Coil; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Parts_DiodeASMD; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Parts_DiodeSMD; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Parts_DiodeXSMD; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Parts_GlassFiber; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Parts_Glass_Tube; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Parts_InductorASMD; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Parts_InductorSMD; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Parts_InductorXSMD; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Parts_PetriDish; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Parts_RawCrystalChip; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Parts_RawCrystalParts; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Parts_Reinforced_Glass_Tube; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Parts_ResistorASMD; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Parts_ResistorSMD; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Parts_ResistorXSMD; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Parts_TransistorASMD; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Parts_TransistorSMD; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Parts_TransistorXSMD; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Processor; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Quantumcomputer; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Quantummainframe; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Quantumprocessor; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Silicon_Ingot; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Silicon_Ingot2; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Silicon_Ingot3; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Silicon_Ingot4; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Silicon_Ingot5; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Silicon_Ingot6; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Silicon_Wafer; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Silicon_Wafer2; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Silicon_Wafer3; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Silicon_Wafer4; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Silicon_Wafer5; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Silicon_Wafer6; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Silicon_Wafer7; -import static gregtech.common.items.ID_MetaItem_03.Circuit_TranscendentAssembly; -import static gregtech.common.items.ID_MetaItem_03.Circuit_TranscendentComputer; -import static gregtech.common.items.ID_MetaItem_03.Circuit_TranscendentMainframe; -import static gregtech.common.items.ID_MetaItem_03.Circuit_TranscendentProcessor; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Ultimatecrystalcomputer; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Wafer_Bioware; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Wafer_CPU; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Wafer_HPIC; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Wafer_ILC; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Wafer_LPIC; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Wafer_NAND; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Wafer_NOR; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Wafer_NPIC; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Wafer_NanoCPU; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Wafer_PIC; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Wafer_PPIC; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Wafer_QPIC; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Wafer_QuantumCPU; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Wafer_Ram; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Wafer_Simple_SoC; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Wafer_SoC; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Wafer_SoC2; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Wafer_UHPIC; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Wafer_ULPIC; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Wetwarecomputer; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Wetwaremainframe; -import static gregtech.common.items.ID_MetaItem_03.Circuit_Wetwaresupercomputer; -import static gregtech.common.items.ID_MetaItem_03.Cover_Metrics_Transmitter; -import static gregtech.common.items.ID_MetaItem_03.Cover_SolarPanel_UEV; -import static gregtech.common.items.ID_MetaItem_03.Cover_SolarPanel_UHV; -import static gregtech.common.items.ID_MetaItem_03.Cover_SolarPanel_UIV; -import static gregtech.common.items.ID_MetaItem_03.EV_Coil; -import static gregtech.common.items.ID_MetaItem_03.GalliumArsenideCrystal; -import static gregtech.common.items.ID_MetaItem_03.GalliumArsenideCrystalSmallPart; -import static gregtech.common.items.ID_MetaItem_03.HV_Coil; -import static gregtech.common.items.ID_MetaItem_03.IV_Coil; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_AUTOMATION; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_Acceleration_1; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_Acceleration_2; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_Acceleration_3; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_Acceleration_4; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_Acceleration_5; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_Acceleration_6; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_Acceleration_7; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_Acceleration_8; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_Acceleration_8_Upgraded; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_COOLER; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_DESERT; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_DRYER; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_FLOWERING; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_Frame; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_HEATER; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_HELL; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_HUMIDIFIER; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_JUNGLE; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_LIFESPAN; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_LIGHT; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_OCEAN; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_PLAINS; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_POLLEN; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_PRODUCTION; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_SEAL; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_SIEVE; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_SKY; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_STABILIZER; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_TERRITORY; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_UNLIGHT; -import static gregtech.common.items.ID_MetaItem_03.IndustrialApiary_Upgrade_WINTER; -import static gregtech.common.items.ID_MetaItem_03.KevlarFiber; -import static gregtech.common.items.ID_MetaItem_03.LV_Coil; -import static gregtech.common.items.ID_MetaItem_03.LuV_Coil; -import static gregtech.common.items.ID_MetaItem_03.MV_Coil; -import static gregtech.common.items.ID_MetaItem_03.NandChip; -import static gregtech.common.items.ID_MetaItem_03.NuclearStar; -import static gregtech.common.items.ID_MetaItem_03.Optical_Cpu_Containment_Housing; -import static gregtech.common.items.ID_MetaItem_03.Optically_Compatible_Memory; -import static gregtech.common.items.ID_MetaItem_03.Optically_Perfected_CPU; -import static gregtech.common.items.ID_MetaItem_03.Phononic_Seed_Crystal; -import static gregtech.common.items.ID_MetaItem_03.Quark_Catalyst_Housing; -import static gregtech.common.items.ID_MetaItem_03.Quark_Creation_Catalyst_Bottom; -import static gregtech.common.items.ID_MetaItem_03.Quark_Creation_Catalyst_Charm; -import static gregtech.common.items.ID_MetaItem_03.Quark_Creation_Catalyst_Down; -import static gregtech.common.items.ID_MetaItem_03.Quark_Creation_Catalyst_Strange; -import static gregtech.common.items.ID_MetaItem_03.Quark_Creation_Catalyst_Top; -import static gregtech.common.items.ID_MetaItem_03.Quark_Creation_Catalyst_Unaligned; -import static gregtech.common.items.ID_MetaItem_03.Quark_Creation_Catalyst_Up; -import static gregtech.common.items.ID_MetaItem_03.Relativistic_Heat_Capacitor; -import static gregtech.common.items.ID_MetaItem_03.Spinneret; -import static gregtech.common.items.ID_MetaItem_03.Thermal_Superconductor; -import static gregtech.common.items.ID_MetaItem_03.Timepiece; -import static gregtech.common.items.ID_MetaItem_03.Transdimensional_Alignment_Matrix; -import static gregtech.common.items.ID_MetaItem_03.Tube_Wires; -import static gregtech.common.items.ID_MetaItem_03.UHV_Coil; -import static gregtech.common.items.ID_MetaItem_03.ULV_Coil; -import static gregtech.common.items.ID_MetaItem_03.UV_Coil; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_Axe; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_Block; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_Bolt; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_Bottle; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_Casing; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_Cell; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_File; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_Gear; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_Hammer; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_Hoe; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_Ingot; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_Pickaxe; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_Pipe_Huge; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_Pipe_Large; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_Pipe_Medium; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_Pipe_Small; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_Pipe_Tiny; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_Plate; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_Ring; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_Rod; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_Rotor; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_Saw; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_Shovel; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_Small_Gear; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_Sword; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_ToolHeadDrill; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_Turbine_Blade; -import static gregtech.common.items.ID_MetaItem_03.White_Dwarf_Shape_Extruder_Wire; -import static gregtech.common.items.ID_MetaItem_03.WovenKevlar; -import static gregtech.common.items.ID_MetaItem_03.ZPM_Coil; - -import gregtech.api.GregTech_API; -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.enums.TC_Aspects; -import gregtech.api.items.GT_MetaGenerated_Item_X32; -import gregtech.api.render.TextureFactory; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.common.covers.GT_Cover_Metrics_Transmitter; -import gregtech.common.covers.GT_Cover_SolarPanel; - -public class GT_MetaGenerated_Item_03 extends GT_MetaGenerated_Item_X32 { - - public static GT_MetaGenerated_Item_03 INSTANCE; - - public GT_MetaGenerated_Item_03() { - super( - "metaitem.03", - OrePrefixes.___placeholder___, - OrePrefixes.___placeholder___, - OrePrefixes.___placeholder___, - OrePrefixes.___placeholder___, - OrePrefixes.nanite, - OrePrefixes.rawOre); - INSTANCE = this; - Object[] o = new Object[0]; - - /* - * circuit boards tier 1-7: coated circuit board / wood plate + resin Plastic Circuit Board / Plastic + Copper - * Foil + Sulfuric Acid phenolic circuit board /carton+glue+chemical bath epoxy circuit board /epoxy plate + - * copper foil + sulfuric acid fiberglass circuit board (simple + multilayer) / glass + plastic + electrum foil - * + sulfuric acid wetware lifesupport board / fiberglass CB + teflon + - */ - ItemList.Circuit_Board_Wetware.set( - addItem(Circuit_Board_Wetware.ID, "Wetware Lifesupport Circuit Board", "The Board that keeps life", o)); - ItemList.Circuit_Board_Plastic - .set(addItem(Circuit_Board_Plastic.ID, "Plastic Circuit Board", "A Good Board", o)); - ItemList.Circuit_Board_Bio - .set(addItem(Circuit_Board_Bio.ID, "Bio Circuit Board", "Bio genetic mutated Board", o)); - - /* - * electronic components: vacuum tube (glass tube + red alloy cables) basic electronic circuits normal+smd coils - * diodes normal+smd transistors normal+smd capacitors normal+smd Glass Fibers - */ - ItemList.Circuit_Parts_ResistorSMD.set( - addItem( - Circuit_Parts_ResistorSMD.ID, - "SMD Resistor", - "Electronic Component", - OrePrefixes.componentCircuit.get(Materials.Resistor), - SubTag.NO_UNIFICATION)); - ItemList.Circuit_Parts_Glass_Tube.set(addItem(Circuit_Parts_Glass_Tube.ID, "Glass Tube", "", o)); - ItemList.Circuit_Parts_Coil.set(addItem(Circuit_Parts_Coil.ID, "Small Coil", "Basic Electronic Component", o)); - ItemList.Circuit_Parts_DiodeSMD.set( - addItem( - Circuit_Parts_DiodeSMD.ID, - "SMD Diode", - "Electronic Component", - OrePrefixes.componentCircuit.get(Materials.Diode), - SubTag.NO_UNIFICATION)); - ItemList.Circuit_Parts_TransistorSMD.set( - addItem( - Circuit_Parts_TransistorSMD.ID, - "SMD Transistor", - "Electronic Component", - OrePrefixes.componentCircuit.get(Materials.Transistor), - SubTag.NO_UNIFICATION)); - ItemList.Circuit_Parts_CapacitorSMD.set( - addItem( - Circuit_Parts_CapacitorSMD.ID, - "SMD Capacitor", - "Electronic Component", - OrePrefixes.componentCircuit.get(Materials.Capacitor), - SubTag.NO_UNIFICATION)); - ItemList.Circuit_Parts_GlassFiber - .set(addItem(Circuit_Parts_GlassFiber.ID, "Glass Fiber", Materials.BorosilicateGlass.mChemicalFormula, o)); - ItemList.Circuit_Parts_PetriDish - .set(addItem(Circuit_Parts_PetriDish.ID, "Petri Dish", "For cultivating cells", o)); - ItemList.Circuit_Parts_Reinforced_Glass_Tube - .set(addItem(Circuit_Parts_Reinforced_Glass_Tube.ID, "Reinforced Glass Tube", "", o)); - - ItemList.Circuit_Parts_ResistorASMD - .set(addItem(Circuit_Parts_ResistorASMD.ID, "Advanced SMD Resistor", "Advanced Electronic Component", o)); - ItemList.Circuit_Parts_DiodeASMD - .set(addItem(Circuit_Parts_DiodeASMD.ID, "Advanced SMD Diode", "Advanced Electronic Component", o)); - ItemList.Circuit_Parts_TransistorASMD.set( - addItem(Circuit_Parts_TransistorASMD.ID, "Advanced SMD Transistor", "Advanced Electronic Component", o)); - ItemList.Circuit_Parts_CapacitorASMD - .set(addItem(Circuit_Parts_CapacitorASMD.ID, "Advanced SMD Capacitor", "Advanced Electronic Component", o)); - - ItemList.Circuit_Parts_ResistorXSMD.set( - addItem(Circuit_Parts_ResistorXSMD.ID, "Optical SMD Resistor", "Highly Advanced Electronic Component", o)); - ItemList.Circuit_Parts_DiodeXSMD - .set(addItem(Circuit_Parts_DiodeXSMD.ID, "Optical SMD Diode", "Highly Advanced Electronic Component", o)); - ItemList.Circuit_Parts_TransistorXSMD.set( - addItem( - Circuit_Parts_TransistorXSMD.ID, - "Optical SMD Transistor", - "Highly Advanced Electronic Component", - o)); - ItemList.Circuit_Parts_CapacitorXSMD.set( - addItem( - Circuit_Parts_CapacitorXSMD.ID, - "Optical SMD Capacitor", - "Highly Advanced Electronic Component", - o)); - - ItemList.Circuit_Parts_InductorSMD.set( - addItem( - Circuit_Parts_InductorSMD.ID, - "SMD Inductor", - "Electronic Component", - OrePrefixes.componentCircuit.get(Materials.Inductor), - SubTag.NO_UNIFICATION)); - ItemList.Circuit_Parts_InductorASMD - .set(addItem(Circuit_Parts_InductorASMD.ID, "Advanced SMD Inductor", "Advanced Electronic Component", o)); - ItemList.Circuit_Parts_InductorXSMD.set( - addItem(Circuit_Parts_InductorXSMD.ID, "Optical SMD Inductor", "Highly Advanced Electronic Component", o)); - - /* - * ICs Lenses made from perfect crystals first instead of plates Monocrystalline silicon ingot - * (normal+glowstone+naquadah) EBF, normal silicon no EBF need anymore wafer(normal+glowstone+naquadah) cut mono - * silicon ingot in cutting machine - * Integrated Logic Circuit(8bit DIP) RAM NAND Memory NOR Memory CPU (4 sizes) SoCs(2 sizes, high tier cheap low - * tech component) Power IC/High Power IC/Ultra High power - * nanotube interconnected circuit (H-IC + nanotubes) - * quantum chips - */ - ItemList.Circuit_Silicon_Ingot - .set(addItem(Circuit_Silicon_Ingot.ID, "Monocrystalline Silicon Boule", "Raw Circuit", o)); - ItemList.Circuit_Silicon_Ingot2.set( - addItem(Circuit_Silicon_Ingot2.ID, "Phosphorus doped Monocrystalline Silicon Boule", "Raw Circuit", o)); - ItemList.Circuit_Silicon_Ingot3 - .set(addItem(Circuit_Silicon_Ingot3.ID, "Naquadah doped Monocrystalline Silicon Boule", "Raw Circuit", o)); - ItemList.Circuit_Silicon_Ingot4 - .set(addItem(Circuit_Silicon_Ingot4.ID, "Europium doped Monocrystalline Silicon Boule", "Raw Circuit", o)); - ItemList.Circuit_Silicon_Ingot5 - .set(addItem(Circuit_Silicon_Ingot5.ID, "Americium doped Monocrystalline Silicon Boule", "Raw Circuit", o)); - ItemList.Circuit_Silicon_Ingot6 - .set(addItem(Circuit_Silicon_Ingot6.ID, "Optically Enriched Crystalline Boule", "Raw Circuit", o)); - - ItemList.Circuit_Silicon_Wafer.set(addItem(Circuit_Silicon_Wafer.ID, "Wafer", "Raw Circuit", o)); - ItemList.Circuit_Silicon_Wafer2 - .set(addItem(Circuit_Silicon_Wafer2.ID, "Phosphorus doped Wafer", "Raw Circuit", o)); - ItemList.Circuit_Silicon_Wafer3 - .set(addItem(Circuit_Silicon_Wafer3.ID, "Naquadah doped Wafer", "Raw Circuit", o)); - ItemList.Circuit_Silicon_Wafer4 - .set(addItem(Circuit_Silicon_Wafer4.ID, "Europium doped Wafer", "Raw Circuit", o)); - ItemList.Circuit_Silicon_Wafer5 - .set(addItem(Circuit_Silicon_Wafer5.ID, "Americium doped Wafer", "Raw Circuit", o)); - ItemList.Circuit_Silicon_Wafer6 - .set(addItem(Circuit_Silicon_Wafer6.ID, "Photonically Prepared Wafer", "Raw Circuit", o)); - ItemList.Circuit_Silicon_Wafer7 - .set(addItem(Circuit_Silicon_Wafer7.ID, "Photonically Enhanced Wafer", "Raw Circuit", o)); - - ItemList.Circuit_Wafer_ILC - .set(addItem(Circuit_Wafer_ILC.ID, "Integrated Logic Circuit (Wafer)", "Raw Circuit", o)); - ItemList.Circuit_Chip_ILC - .set(addItem(Circuit_Chip_ILC.ID, "Integrated Logic Circuit", "Integrated Circuit", o)); - - ItemList.Circuit_Wafer_Ram - .set(addItem(Circuit_Wafer_Ram.ID, "Random Access Memory Chip (Wafer)", "Raw Circuit", o)); - ItemList.Circuit_Chip_Ram - .set(addItem(Circuit_Chip_Ram.ID, "Random Access Memory Chip", "Integrated Circuit", o)); - - ItemList.Circuit_Wafer_NAND.set(addItem(Circuit_Wafer_NAND.ID, "NAND Memory Chip (Wafer)", "Raw Circuit", o)); - ItemList.Circuit_Chip_NAND.set(addItem(Circuit_Chip_NAND.ID, "NAND Memory Chip", "Integrated Circuit", o)); - - ItemList.Circuit_Wafer_NOR.set(addItem(Circuit_Wafer_NOR.ID, "NOR Memory Chip (Wafer)", "Raw Circuit", o)); - ItemList.Circuit_Chip_NOR.set(addItem(Circuit_Chip_NOR.ID, "NOR Memory Chip", "Integrated Circuit", o)); - - ItemList.Circuit_Wafer_CPU - .set(addItem(Circuit_Wafer_CPU.ID, "Central Processing Unit (Wafer)", "Raw Circuit", o)); - ItemList.Circuit_Chip_CPU.set(addItem(Circuit_Chip_CPU.ID, "Central Processing Unit", "Integrated Circuit", o)); - - ItemList.Circuit_Wafer_SoC.set(addItem(Circuit_Wafer_SoC.ID, "SoC Wafer", "Raw Circuit", o)); - ItemList.Circuit_Chip_SoC.set(addItem(Circuit_Chip_SoC.ID, "SoC", "System on a Chip", o)); - - ItemList.Circuit_Wafer_SoC2.set(addItem(Circuit_Wafer_SoC2.ID, "ASoC Wafer", "Raw Circuit", o)); - ItemList.Circuit_Chip_SoC2.set(addItem(Circuit_Chip_SoC2.ID, "ASoC", "Advanced System on a Chip", o)); - - ItemList.Circuit_Wafer_PIC.set(addItem(Circuit_Wafer_PIC.ID, "PIC Wafer", "Raw Circuit", o)); - ItemList.Circuit_Chip_PIC.set(addItem(Circuit_Chip_PIC.ID, "Power IC", "Power Circuit", o)); - - ItemList.Circuit_Wafer_HPIC.set(addItem(Circuit_Wafer_HPIC.ID, "HPIC Wafer", "Raw Circuit", o)); - ItemList.Circuit_Chip_HPIC.set(addItem(Circuit_Chip_HPIC.ID, "High Power IC", "High Power Circuit", o)); - - ItemList.Circuit_Wafer_NanoCPU.set(addItem(Circuit_Wafer_NanoCPU.ID, "NanoCPU Wafer", "Raw Circuit", o)); - ItemList.Circuit_Chip_NanoCPU - .set(addItem(Circuit_Chip_NanoCPU.ID, "Nanocomponent Central Processing Unit", "Power Circuit", o)); - - ItemList.Circuit_Wafer_QuantumCPU.set(addItem(Circuit_Wafer_QuantumCPU.ID, "QBit Wafer", "Raw Circuit", o)); - ItemList.Circuit_Chip_QuantumCPU - .set(addItem(Circuit_Chip_QuantumCPU.ID, "QBit Processing Unit", "Quantum CPU", o)); - - ItemList.Circuit_Wafer_UHPIC.set(addItem(Circuit_Wafer_UHPIC.ID, "UHPIC Wafer", "Raw Circuit", o)); - ItemList.Circuit_Chip_UHPIC - .set(addItem(Circuit_Chip_UHPIC.ID, "Ultra High Power IC", "Ultra High Power Circuit", o)); - - ItemList.Circuit_Wafer_Simple_SoC - .set(addItem(Circuit_Wafer_Simple_SoC.ID, "Simple SoC Wafer", "Raw Primitive Circuit", o)); - ItemList.Circuit_Chip_Simple_SoC - .set(addItem(Circuit_Chip_Simple_SoC.ID, "Simple SoC", "Simple System on a Chip", o)); - - ItemList.Circuit_Wafer_ULPIC.set(addItem(Circuit_Wafer_ULPIC.ID, "ULPIC Wafer", "Raw Circuit", o)); - ItemList.Circuit_Chip_ULPIC - .set(addItem(Circuit_Chip_ULPIC.ID, "Ultra Low Power IC", "Ultra Low Power Circuit", o)); - - ItemList.Circuit_Wafer_LPIC.set(addItem(Circuit_Wafer_LPIC.ID, "LPIC Wafer", "Raw Circuit", o)); - ItemList.Circuit_Chip_LPIC.set(addItem(Circuit_Chip_LPIC.ID, "Low Power IC", "Low Power Circuit", o)); - - ItemList.Circuit_Wafer_NPIC.set(addItem(Circuit_Wafer_NPIC.ID, "NPIC Wafer", "Raw Circuit", o)); - ItemList.Circuit_Chip_NPIC.set(addItem(Circuit_Chip_NPIC.ID, "Nano Power IC", "Nano Power Circuit", o)); - - ItemList.Circuit_Wafer_PPIC.set(addItem(Circuit_Wafer_PPIC.ID, "PPIC Wafer", "Raw Circuit", o)); - ItemList.Circuit_Chip_PPIC.set(addItem(Circuit_Chip_PPIC.ID, "Piko Power IC", "Piko Power Circuit", o)); - - ItemList.Circuit_Wafer_QPIC.set(addItem(Circuit_Wafer_QPIC.ID, "QPIC Wafer", "Raw Circuit", o)); - ItemList.Circuit_Chip_QPIC.set(addItem(Circuit_Chip_QPIC.ID, "Quantum Power IC", "Quantum Power Circuit", o)); - - ItemList.Circuit_Wafer_Bioware.set(addItem(Circuit_Wafer_Bioware.ID, "Living Bio Wafer", "Raw Circuit", o)); - ItemList.Circuit_Parts_Chip_Bioware - .set(addItem(Circuit_Parts_Chip_Bioware.ID, "Living Bio Chip", "Needed for Circuits", o)); - /* - * Engraved Crystal Chip Engraved Lapotron Chip Crystal CPU SoCrystal stem cells (disassemble eggs) - */ - ItemList.Circuit_Chip_CrystalSoC2.set( - addItem(Circuit_Chip_CrystalSoC2.ID, "Raw Advanced Crystal Chip", "Raw Advanced Crystal Processor", o)); - ItemList.Circuit_Parts_RawCrystalChip - .set(addItem(Circuit_Parts_RawCrystalChip.ID, "Raw Crystal Chip", "Raw Crystal Processor", o)); - ItemList.Circuit_Chip_CrystalCPU - .set(addItem(Circuit_Chip_CrystalCPU.ID, "Crystal Processing Unit", "Crystal CPU", o)); // Crystal - // chip - // elite - // part - ItemList.Circuit_Chip_CrystalSoC - .set(addItem(Circuit_Chip_CrystalSoC.ID, "Crystal SoC", "Crystal System on a Chip", o)); - ItemList.Circuit_Chip_NeuroCPU.set(addItem(Circuit_Chip_NeuroCPU.ID, "Neuro Processing Unit", "Neuro CPU", o)); - ItemList.Circuit_Chip_Stemcell.set(addItem(Circuit_Chip_Stemcell.ID, "Stemcells", "Raw inteligence", o)); - ItemList.Circuit_Parts_RawCrystalParts - .set(addItem(Circuit_Parts_RawCrystalParts.ID, "Raw Crystal Chip Parts", "Raw Crystal Processor Parts", o)); - ItemList.Circuit_Chip_Biocell.set(addItem(Circuit_Chip_Biocell.ID, "Biocells", "Mutated Raw inteligence", o)); - ItemList.Circuit_Chip_BioCPU.set(addItem(Circuit_Chip_BioCPU.ID, "Bio Processing Unit", "Bio CPU", o)); - ItemList.Circuit_Chip_Optical - .set(addItem(Circuit_Chip_Optical.ID, "Raw Exposed Optical Chip", "Raw Optical Chip", o)); - - // Nand Chip - ItemList.NandChip.set( - addItem( - NandChip.ID, - "NAND Chip", - "A very simple Circuit", - OrePrefixes.circuit.get(Materials.ULV), - SubTag.NO_UNIFICATION)); - - // Vacuum Tube Item01 - // Basic Circuit IC2 - // Good Circuit Item01 - - // Integrated Logic Circuit Item01 - ItemList.Circuit_Integrated_Good.set( - addItem( - Circuit_Integrated_Good.ID, - "Good Integrated Circuit", - "Good Circuit", - OrePrefixes.circuit.get(Materials.MV), - SubTag.NO_UNIFICATION)); - - // Good Integrated Circuit Item01 - // Advanced Circuit IC2 - - ItemList.Circuit_Microprocessor.set( - addItem( - Circuit_Microprocessor.ID, - "Microprocessor", - "A Basic Circuit", - OrePrefixes.circuit.get(Materials.LV), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_Processor.set( - addItem( - Circuit_Processor.ID, - "Integrated Processor", - "A Good Circuit", - OrePrefixes.circuit.get(Materials.MV), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_Nanoprocessor.set( - addItem( - Circuit_Nanoprocessor.ID, - "Nanoprocessor", - "An Advanced Circuit", - OrePrefixes.circuit.get(Materials.HV), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_Nanocomputer.set( - addItem( - Circuit_Nanocomputer.ID, - "Nanoprocessor Assembly", - "An Extreme Circuit", - OrePrefixes.circuit.get(Materials.EV), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_Elitenanocomputer.set( - addItem( - Circuit_Elitenanocomputer.ID, - "Elite Nanocomputer", - "An Elite Circuit", - OrePrefixes.circuit.get(Materials.IV), - SubTag.NO_UNIFICATION)); - - // Quantum circuits - ItemList.Circuit_Quantumprocessor.set( - addItem( - Circuit_Quantumprocessor.ID, - "Quantumprocessor", - "An Extreme Circuit", - OrePrefixes.circuit.get(Materials.EV), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_Quantumcomputer.set( - addItem( - Circuit_Quantumcomputer.ID, - "Quantumprocessor Assembly", - "An Elite Circuit", - OrePrefixes.circuit.get(Materials.IV), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_Masterquantumcomputer.set( - addItem( - Circuit_Masterquantumcomputer.ID, - "Master Quantumcomputer", - "A Master Circuit", - OrePrefixes.circuit.get(Materials.LuV), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_Quantummainframe.set( - addItem( - Circuit_Quantummainframe.ID, - "Quantumprocessor Mainframe", - "An Ultimate Circuit", - OrePrefixes.circuit.get(Materials.ZPM), - SubTag.NO_UNIFICATION)); - - // Crystal circuits - ItemList.Circuit_Crystalprocessor.set( - addItem( - Circuit_Crystalprocessor.ID, - "Crystalprocessor", - "An Elite Circuit", - OrePrefixes.circuit.get(Materials.IV), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_Crystalcomputer.set( - addItem( - Circuit_Crystalcomputer.ID, - "Crystalprocessor Assembly", - "A Master Circuit", - OrePrefixes.circuit.get(Materials.LuV), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_Ultimatecrystalcomputer.set( - addItem( - Circuit_Ultimatecrystalcomputer.ID, - "Ultimate Crystalcomputer", - "An Ultimate Circuit", - OrePrefixes.circuit.get(Materials.ZPM), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_Crystalmainframe.set( - addItem( - Circuit_Crystalmainframe.ID, - "Crystalprocessor Mainframe", - "A Super Circuit", - OrePrefixes.circuit.get(Materials.UV), - SubTag.NO_UNIFICATION)); - - // ???? Scared to remove. - ItemList.Circuit_Ultimate.set(ItemList.Circuit_Ultimatecrystalcomputer.get(1L)); // maybe should be removed - - // Wetware circuits - ItemList.Circuit_Neuroprocessor.set( - addItem( - Circuit_Neuroprocessor.ID, - "Wetwareprocessor", - "A Master Circuit", - OrePrefixes.circuit.get(Materials.LuV), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_Wetwarecomputer.set( - addItem( - Circuit_Wetwarecomputer.ID, - "Wetwareprocessor Assembly", - "An Ultimate Circuit", - OrePrefixes.circuit.get(Materials.ZPM), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_Wetwaresupercomputer.set( - addItem( - Circuit_Wetwaresupercomputer.ID, - "Wetware Supercomputer", - "A Super Circuit", - OrePrefixes.circuit.get(Materials.UV), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_Wetwaremainframe.set( - addItem( - Circuit_Wetwaremainframe.ID, - "Wetware Mainframe", - "An Infinite Circuit", - OrePrefixes.circuit.get(Materials.UHV), - SubTag.NO_UNIFICATION)); - - // Bioware circuits. - ItemList.Circuit_Bioprocessor.set( - addItem( - Circuit_Bioprocessor.ID, - "Bioprocessor", - "An Ultimate Circuit", - OrePrefixes.circuit.get(Materials.ZPM), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_Biowarecomputer.set( - addItem( - Circuit_Biowarecomputer.ID, - "Biowareprocessor Assembly", - "A Super Circuit", - OrePrefixes.circuit.get(Materials.UV), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_Biowaresupercomputer.set( - addItem( - Circuit_Biowaresupercomputer.ID, - "Bioware Supercomputer", - "An Infinite Circuit", - OrePrefixes.circuit.get(Materials.UHV), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_Biomainframe.set( - addItem( - Circuit_Biomainframe.ID, - "Bio Mainframe", - "A Bio Circuit", - OrePrefixes.circuit.get(Materials.UEV), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_Board_Coated_Basic - .set(addItem(Circuit_Board_Coated_Basic.ID, "Circuit Board", "A basic Circuit Board", o)); - ItemList.Circuit_Board_Phenolic_Good - .set(addItem(Circuit_Board_Phenolic_Good.ID, "Good Circuit Board", "A good Circuit Board", o)); - ItemList.Circuit_Board_Epoxy_Advanced - .set(addItem(Circuit_Board_Epoxy_Advanced.ID, "Advanced Circuit Board", "A advanced Circuit Board", o)); - ItemList.Circuit_Board_Fiberglass_Advanced.set( - addItem( - Circuit_Board_Fiberglass_Advanced.ID, - "More Advanced Circuit Board", - "A more advanced Circuit Board", - o)); - ItemList.Circuit_Board_Multifiberglass_Elite - .set(addItem(Circuit_Board_Multifiberglass_Elite.ID, "Elite Circuit Board", "A elite Circuit Board", o)); - ItemList.Circuit_Board_Wetware_Extreme.set( - addItem( - Circuit_Board_Wetware_Extreme.ID, - "Extreme Wetware Lifesupport Circuit Board", - "The Board that keeps life", - o)); - ItemList.Circuit_Board_Plastic_Advanced - .set(addItem(Circuit_Board_Plastic_Advanced.ID, "Plastic Circuit Board", "A good Board", o)); - ItemList.Circuit_Board_Bio_Ultra.set( - addItem(Circuit_Board_Bio_Ultra.ID, "Ultra Bio Mutated Circuit Board", "Bio genetic mutated Board", o)); - ItemList.Circuit_Board_Optical - .set(addItem(Circuit_Board_Optical.ID, "Optical Circuit Board", "Optically Infused Board", o)); - - // Optical circuits - ItemList.Circuit_OpticalProcessor.set( - addItem( - Circuit_OpticalProcessor.ID, - "Optical Processor", - "An Optical Circuit", - OrePrefixes.circuit.get(Materials.UV), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_OpticalAssembly.set( - addItem( - Circuit_OpticalAssembly.ID, - "Optical Assembly", - "An Optical Circuit", - OrePrefixes.circuit.get(Materials.UHV), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_OpticalComputer.set( - addItem( - Circuit_OpticalComputer.ID, - "Optical Computer", - "An Optical Circuit", - OrePrefixes.circuit.get(Materials.UEV), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_OpticalMainframe.set( - addItem( - Circuit_OpticalMainframe.ID, - "Optical Mainframe", - "An Optical Circuit", - OrePrefixes.circuit.get(Materials.UIV), - SubTag.NO_UNIFICATION)); - - // Exotic circuits - ItemList.Circuit_ExoticProcessor.set( - addItem( - Circuit_ExoticProcessor.ID, - "Exotic Processor", - "An Exotic Circuit", - OrePrefixes.circuit.get(Materials.UHV), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_ExoticAssembly.set( - addItem( - Circuit_ExoticAssembly.ID, - "Exotic Assembly", - "An Exotic Circuit", - OrePrefixes.circuit.get(Materials.UEV), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_ExoticComputer.set( - addItem( - Circuit_ExoticComputer.ID, - "Exotic Computer", - "An Exotic Circuit", - OrePrefixes.circuit.get(Materials.UIV), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_ExoticMainframe.set( - addItem( - Circuit_ExoticMainframe.ID, - "Exotic Mainframe", - "An Exotic Circuit", - OrePrefixes.circuit.get(Materials.UMV), - SubTag.NO_UNIFICATION)); - - // Cosmic circuits - ItemList.Circuit_CosmicProcessor.set( - addItem( - Circuit_CosmicProcessor.ID, - "Cosmic Processor", - "A Cosmic Circuit", - OrePrefixes.circuit.get(Materials.UEV), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_CosmicAssembly.set( - addItem( - Circuit_CosmicAssembly.ID, - "Cosmic Assembly", - "A Cosmic Circuit", - OrePrefixes.circuit.get(Materials.UIV), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_CosmicComputer.set( - addItem( - Circuit_CosmicComputer.ID, - "Cosmic Computer", - "A Cosmic Circuit", - OrePrefixes.circuit.get(Materials.UMV), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_CosmicMainframe.set( - addItem( - Circuit_CosmicMainframe.ID, - "Cosmic Mainframe", - "A Cosmic Circuit", - OrePrefixes.circuit.get(Materials.UXV), - SubTag.NO_UNIFICATION)); - - // Transcendent circuits - ItemList.Circuit_TranscendentProcessor.set( - addItem( - Circuit_TranscendentProcessor.ID, - "Temporally Transcendent Processor", - "A circuit operating outside of known spacetime", - OrePrefixes.circuit.get(Materials.UIV), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_TranscendentAssembly.set( - addItem( - Circuit_TranscendentAssembly.ID, - "Temporally Transcendent Assembly", - "A circuit operating outside of known spacetime", - OrePrefixes.circuit.get(Materials.UMV), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_TranscendentComputer.set( - addItem( - Circuit_TranscendentComputer.ID, - "Temporally Transcendent Computer", - "A circuit operating outside of known spacetime", - OrePrefixes.circuit.get(Materials.UXV), - SubTag.NO_UNIFICATION)); - - ItemList.Circuit_TranscendentMainframe.set( - addItem( - Circuit_TranscendentMainframe.ID, - "Temporally Transcendent Mainframe", - "A circuit operating outside of known spacetime", - OrePrefixes.circuit.get(Materials.MAX), - SubTag.NO_UNIFICATION)); - - ItemList.Tube_Wires.set(addItem(Tube_Wires.ID, "Tube Wires", "For the Vacuum Tubes", o)); - - ItemList.Cover_SolarPanel_UHV.set( - addItem( - Cover_SolarPanel_UHV.ID, - "Solar Panel (UHV)", - "Ultimate High Voltage Solar Panel (Needs cleaning with right click)", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 128L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 128L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TENEBRAE, 128L))); - ItemList.Cover_SolarPanel_UEV.set( - addItem( - Cover_SolarPanel_UEV.ID, - "Solar Panel (UEV)", - "Ultimate Extreme Voltage Solar Panel (Needs cleaning with right click)", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 256L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 256L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TENEBRAE, 256L))); - ItemList.Cover_SolarPanel_UIV.set( - addItem( - Cover_SolarPanel_UIV.ID, - "Solar Panel (UIV)", - "Ultimate Insane Voltage Solar Panel (Needs cleaning with right click)", - new TC_Aspects.TC_AspectStack(TC_Aspects.ELECTRUM, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 512L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TENEBRAE, 512L))); - - ItemList.ULV_Coil.set(addItem(ULV_Coil.ID, "Ultra Low Voltage Coil", "Primitive Coil", o)); - ItemList.LV_Coil.set(addItem(LV_Coil.ID, "Low Voltage Coil", "Basic Coil", o)); - ItemList.MV_Coil.set(addItem(MV_Coil.ID, "Medium Voltage Coil", "Good Coil", o)); - ItemList.HV_Coil.set(addItem(HV_Coil.ID, "High Voltage Coil", "Advanced Coil", o)); - ItemList.EV_Coil.set(addItem(EV_Coil.ID, "Extreme Voltage Coil", "Extreme Coil", o)); - ItemList.IV_Coil.set(addItem(IV_Coil.ID, "Insane Voltage Coil", "Elite Coil", o)); - ItemList.LuV_Coil.set(addItem(LuV_Coil.ID, "Ludicrous Voltage Coil", "Master Coil", o)); - ItemList.ZPM_Coil.set(addItem(ZPM_Coil.ID, "ZPM Voltage Coil", "Ultimate Coil", o)); - ItemList.UV_Coil.set(addItem(UV_Coil.ID, "Ultimate Voltage Coil", "Super Coil", o)); - ItemList.UHV_Coil.set(addItem(UHV_Coil.ID, "Highly Ultimate Voltage Coil", "Infinite Coil", o)); - - ItemList.GalliumArsenideCrystal - .set(addItem(GalliumArsenideCrystal.ID, "Gallium Arsenide Crystal", "For making boules", o)); - ItemList.GalliumArsenideCrystalSmallPart - .set(addItem(GalliumArsenideCrystalSmallPart.ID, "Small Gallium Arsenide Crystal", "For making boules", o)); - ItemList.KevlarFiber.set(addItem(KevlarFiber.ID, "Kevlar Fiber", "For making Kevlar Plates", o)); - ItemList.WovenKevlar.set(addItem(WovenKevlar.ID, "Woven Kevlar", "For making Kevlar Plates", o)); - ItemList.Spinneret.set(addItem(Spinneret.ID, "Spinneret", "For making Kevlar Fiber", o)); - - ItemList.IndustrialApiary_Upgrade_Frame - .set(addItem(IndustrialApiary_Upgrade_Frame.ID, "Upgrade Frame", "Crafting component", o)); - - ItemList.IndustrialApiary_Upgrade_Acceleration_1.set( - addItem( - IndustrialApiary_Upgrade_Acceleration_1.ID, - "Acceleration Upgrade x2", - "Acceleration upgrade for Industrial Apiary/n Maximum Installed: 1/n * Unlocks 2x acceleration level/n * Energy Consumption +1 AMP LV", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_Acceleration_2.set( - addItem( - IndustrialApiary_Upgrade_Acceleration_2.ID, - "Acceleration Upgrade x4", - "Acceleration upgrade for Industrial Apiary/n Maximum Installed: 1/n * Unlocks 4x acceleration level/n * Energy Consumption +1 AMP MV", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_Acceleration_3.set( - addItem( - IndustrialApiary_Upgrade_Acceleration_3.ID, - "Acceleration Upgrade x8", - "Acceleration upgrade for Industrial Apiary/n Maximum Installed: 1/n * Unlocks 8x acceleration level/n * Energy Consumption +1 AMP HV", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_Acceleration_4.set( - addItem( - IndustrialApiary_Upgrade_Acceleration_4.ID, - "Acceleration Upgrade x16", - "Acceleration upgrade for Industrial Apiary/n Maximum Installed: 1/n * Unlocks 16x acceleration level/n * Energy Consumption +1 AMP EV", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_Acceleration_5.set( - addItem( - IndustrialApiary_Upgrade_Acceleration_5.ID, - "Acceleration Upgrade x32", - "Acceleration upgrade for Industrial Apiary/n Maximum Installed: 1/n * Unlocks 32x acceleration level/n * Energy Consumption +1 AMP IV", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_Acceleration_6.set( - addItem( - IndustrialApiary_Upgrade_Acceleration_6.ID, - "Acceleration Upgrade x64", - "Acceleration upgrade for Industrial Apiary/n Maximum Installed: 1/n * Unlocks 64x acceleration level/n * Energy Consumption +1 AMP LuV", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_Acceleration_7.set( - addItem( - IndustrialApiary_Upgrade_Acceleration_7.ID, - "Acceleration Upgrade x128", - "Acceleration upgrade for Industrial Apiary/n Maximum Installed: 1/n * Unlocks 128x acceleration level/n * Energy Consumption +1 AMP ZPM", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_Acceleration_8.set( - addItem( - IndustrialApiary_Upgrade_Acceleration_8.ID, - "Acceleration Upgrade x256", - "Acceleration upgrade for Industrial Apiary/n Maximum Installed: 1/n * Unlocks 256x acceleration level/n * Energy Consumption +1 AMP UV", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_Acceleration_8_Upgraded.set( - addItem( - IndustrialApiary_Upgrade_Acceleration_8_Upgraded.ID, - "Upgraded Acceleration Upgrade x256", - "Acceleration upgrade for Industrial Apiary/n Maximum Installed: 1/n * Unlocks 256x acceleration level/n * Will also grant 8x production upgrade/n * Energy Consumption +1 AMP UV", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_PRODUCTION.set( - addItem( - IndustrialApiary_Upgrade_PRODUCTION.ID, - "Production Upgrade", - "Production upgrade for Industrial Apiary/n Maximum Installed: 8/n Increases production modifier by 0.25/n Energy Consumption +40%", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_PLAINS.set( - addItem( - IndustrialApiary_Upgrade_PLAINS.ID, - "Plains Emulation Upgrade", - "Plains emulation upgrade for Industrial Apiary/n Maximum Installed: 1/n * Biome Override: Plains/n * Energy Consumption +40%", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_LIGHT.set( - addItem( - IndustrialApiary_Upgrade_LIGHT.ID, - "Light Upgrade", - "Light upgrade for Industrial Apiary/n Maximum Installed: 1/n * Internal Lighting/n * Energy Consumption +5%", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_FLOWERING.set( - addItem( - IndustrialApiary_Upgrade_FLOWERING.ID, - "Flowering Upgrade", - "Flowering upgrade for Industrial Apiary/n Maximum Installed: 8/n * Flowering and Pollination +20%/n * Energy Consumption +10%", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_WINTER.set( - addItem( - IndustrialApiary_Upgrade_WINTER.ID, - "Winter Emulation Upgrade", - "Winter emulation upgrade for Industrial Apiary/n Maximum Installed: 1/n * Biome Override: Taiga/n * Energy Consumption +50%", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_DRYER.set( - addItem( - IndustrialApiary_Upgrade_DRYER.ID, - "Dryer Upgrade", - "Dryer upgrade for Industrial Apiary/n Maximum Installed: 16/n * Humidity -12.5%/n * Energy Consumption +2.5%", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_AUTOMATION.set( - addItem( - IndustrialApiary_Upgrade_AUTOMATION.ID, - "Automation Upgrade", - "Automation upgrade for Industrial Apiary/n Maximum Installed: 1/n * Automation/n * Energy Consumption +10%", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_HUMIDIFIER.set( - addItem( - IndustrialApiary_Upgrade_HUMIDIFIER.ID, - "Humidifier Upgrade", - "Humidifier upgrade for Industrial Apiary/n Maximum Installed: 16/n * Humidity +12.5%/n * Energy Consumption +2.5%", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_HELL.set( - addItem( - IndustrialApiary_Upgrade_HELL.ID, - "HELL Emulation Upgrade", - "HELL emulation upgrade for Industrial Apiary/n Maximum Installed: 1/n * Biome Override: HELL/n * Energy Consumption +50%", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_POLLEN.set( - addItem( - IndustrialApiary_Upgrade_POLLEN.ID, - "Pollen Scrubber Upgrade", - "Pollen scrubber upgrade for Industrial Apiary/n Maximum Installed: 1/n * Flowering and Pollination -100%/n * Energy Consumption +30%", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_DESERT.set( - addItem( - IndustrialApiary_Upgrade_DESERT.ID, - "Desert Emulation Upgrade", - "Desert emulation upgrade for Industrial Apiary/n Maximum Installed: 1/n * Biome Override: Desert/n * Energy Consumption +20%", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_COOLER.set( - addItem( - IndustrialApiary_Upgrade_COOLER.ID, - "Cooler Upgrade", - "Cooler upgrade for Industrial Apiary/n Maximum Installed: 16/n * Temperature -12.5%/n * Energy Consumption +2.5%", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_LIFESPAN.set( - addItem( - IndustrialApiary_Upgrade_LIFESPAN.ID, - "Lifespan Upgrade", - "Lifespan upgrade for Industrial Apiary/n Maximum Installed: 4/n * Lifespan -33%/n * Energy Consumption +5%", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_SEAL.set( - addItem( - IndustrialApiary_Upgrade_SEAL.ID, - "Seal Upgrade", - "Seal upgrade for Industrial Apiary/n Maximum Installed: 1/n * Rain Protection/n * Energy Consumption +5%", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_STABILIZER.set( - addItem( - IndustrialApiary_Upgrade_STABILIZER.ID, - "Genetic Stabilizer Upgrade", - "Genetic stabilizer upgrade for Industrial Apiary/n Maximum Installed: 1/n * Genetic Decay -100%/n * Energy Consumption +150%", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_JUNGLE.set( - addItem( - IndustrialApiary_Upgrade_JUNGLE.ID, - "Jungle Emulation Upgrade", - "Jungle emulation upgrade for Industrial Apiary/n Maximum Installed: 1/n * Biome Override: Jungle/n * Energy Consumption +20%", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_TERRITORY.set( - addItem( - IndustrialApiary_Upgrade_TERRITORY.ID, - "Territory Upgrade", - "Territory upgrade for Industrial Apiary/n Maximum Installed: 4/n * Territory +50%/n * Energy Consumption +5%", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_OCEAN.set( - addItem( - IndustrialApiary_Upgrade_OCEAN.ID, - "Ocean Emulation Upgrade", - "Ocean emulation upgrade for Industrial Apiary/n Maximum Installed: 1/n * Biome Override: Ocean/n * Energy Consumption +20%", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_SKY.set( - addItem( - IndustrialApiary_Upgrade_SKY.ID, - "Open Sky Upgrade", - "Open sky upgrade for Industrial Apiary/n Maximum Installed: 1/n * Open Sky Simulation/n * Energy Consumption +5%", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_HEATER.set( - addItem( - IndustrialApiary_Upgrade_HEATER.ID, - "Heater Upgrade", - "Heater upgrade for Industrial Apiary/n Maximum Installed: 16/n * Temperature +12.5%/n * Energy Consumption +2.5%", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_SIEVE.set( - addItem( - IndustrialApiary_Upgrade_SIEVE.ID, - "Sieve Upgrade", - "Sieve upgrade for Industrial Apiary/n Maximum Installed: 1/n * Pollen Collection/n * Energy Consumption +25%", - OrePrefixes.apiaryUpgrade.name())); - ItemList.IndustrialApiary_Upgrade_UNLIGHT.set( - addItem( - IndustrialApiary_Upgrade_UNLIGHT.ID, - "Night Upgrade", - "Night upgrade for Industrial Apiary/n Maximum Installed: 1/n * Internal Darkness/n * Energy Consumption +5%", - OrePrefixes.apiaryUpgrade.name())); - - ItemList.NuclearStar.set( - addItem( - NuclearStar.ID, - "Nuclear Star", - "By the powers of Greg, I command this star to be really hot.", - SubTag.NO_UNIFICATION)); - - ItemList.Cover_Metrics_Transmitter.set( - addItem( - Cover_Metrics_Transmitter.ID, - "Metrics Transmitter Cover", - String.join( - "/n ", - "Taking Information Panels to the next level!", - "Creates a GregTech Advanced Sensor Card when attached", - "Works across dimensions or if machine is dismantled", - "Removing this cover will destroy the linked card", - GT_Values.AuthorQuerns))); - - ItemList.ActivatedCarbonFilterMesh.set( - addItem( - Activated_Carbon_Filter_Mesh.ID, - "Activated Carbon Filter Mesh", - "The most granular filter you could possibly make.", - SubTag.NO_UNIFICATION)); - - ItemList.Quark_Catalyst_Housing.set( - addItem( - Quark_Catalyst_Housing.ID, - "Empty Quark Release Catalyst Housing", - "Capable of holding Quark Release Catalysts", - SubTag.NO_UNIFICATION)); - ItemList.Quark_Creation_Catalyst_Up.set( - addItem( - Quark_Creation_Catalyst_Up.ID, - "Up-Quark Releasing Catalyst", - "Can release up-quarks into environment to reshape matter", - SubTag.NO_UNIFICATION)); - ItemList.Quark_Creation_Catalyst_Down.set( - addItem( - Quark_Creation_Catalyst_Down.ID, - "Down-Quark Releasing Catalyst", - "Can release down-quarks into environment to reshape matter", - SubTag.NO_UNIFICATION)); - ItemList.Quark_Creation_Catalyst_Strange.set( - addItem( - Quark_Creation_Catalyst_Strange.ID, - "Strange-Quark Releasing Catalyst", - "Can release strange-quarks into environment to reshape matter", - SubTag.NO_UNIFICATION)); - ItemList.Quark_Creation_Catalyst_Charm.set( - addItem( - Quark_Creation_Catalyst_Charm.ID, - "Charm-Quark Releasing Catalyst", - "Can release charm-quarks into environment to reshape matter", - SubTag.NO_UNIFICATION)); - ItemList.Quark_Creation_Catalyst_Bottom.set( - addItem( - Quark_Creation_Catalyst_Bottom.ID, - "Bottom-Quark Releasing Catalyst", - "Can release top-quarks into environment to reshape matter", - SubTag.NO_UNIFICATION)); - ItemList.Quark_Creation_Catalyst_Top.set( - addItem( - Quark_Creation_Catalyst_Top.ID, - "Top-Quark Releasing Catalyst", - "Can release bottom-quarks into environment to reshape matter", - SubTag.NO_UNIFICATION)); - ItemList.Quark_Creation_Catalyst_Unaligned.set( - addItem( - Quark_Creation_Catalyst_Unaligned.ID, - "Unaligned Quark Releasing Catalyst", - "Needs to be realigned before use", - SubTag.NO_UNIFICATION)); - - ItemList.Optical_Cpu_Containment_Housing - .set(addItem(Optical_Cpu_Containment_Housing.ID, "Optical CPU Containment Housing", "CPU Housing", o)); - ItemList.Optically_Perfected_CPU - .set(addItem(Optically_Perfected_CPU.ID, "Optically Perfected CPU", "Perfected CPU!", o)); - ItemList.Optically_Compatible_Memory - .set(addItem(Optically_Compatible_Memory.ID, "Optically Compatible Memory", "Its in the name!", o)); - - ItemList.Timepiece.set(addItem(Timepiece.ID, "Timepiece", "Beware of the kid with the hat", o)); - ItemList.Transdimensional_Alignment_Matrix.set( - addItem( - Transdimensional_Alignment_Matrix.ID, - "Transdimensional Alignment Matrix", - String.join( - "/n ", - "Device supporting the alignment of transdimensional spaces.", - "Enables Dimensional Convergence on the DTPF."), - o)); - - ItemList.Thermal_Superconductor - .set(addItem(Thermal_Superconductor.ID, "Thermal Superconductor", "With the power of second sound!", o)); - ItemList.Relativistic_Heat_Capacitor - .set(addItem(Relativistic_Heat_Capacitor.ID, "Relativistic Heat Capacitor", "Thermal Resonance?", o)); - ItemList.Phononic_Seed_Crystal - .set(addItem(Phononic_Seed_Crystal.ID, "Phononic Seed Crystal", "Perfect Thermal Conductance", o)); - - ItemList.White_Dwarf_Shape_Extruder_Plate.set( - addItem( - White_Dwarf_Shape_Extruder_Plate.ID, - "White Dwarf Extruder Shape (Plate)", - "Ultra Strong Stellar Shape for making Plates")); - ItemList.White_Dwarf_Shape_Extruder_Rod.set( - addItem( - White_Dwarf_Shape_Extruder_Rod.ID, - "White Dwarf Extruder Shape (Rod)", - "Ultra Strong Stellar Shape for making Rods")); - ItemList.White_Dwarf_Shape_Extruder_Bolt.set( - addItem( - White_Dwarf_Shape_Extruder_Bolt.ID, - "White Dwarf Extruder Shape (Bolt)", - "Ultra Strong Stellar Shape for making Bolts")); - ItemList.White_Dwarf_Shape_Extruder_Ring.set( - addItem( - White_Dwarf_Shape_Extruder_Ring.ID, - "White Dwarf Extruder Shape (Ring)", - "Ultra Strong Stellar Shape for making Rings")); - ItemList.White_Dwarf_Shape_Extruder_Cell.set( - addItem( - White_Dwarf_Shape_Extruder_Cell.ID, - "White Dwarf Extruder Shape (Cell)", - "Ultra Strong Stellar Shape for making Cells")); - ItemList.White_Dwarf_Shape_Extruder_Ingot.set( - addItem( - White_Dwarf_Shape_Extruder_Ingot.ID, - "White Dwarf Extruder Shape (Ingot)", - "Ultra Strong Stellar Shape for, wait, can't we just use a Furnace?")); - ItemList.White_Dwarf_Shape_Extruder_Wire.set( - addItem( - White_Dwarf_Shape_Extruder_Wire.ID, - "White Dwarf Extruder Shape (Wire)", - "Ultra Strong Stellar Shape for making Wires")); - ItemList.White_Dwarf_Shape_Extruder_Casing.set( - addItem( - White_Dwarf_Shape_Extruder_Casing.ID, - "White Dwarf Extruder Shape (Casing)", - "Ultra Strong Stellar Shape for making Item Casings")); - ItemList.White_Dwarf_Shape_Extruder_Pipe_Tiny.set( - addItem( - White_Dwarf_Shape_Extruder_Pipe_Tiny.ID, - "White Dwarf Extruder Shape (Tiny Pipe)", - "Ultra Strong Stellar Shape for making tiny Pipes")); - ItemList.White_Dwarf_Shape_Extruder_Pipe_Small.set( - addItem( - White_Dwarf_Shape_Extruder_Pipe_Small.ID, - "White Dwarf Extruder Shape (Small Pipe)", - "Ultra Strong Stellar Shape for making small Pipes")); - ItemList.White_Dwarf_Shape_Extruder_Pipe_Medium.set( - addItem( - White_Dwarf_Shape_Extruder_Pipe_Medium.ID, - "White Dwarf Extruder Shape (Normal Pipe)", - "Ultra Strong Stellar Shape for making Pipes")); - ItemList.White_Dwarf_Shape_Extruder_Pipe_Large.set( - addItem( - White_Dwarf_Shape_Extruder_Pipe_Large.ID, - "White Dwarf Extruder Shape (Large Pipe)", - "Ultra Strong Stellar Shape for making large Pipes")); - ItemList.White_Dwarf_Shape_Extruder_Pipe_Huge.set( - addItem( - White_Dwarf_Shape_Extruder_Pipe_Huge.ID, - "White Dwarf Extruder Shape (Huge Pipe)", - "Ultra Strong Stellar Shape for making full Block Pipes")); - ItemList.White_Dwarf_Shape_Extruder_Block.set( - addItem( - White_Dwarf_Shape_Extruder_Block.ID, - "White Dwarf Extruder Shape (Block)", - "Ultra Strong Stellar Shape for making Blocks")); - ItemList.White_Dwarf_Shape_Extruder_Sword.set( - addItem( - White_Dwarf_Shape_Extruder_Sword.ID, - "White Dwarf Extruder Shape (Sword Blade)", - "Ultra Strong Stellar Shape for making Swords")); - ItemList.White_Dwarf_Shape_Extruder_Pickaxe.set( - addItem( - White_Dwarf_Shape_Extruder_Pickaxe.ID, - "White Dwarf Extruder Shape (Pickaxe Head)", - "Ultra Strong Stellar Shape for making Pickaxes")); - ItemList.White_Dwarf_Shape_Extruder_Shovel.set( - addItem( - White_Dwarf_Shape_Extruder_Shovel.ID, - "White Dwarf Extruder Shape (Shovel Head)", - "Ultra Strong Stellar Shape for making Shovels")); - ItemList.White_Dwarf_Shape_Extruder_Axe.set( - addItem( - White_Dwarf_Shape_Extruder_Axe.ID, - "White Dwarf Extruder Shape (Axe Head)", - "Ultra Strong Stellar Shape for making Axes")); - ItemList.White_Dwarf_Shape_Extruder_Hoe.set( - addItem( - White_Dwarf_Shape_Extruder_Hoe.ID, - "White Dwarf Extruder Shape (Hoe Head)", - "Ultra Strong Stellar Shape for making Hoes")); - ItemList.White_Dwarf_Shape_Extruder_Hammer.set( - addItem( - White_Dwarf_Shape_Extruder_Hammer.ID, - "White Dwarf Extruder Shape (Hammer Head)", - "Ultra Strong Stellar Shape for making Hammers")); - ItemList.White_Dwarf_Shape_Extruder_File.set( - addItem( - White_Dwarf_Shape_Extruder_File.ID, - "White Dwarf Extruder Shape (File Head)", - "Ultra Strong Stellar Shape for making Files")); - ItemList.White_Dwarf_Shape_Extruder_Saw.set( - addItem( - White_Dwarf_Shape_Extruder_Saw.ID, - "White Dwarf Extruder Shape (Saw Blade)", - "Ultra Strong Stellar Shape for making Saws")); - ItemList.White_Dwarf_Shape_Extruder_Gear.set( - addItem( - White_Dwarf_Shape_Extruder_Gear.ID, - "White Dwarf Extruder Shape (Gear)", - "Ultra Strong Stellar Shape for making Gears")); - ItemList.White_Dwarf_Shape_Extruder_Bottle.set( - addItem( - White_Dwarf_Shape_Extruder_Bottle.ID, - "White Dwarf Extruder Shape (Bottle)", - "Ultra Strong Stellar Shape for making Bottles")); - ItemList.White_Dwarf_Shape_Extruder_Rotor.set( - addItem( - White_Dwarf_Shape_Extruder_Rotor.ID, - "White Dwarf Extruder Shape (Rotor)", - "Ultra Strong Stellar Shape for a Rotor")); - ItemList.White_Dwarf_Shape_Extruder_Small_Gear.set( - addItem( - White_Dwarf_Shape_Extruder_Small_Gear.ID, - "White Dwarf Extruder Shape (Small Gear)", - "Ultra Strong Stellar Shape for a Small Gear")); - ItemList.White_Dwarf_Shape_Extruder_Turbine_Blade.set( - addItem( - White_Dwarf_Shape_Extruder_Turbine_Blade.ID, - "White Dwarf Extruder Shape (Turbine Blade)", - "Ultra Strong Stellar Extruder Shape for a Turbine Blade")); - ItemList.White_Dwarf_Shape_Extruder_ToolHeadDrill.set( - addItem( - White_Dwarf_Shape_Extruder_ToolHeadDrill.ID, - "White Dwarf Extruder Shape (Drill Head)", - "White Dwarf Extruder Shape for a Drill Head")); - registerAllTieredTooltips(); - registerAllAnimatedTooltips(); - initOrePrefixes(); - initOreDictUnificatorEntries(); - registerCovers(); - } - - private void registerAllTieredTooltips() { - registerTieredTooltip(ItemList.NandChip.get(1), ULV); - registerTieredTooltip(ItemList.Circuit_Integrated_Good.get(1), MV); - registerTieredTooltip(ItemList.Circuit_Microprocessor.get(1), LV); - registerTieredTooltip(ItemList.Circuit_Processor.get(1), MV); - registerTieredTooltip(ItemList.Circuit_Nanoprocessor.get(1), HV); - registerTieredTooltip(ItemList.Circuit_Nanocomputer.get(1), EV); - registerTieredTooltip(ItemList.Circuit_Elitenanocomputer.get(1), IV); - registerTieredTooltip(ItemList.Circuit_Quantumprocessor.get(1), EV); - registerTieredTooltip(ItemList.Circuit_Quantumcomputer.get(1), IV); - registerTieredTooltip(ItemList.Circuit_Masterquantumcomputer.get(1), LuV); - registerTieredTooltip(ItemList.Circuit_Quantummainframe.get(1), ZPM); - registerTieredTooltip(ItemList.Circuit_Crystalprocessor.get(1), IV); - registerTieredTooltip(ItemList.Circuit_Crystalcomputer.get(1), LuV); - registerTieredTooltip(ItemList.Circuit_Ultimatecrystalcomputer.get(1), ZPM); - registerTieredTooltip(ItemList.Circuit_Crystalmainframe.get(1), UV); - registerTieredTooltip(ItemList.Circuit_Neuroprocessor.get(1), LuV); - registerTieredTooltip(ItemList.Circuit_Wetwarecomputer.get(1), ZPM); - registerTieredTooltip(ItemList.Circuit_Wetwaresupercomputer.get(1), UV); - registerTieredTooltip(ItemList.Circuit_Wetwaremainframe.get(1), UHV); - registerTieredTooltip(ItemList.Circuit_Bioprocessor.get(1), ZPM); - registerTieredTooltip(ItemList.Circuit_Biowarecomputer.get(1), UV); - registerTieredTooltip(ItemList.Circuit_Biowaresupercomputer.get(1), UHV); - registerTieredTooltip(ItemList.Circuit_Biomainframe.get(1), UEV); - registerTieredTooltip(ItemList.Circuit_OpticalProcessor.get(1), UV); - registerTieredTooltip(ItemList.Circuit_OpticalAssembly.get(1), UHV); - registerTieredTooltip(ItemList.Circuit_OpticalComputer.get(1), UEV); - registerTieredTooltip(ItemList.Circuit_OpticalMainframe.get(1), UIV); - registerTieredTooltip(ItemList.Circuit_ExoticProcessor.get(1), UHV); - registerTieredTooltip(ItemList.Circuit_ExoticAssembly.get(1), UEV); - registerTieredTooltip(ItemList.Circuit_ExoticComputer.get(1), UIV); - registerTieredTooltip(ItemList.Circuit_ExoticMainframe.get(1), UMV); - registerTieredTooltip(ItemList.Circuit_CosmicProcessor.get(1), UEV); - registerTieredTooltip(ItemList.Circuit_CosmicAssembly.get(1), UIV); - registerTieredTooltip(ItemList.Circuit_CosmicComputer.get(1), UMV); - registerTieredTooltip(ItemList.Circuit_CosmicMainframe.get(1), UXV); - registerTieredTooltip(ItemList.Circuit_TranscendentProcessor.get(1), UIV); - registerTieredTooltip(ItemList.Circuit_TranscendentAssembly.get(1), UMV); - registerTieredTooltip(ItemList.Circuit_TranscendentComputer.get(1), UXV); - registerTieredTooltip(ItemList.Circuit_TranscendentMainframe.get(1), MAX); - } - - private void registerAllAnimatedTooltips() { - addItemTooltip(ItemList.Transdimensional_Alignment_Matrix.get(1), GT_Values.AuthorCloud); - } - - private void initOreDictUnificatorEntries() { - GT_OreDictUnificator - .set(OrePrefixes.componentCircuit, Materials.Resistor, ItemList.Circuit_Parts_Resistor.get(1L)); - GT_OreDictUnificator.set(OrePrefixes.componentCircuit, Materials.Diode, ItemList.Circuit_Parts_Diode.get(1L)); - GT_OreDictUnificator - .set(OrePrefixes.componentCircuit, Materials.Transistor, ItemList.Circuit_Parts_Transistor.get(1L)); - GT_OreDictUnificator.set(OrePrefixes.componentCircuit, Materials.Inductor, ItemList.Circuit_Parts_Coil.get(1L)); - GT_OreDictUnificator - .set(OrePrefixes.componentCircuit, Materials.Capacitor, ItemList.Circuit_Parts_Capacitor.get(1L)); - - GT_OreDictUnificator.addAssociation( - OrePrefixes.componentCircuit, - Materials.Resistor, - ItemList.Circuit_Parts_ResistorSMD.get(1L), - true); - GT_OreDictUnificator.addAssociation( - OrePrefixes.componentCircuit, - Materials.Diode, - ItemList.Circuit_Parts_DiodeSMD.get(1L), - true); - GT_OreDictUnificator.addAssociation( - OrePrefixes.componentCircuit, - Materials.Transistor, - ItemList.Circuit_Parts_TransistorSMD.get(1L), - true); - GT_OreDictUnificator.addAssociation( - OrePrefixes.componentCircuit, - Materials.Capacitor, - ItemList.Circuit_Parts_CapacitorSMD.get(1L), - true); - GT_OreDictUnificator.addAssociation( - OrePrefixes.componentCircuit, - Materials.Inductor, - ItemList.Circuit_Parts_InductorSMD.get(1L), - true); - - } - - private void initOrePrefixes() { - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_Acceleration_1.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_Acceleration_2.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_Acceleration_3.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_Acceleration_4.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_Acceleration_5.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_Acceleration_6.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_Acceleration_7.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_Acceleration_8.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_Acceleration_8_Upgraded.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_PRODUCTION.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_PLAINS.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_LIGHT.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_FLOWERING.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_WINTER.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_DRYER.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_AUTOMATION.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_HUMIDIFIER.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_HELL.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_POLLEN.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_DESERT.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_COOLER.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_LIFESPAN.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_SEAL.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_STABILIZER.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_JUNGLE.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_TERRITORY.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_OCEAN.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_SKY.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_HEATER.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_SIEVE.get(1L)); - OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_UNLIGHT.get(1L)); - } - - private void registerCovers() { - GregTech_API.registerCover( - ItemList.Cover_Metrics_Transmitter.get(1L), - TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_METRICS_TRANSMITTER)), - new GT_Cover_Metrics_Transmitter(TextureFactory.of(OVERLAY_METRICS_TRANSMITTER))); - GregTech_API.registerCover( - ItemList.Cover_SolarPanel_UHV.get(1L), - TextureFactory.of(SOLARPANEL_UHV), - new GT_Cover_SolarPanel(2097152)); - GregTech_API.registerCover( - ItemList.Cover_SolarPanel_UEV.get(1L), - TextureFactory.of(SOLARPANEL_UEV), - new GT_Cover_SolarPanel(8388608)); - GregTech_API.registerCover( - ItemList.Cover_SolarPanel_UIV.get(1L), - TextureFactory.of(SOLARPANEL_UIV), - new GT_Cover_SolarPanel(33554432)); - } - - @Override - public boolean doesShowInCreative(OrePrefixes aPrefix, Materials aMaterial, boolean aDoShowAllItems) { - return aDoShowAllItems || (aPrefix.toString() - .toLowerCase() - .contains("nanite")) - || (aPrefix.toString() - .toLowerCase() - .contains("rawore")); - } -} diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_98.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_98.java deleted file mode 100644 index 0dab2af2cf..0000000000 --- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_98.java +++ /dev/null @@ -1,352 +0,0 @@ -package gregtech.common.items; - -import java.util.Arrays; -import java.util.EnumMap; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; - -import javax.annotation.Nullable; - -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidContainerRegistry; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.enums.ItemList; -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.items.GT_MetaGenerated_Item; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Util; -import gregtech.api.util.GT_Utility; - -/** This class holds cells for non-GT fluids. */ -public class GT_MetaGenerated_Item_98 extends GT_MetaGenerated_Item { - - public static GT_MetaGenerated_Item_98 INSTANCE; - - /** - * Registered fluids. - * - *

- * When adding a fluid, don't forget to make sure that GregTech loads after the mod that adds that fluid! - * - *

- * In order to avoid breaking existing worlds, fluids must not have their IDs changed! The only safe modification - * that can be made to this enum is adding new fluids, or removing existing fluids. When removing fluids, maybe - * leave a comment mentioning the old ID, so that we don't re-use it for a new fluid. - */ - public enum FluidCell { - // Next unused ID: 32 - - // GregTech - DRILLING_FLUID(5, "liquid_drillingfluid", CellType.REGULAR), - SQUID_INK(6, "squidink", CellType.SMALL), - BLUE_VITRIOL(22, "solution.bluevitriol", CellType.REGULAR), - NICKEL_SULFATE(23, "solution.nickelsulfate", CellType.REGULAR), - GREEN_VITRIOL(24, "solution.greenvitriol", CellType.REGULAR), - INDIUM_CONCENTRATE(25, "indiumconcentrate", CellType.REGULAR), - LEAD_ZINC_SOLUTION(26, "leadzincsolution", CellType.REGULAR), - - // New Horizons Core Mod - UNKNOWN_NUTRIENT_AGAR(7, "unknownnutrientagar", CellType.REGULAR), - SEAWEED_BROTH(8, "seaweedbroth", CellType.REGULAR), - SUPER_HEAVY_RADOX(28, "superheavyradox", CellType.REGULAR), - HEAVY_RADOX(29, "heavyradox", CellType.REGULAR), - CRACKED_RADOX(30, "crackedradox", CellType.REGULAR), - LIGHT_RADOX(31, "lightradox", CellType.REGULAR), - SUPER_LIGHT_RADOX(9, "superlightradox", CellType.REGULAR), - SODIUM_POTASSIUM(18, "sodiumpotassium", CellType.REGULAR), - ENRICHED_BACTERIAL_SLUDGE(19, "enrichedbacterialsludge", CellType.REGULAR), - FERMENTED_BACTERIAL_SLUDGE(20, "fermentedbacterialsludge", CellType.REGULAR), - POLLUTION(21, "pollution", CellType.REGULAR), - XENOXENE(27, "xenoxene", CellType.REGULAR), - - // BartWorks - ENZYME_SOLUTION(10, "enzymessollution", CellType.REGULAR), - ESCHERICHIA_COLI_FLUID(11, "escherichiakolifluid", CellType.REGULAR), - PENICILLIN(12, "penicillin", CellType.REGULAR), - FLUORESCENT_DNA(13, "fluorecentddna", CellType.REGULAR), - POLYMERASE(17, "polymerase", CellType.REGULAR), - - // Good Generator - COMBUSTION_PROMOTER(14, "combustionpromotor", CellType.REGULAR), - - // Galacticraft - BACTERIAL_SLUDGE(1, "bacterialsludge", CellType.REGULAR), - - // Railcraft - STEAM(0, "steam", CellType.REGULAR), - - // Gendustry - BACTERIA(15, "binnie.bacteria", CellType.REGULAR), - MUTAGEN(2, "mutagen", CellType.REGULAR), - LIQUID_DNA(16, "liquiddna", CellType.REGULAR), - - // Tinker's Construct - LIQUID_ENDER(3, "ender", CellType.REGULAR), - - // Hardcore Ender Expansion - ENDER_GOO(4, "endergoo", CellType.REGULAR),; - - private final int mId; - /** This is the Forge internal fluid name. */ - private final String mfluidName; - - private final CellType mType; - - @Nullable - private ItemStack mStack; - - FluidCell(int aId, String aFluidName, CellType aType) { - mId = aId; - mfluidName = aFluidName; - mType = aType; - } - - public int getId() { - return mId; - } - - public String getFluidName() { - return mfluidName; - } - - public CellType getDisplayType() { - return mType; - } - - /** - * Get a copy of this stack with stack size 1. - *

- * Always returns non-null stack even if the fluid referenced doesn't exist, so don't assume it's always valid. - */ - public ItemStack get() { - trySetStack(); - return GT_Utility.copy(mStack); - } - - /** - * Get a copy of this cell WITHOUT copy. - *

- * Always returns non-null stack even if the fluid referenced doesn't exist, so don't assume it's always valid. - *

- * Use with caution. - */ - public ItemStack getNoCopy() { - trySetStack(); - return mStack; - } - - /** - * Get a copy of this cell with specified stack size. - *

- * Always returns non-null stack even if the fluid referenced doesn't exist, so don't assume it's always valid. - */ - public ItemStack get(int aStackSize) { - trySetStack(); - return GT_Utility.copyAmount(aStackSize, mStack); - } - - private void trySetStack() { - if (mStack == null) { - mStack = new ItemStack(GT_MetaGenerated_Item_98.INSTANCE, 1, mId); - } - } - } - - /** Cell type specifies the cell capacity, appearance, and item name format. */ - private enum CellType { - - REGULAR(1_000, OrePrefixes.cell), - SMALL(144, OrePrefixes.cell), - MOLTEN(144, OrePrefixes.cellMolten), - PLASMA(1_000, OrePrefixes.cellPlasma); - - private final int capacity; - private final OrePrefixes prefix; - - CellType(int capacity, OrePrefixes prefix) { - this.capacity = capacity; - this.prefix = prefix; - } - } - - /** Struct class holding data that we need to properly handle a registered fluid cell item. */ - private static class RegisteredFluidData { - - private final short[] rgba; - private final IIconContainer iconContainer; - - private RegisteredFluidData(short[] rgba, IIconContainer iconContainer) { - this.rgba = rgba; - this.iconContainer = iconContainer; - } - } - - /** - * Map of ID to registered fluid data. - * - *

- * Only contains IDs that were successfully registered. - */ - private final Map registeredFluidDataMap; - - private final EnumMap iconContainerMap; - - private GT_MetaGenerated_Item_98() { - // For some reason, fluid cells will be rendered only if the metadata ID is less than the - // offset. So we will specify maximum offset here. - // See: GT_MetaGenerated_Item_Renderer.java - super("metaitem.98", (short) 32766, (short) 0); - - registeredFluidDataMap = new HashMap<>(); - iconContainerMap = new EnumMap<>(CellType.class); - } - - /** - * Loading needs to happen after the fluids we need have been registered, which means during post-load. However, - * cell icons seem to be deleted some time between load and post-load, so we must pre-cache them. - */ - public static synchronized void preInit() { - if (INSTANCE == null) INSTANCE = new GT_MetaGenerated_Item_98(); - - // We'll just steal the icons from Water. They are all the same anyway (except _NULL is broken for cells). - for (CellType cellType : CellType.values()) { - IIconContainer iconContainer = Materials.Water.mIconSet.mTextures[cellType.prefix.mTextureIndex]; - INSTANCE.iconContainerMap.put(cellType, iconContainer); - } - } - - public static synchronized void init() { - INSTANCE.createAllItems(); - INSTANCE.registerOreDict(); - } - - private void createAllItems() { - for (FluidCell tCell : FluidCell.values()) { - tryToInitialize(tCell); - } - - // We're not going to use these BitSets, so clear them to save memory. - mEnabledItems.clear(); - mVisibleItems.clear(); - } - - private void tryToInitialize(FluidCell aCell) { - final boolean isStackAlreadySet = aCell.mStack != null; - - int id = aCell.getId(); - String fluidName = aCell.getFluidName(); - CellType cellType = aCell.getDisplayType(); - - // We'll check for ID uniqueness. Better to throw an exception than silently overwrite some - // fluid cells with other fluids due to ID collision. - if (registeredFluidDataMap.containsKey(id)) { - throw new IllegalStateException("Got ID collision for ID: " + id); - } - - aCell.trySetStack(); - - Fluid fluid = FluidRegistry.getFluid(fluidName); - if (fluid == null) { - // The fluid is not guaranteed to exist. - // These fluids are non-GT fluids, so the mod may not be present. - if (isStackAlreadySet) { - throw new RuntimeException( - "Cell item for fluid " + fluidName - + " has already been created, but the fluid doesn't exist during postload"); - } else { - // fluid doesn't exist and this item has not been referenced - return; - } - } - - FluidStack fluidStack = new FluidStack(fluid, cellType.capacity); - - ItemStack emptyCell = ItemList.Cell_Empty.get(1L); - FluidContainerRegistry - .registerFluidContainer(new FluidContainerRegistry.FluidContainerData(fluidStack, aCell.mStack, emptyCell)); - - GT_LanguageManager.addStringLocalization( - getUnlocalizedName(aCell.mStack) + ".name", - cellType.prefix.mLocalizedMaterialPre + fluid.getLocalizedName(fluidStack) - + cellType.prefix.mLocalizedMaterialPost); - - int color = fluid.getColor(); - short[] rgba = GT_Util.getRGBaArray(color); - - registeredFluidDataMap.put(id, new RegisteredFluidData(rgba, iconContainerMap.get(cellType))); - } - - private void registerOreDict() { - // The GregTech ore dictionary requires an entry in the Materials enum, and since the whole - // point of this class is to add cell items for non-GregTech fluids, the vast majority of - // cell items won't have an associated material. So only a rare few cell items will need to - // be registered. - - // Register IC2 steam cell and Railcraft steam cell as synonyms. - // There is no steam material, so we'll use Water.cellMolten instead. - GT_OreDictUnificator.add(OrePrefixes.cellMolten, Materials.Water, GT_ModHandler.getIC2Item("steamCell", 1L)); - GT_OreDictUnificator.add(OrePrefixes.cellMolten, Materials.Water, FluidCell.STEAM.getNoCopy()); - } - - @Override - public short[] getRGBa(ItemStack aStack) { - RegisteredFluidData fluidData = registeredFluidDataMap.get(aStack.getItemDamage()); - if (fluidData == null) { - return Materials._NULL.mRGBa; - } - - return fluidData.rgba; - } - - @Override - public ItemStack getContainerItem(ItemStack aStack) { - return ItemList.Cell_Empty.get(1L); - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(Item aItem, CreativeTabs aCreativeTab, List aList) { - Arrays.stream(FluidCell.values()) - .filter(fluid -> FluidRegistry.getFluid(fluid.getFluidName()) != null) - .map(FluidCell::get) - .filter(Objects::nonNull) - .forEach(aList::add); - } - - @Override - public final IIcon getIconFromDamage(int aMetaData) { - IIconContainer iconContainer = getIconContainer(aMetaData); - if (iconContainer != null) { - return iconContainer.getIcon(); - } - return null; - } - - @Override - public IIconContainer getIconContainer(int aMetaData) { - RegisteredFluidData fluidData = registeredFluidDataMap.get(aMetaData); - if (fluidData == null) { - return null; - } - return fluidData.iconContainer; - } - - @Override - public int getItemStackLimit(ItemStack aStack) { - return 64; - } -} diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_99.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_99.java deleted file mode 100644 index 08d6f23164..0000000000 --- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_99.java +++ /dev/null @@ -1,214 +0,0 @@ -package gregtech.common.items; - -import static gregtech.api.enums.GT_Values.M; -import static gregtech.api.enums.OrePrefixes.cellMolten; - -import java.util.BitSet; -import java.util.List; - -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; - -import com.google.common.collect.ImmutableList; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.GregTech_API; -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.enums.SubTag; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.items.GT_MetaGenerated_Item; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_OreDictUnificator; - -public class GT_MetaGenerated_Item_99 extends GT_MetaGenerated_Item { - - public static GT_MetaGenerated_Item_99 INSTANCE; - - /** - * Ore prefixes appear in this list in the order in which they will be assigned ID blocks. - * - *

- * In order to avoid breaking existing worlds, the entries in this list must not be re-ordered! The only safe - * modification that can be made to this list is adding new entries to the end. - */ - private static final ImmutableList CRACKED_CELL_TYPES = ImmutableList.of( - OrePrefixes.cellHydroCracked1, - OrePrefixes.cellHydroCracked2, - OrePrefixes.cellHydroCracked3, - OrePrefixes.cellSteamCracked1, - OrePrefixes.cellSteamCracked2, - OrePrefixes.cellSteamCracked3); - - private static final int NUM_CRACKED_CELL_TYPES = CRACKED_CELL_TYPES.size(); - - /** - * Assignment of metadata IDs: 0 - 999: Molten cells 10_000 - 15_999: Cracked fluid cells (# IDs used is - * NUM_CRACKED_CELL_TYPES * 1_000; update this if you add any) - */ - private final BitSet enabled = new BitSet(); - - public GT_MetaGenerated_Item_99() { - super("metaitem.99", (short) (10_000 + NUM_CRACKED_CELL_TYPES * 1_000), (short) 0); - - INSTANCE = this; - - for (Materials tMaterial : GregTech_API.sGeneratedMaterials) { - if (tMaterial == null || tMaterial.mMetaItemSubID < 0 || tMaterial.mMetaItemSubID >= 1_000) { - continue; - } - - if ((tMaterial.contains(SubTag.SMELTING_TO_FLUID)) && (!tMaterial.contains(SubTag.NO_SMELTING)) - && !tMaterial.contains(SubTag.SMELTING_TO_GEM)) { - registerMolten(tMaterial, tMaterial.mMetaItemSubID); - if (tMaterial.mSmeltInto != tMaterial && tMaterial.mSmeltInto.mMetaItemSubID >= 0 - && tMaterial.mSmeltInto.mMetaItemSubID < 1_000) { - registerMolten(tMaterial.mSmeltInto, tMaterial.mSmeltInto.mMetaItemSubID); - } - } - - if (tMaterial.canBeCracked()) { - registerCracked(tMaterial, tMaterial.mMetaItemSubID); - } - } - - // We're not going to use these BitSets, so clear them to save memory. - mEnabledItems.clear(); - mVisibleItems.clear(); - } - - private void registerMolten(Materials tMaterial, int i) { - ItemStack tStack = new ItemStack(this, 1, i); - enabled.set(i); - - GT_LanguageManager.addStringLocalization( - getUnlocalizedName(tStack) + ".name", - cellMolten.getDefaultLocalNameFormatForItem(tMaterial)); - GT_LanguageManager.addStringLocalization( - getUnlocalizedName(tStack) + ".tooltip", - tMaterial.getToolTip(cellMolten.mMaterialAmount / M)); - - if (cellMolten.mIsUnificatable) { - GT_OreDictUnificator.set(cellMolten, tMaterial, tStack); - } else { - GT_OreDictUnificator.registerOre(cellMolten.get(tMaterial), tStack); - } - } - - private void registerCracked(Materials tMaterial, int i) { - int offset = 10_000; - for (OrePrefixes prefix : CRACKED_CELL_TYPES) { - ItemStack tStack = new ItemStack(this, 1, offset + i); - enabled.set(offset + i); - - GT_LanguageManager.addStringLocalization( - getUnlocalizedName(tStack) + ".name", - prefix.getDefaultLocalNameFormatForItem(tMaterial)); - GT_LanguageManager.addStringLocalization( - getUnlocalizedName(tStack) + ".tooltip", - tMaterial.getToolTip(prefix.mMaterialAmount / M)); - - if (prefix.mIsUnificatable) { - GT_OreDictUnificator.set(prefix, tMaterial, tStack); - } else { - GT_OreDictUnificator.registerOre(prefix.get(tMaterial), tStack); - } - - offset += 1_000; - } - } - - /** Returns null for item damage out of bounds. */ - private Materials getMaterial(int damage) { - if (damage < 0) { - return null; - } - return GregTech_API.sGeneratedMaterials[damage % 1_000]; - } - - /** Returns null for item damage out of bounds. */ - private OrePrefixes getOrePrefix(int damage) { - if (damage < 0) { - return null; - } else if (damage < 1_000) { - return cellMolten; - } else if (damage >= 10_000 && damage < 10_000 + (NUM_CRACKED_CELL_TYPES * 1_000)) { - return CRACKED_CELL_TYPES.get((damage / 1_000) - 10); - } - return null; - } - - @Override - public short[] getRGBa(ItemStack aStack) { - OrePrefixes prefix = getOrePrefix(aStack.getItemDamage()); - Materials material = getMaterial(aStack.getItemDamage()); - if (material == null) { - material = Materials._NULL; - } - - if (prefix == cellMolten) { - return material.mMoltenRGBa; - } else { - return material.mRGBa; - } - } - - @Override - public String getItemStackDisplayName(ItemStack aStack) { - String aName = super.getItemStackDisplayName(aStack); - Materials material = getMaterial(aStack.getItemDamage()); - if (material != null) { - return material.getLocalizedNameForItem(aName); - } - return aName; - } - - @Override - public ItemStack getContainerItem(ItemStack aStack) { - OrePrefixes prefix = getOrePrefix(aStack.getItemDamage()); - if (prefix != null) { - return prefix.mContainerItem; - } - return null; - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(Item aItem, CreativeTabs aCreativeTab, List aList) { - enabled.stream() - .mapToObj(i -> new ItemStack(this, 1, i)) - .forEach(aList::add); - } - - @Override - public final IIcon getIconFromDamage(int aMetaData) { - IIconContainer iconContainer = getIconContainer(aMetaData); - if (iconContainer != null) { - return iconContainer.getIcon(); - } - return null; - } - - @Override - public IIconContainer getIconContainer(int aMetaData) { - Materials material = getMaterial(aMetaData); - OrePrefixes prefix = getOrePrefix(aMetaData); - if (material != null && prefix != null) { - return material.mIconSet.mTextures[prefix.mTextureIndex]; - } - return null; - } - - @Override - public int getItemStackLimit(ItemStack aStack) { - OrePrefixes prefix = getOrePrefix(aStack.getItemDamage()); - if (prefix != null) { - return prefix.mDefaultStackSize; - } else { - return 64; - } - } -} diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Tool_01.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Tool_01.java deleted file mode 100644 index f8777dcf58..0000000000 --- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Tool_01.java +++ /dev/null @@ -1,746 +0,0 @@ -package gregtech.common.items; - -import static gregtech.common.items.ID_MetaTool_01.AXE; -import static gregtech.common.items.ID_MetaTool_01.BRANCHCUTTER; -import static gregtech.common.items.ID_MetaTool_01.BUTCHERYKNIFE; -import static gregtech.common.items.ID_MetaTool_01.BUZZSAW_HV; -import static gregtech.common.items.ID_MetaTool_01.BUZZSAW_LV; -import static gregtech.common.items.ID_MetaTool_01.BUZZSAW_MV; -import static gregtech.common.items.ID_MetaTool_01.CHAINSAW_HV; -import static gregtech.common.items.ID_MetaTool_01.CHAINSAW_LV; -import static gregtech.common.items.ID_MetaTool_01.CHAINSAW_MV; -import static gregtech.common.items.ID_MetaTool_01.CROWBAR; -import static gregtech.common.items.ID_MetaTool_01.DRILL_HV; -import static gregtech.common.items.ID_MetaTool_01.DRILL_LV; -import static gregtech.common.items.ID_MetaTool_01.DRILL_MV; -import static gregtech.common.items.ID_MetaTool_01.FILE; -import static gregtech.common.items.ID_MetaTool_01.HARDHAMMER; -import static gregtech.common.items.ID_MetaTool_01.HOE; -import static gregtech.common.items.ID_MetaTool_01.JACKHAMMER; -import static gregtech.common.items.ID_MetaTool_01.KNIFE; -import static gregtech.common.items.ID_MetaTool_01.MORTAR; -import static gregtech.common.items.ID_MetaTool_01.PICKAXE; -import static gregtech.common.items.ID_MetaTool_01.PLOW; -import static gregtech.common.items.ID_MetaTool_01.PLUNGER; -import static gregtech.common.items.ID_MetaTool_01.POCKET_BRANCHCUTTER; -import static gregtech.common.items.ID_MetaTool_01.POCKET_FILE; -import static gregtech.common.items.ID_MetaTool_01.POCKET_KNIFE; -import static gregtech.common.items.ID_MetaTool_01.POCKET_MULTITOOL; -import static gregtech.common.items.ID_MetaTool_01.POCKET_SAW; -import static gregtech.common.items.ID_MetaTool_01.POCKET_SCREWDRIVER; -import static gregtech.common.items.ID_MetaTool_01.POCKET_WIRECUTTER; -import static gregtech.common.items.ID_MetaTool_01.ROLLING_PIN; -import static gregtech.common.items.ID_MetaTool_01.SAW; -import static gregtech.common.items.ID_MetaTool_01.SCOOP; -import static gregtech.common.items.ID_MetaTool_01.SCREWDRIVER; -import static gregtech.common.items.ID_MetaTool_01.SCREWDRIVER_HV; -import static gregtech.common.items.ID_MetaTool_01.SCREWDRIVER_LV; -import static gregtech.common.items.ID_MetaTool_01.SCREWDRIVER_MV; -import static gregtech.common.items.ID_MetaTool_01.SENSE; -import static gregtech.common.items.ID_MetaTool_01.SHOVEL; -import static gregtech.common.items.ID_MetaTool_01.SOFTMALLET; -import static gregtech.common.items.ID_MetaTool_01.SOLDERING_IRON_HV; -import static gregtech.common.items.ID_MetaTool_01.SOLDERING_IRON_LV; -import static gregtech.common.items.ID_MetaTool_01.SOLDERING_IRON_MV; -import static gregtech.common.items.ID_MetaTool_01.SWORD; -import static gregtech.common.items.ID_MetaTool_01.TURBINE; -import static gregtech.common.items.ID_MetaTool_01.TURBINE_HUGE; -import static gregtech.common.items.ID_MetaTool_01.TURBINE_LARGE; -import static gregtech.common.items.ID_MetaTool_01.TURBINE_SMALL; -import static gregtech.common.items.ID_MetaTool_01.UNIVERSALSPADE; -import static gregtech.common.items.ID_MetaTool_01.WIRECUTTER; -import static gregtech.common.items.ID_MetaTool_01.WRENCH; -import static gregtech.common.items.ID_MetaTool_01.WRENCH_HV; -import static gregtech.common.items.ID_MetaTool_01.WRENCH_LV; -import static gregtech.common.items.ID_MetaTool_01.WRENCH_MV; - -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; - -import gregtech.api.GregTech_API; -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.enums.TC_Aspects; -import gregtech.api.enums.ToolDictNames; -import gregtech.api.items.GT_MetaGenerated_Tool; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.common.tools.GT_Tool_Axe; -import gregtech.common.tools.GT_Tool_BranchCutter; -import gregtech.common.tools.GT_Tool_ButcheryKnife; -import gregtech.common.tools.GT_Tool_BuzzSaw; -import gregtech.common.tools.GT_Tool_Chainsaw_HV; -import gregtech.common.tools.GT_Tool_Chainsaw_LV; -import gregtech.common.tools.GT_Tool_Chainsaw_MV; -import gregtech.common.tools.GT_Tool_Crowbar; -import gregtech.common.tools.GT_Tool_Drill_HV; -import gregtech.common.tools.GT_Tool_Drill_LV; -import gregtech.common.tools.GT_Tool_Drill_MV; -import gregtech.common.tools.GT_Tool_File; -import gregtech.common.tools.GT_Tool_HardHammer; -import gregtech.common.tools.GT_Tool_Hoe; -import gregtech.common.tools.GT_Tool_JackHammer; -import gregtech.common.tools.GT_Tool_Knife; -import gregtech.common.tools.GT_Tool_Mortar; -import gregtech.common.tools.GT_Tool_Pickaxe; -import gregtech.common.tools.GT_Tool_Plow; -import gregtech.common.tools.GT_Tool_Plunger; -import gregtech.common.tools.GT_Tool_RollingPin; -import gregtech.common.tools.GT_Tool_Saw; -import gregtech.common.tools.GT_Tool_Scoop; -import gregtech.common.tools.GT_Tool_Screwdriver; -import gregtech.common.tools.GT_Tool_Screwdriver_LV; -import gregtech.common.tools.GT_Tool_Sense; -import gregtech.common.tools.GT_Tool_Shovel; -import gregtech.common.tools.GT_Tool_SoftHammer; -import gregtech.common.tools.GT_Tool_Soldering_Iron; -import gregtech.common.tools.GT_Tool_Sword; -import gregtech.common.tools.GT_Tool_Turbine_Huge; -import gregtech.common.tools.GT_Tool_Turbine_Large; -import gregtech.common.tools.GT_Tool_Turbine_Normal; -import gregtech.common.tools.GT_Tool_Turbine_Small; -import gregtech.common.tools.GT_Tool_UniversalSpade; -import gregtech.common.tools.GT_Tool_WireCutter; -import gregtech.common.tools.GT_Tool_Wrench; -import gregtech.common.tools.GT_Tool_Wrench_HV; -import gregtech.common.tools.GT_Tool_Wrench_LV; -import gregtech.common.tools.GT_Tool_Wrench_MV; -import gregtech.common.tools.pocket.GT_Tool_Pocket_BranchCutter; -import gregtech.common.tools.pocket.GT_Tool_Pocket_File; -import gregtech.common.tools.pocket.GT_Tool_Pocket_Knife; -import gregtech.common.tools.pocket.GT_Tool_Pocket_Multitool; -import gregtech.common.tools.pocket.GT_Tool_Pocket_Saw; -import gregtech.common.tools.pocket.GT_Tool_Pocket_Screwdriver; -import gregtech.common.tools.pocket.GT_Tool_Pocket_WireCutter; - -public class GT_MetaGenerated_Tool_01 extends GT_MetaGenerated_Tool { - - public static GT_MetaGenerated_Tool_01 INSTANCE; - - public GT_MetaGenerated_Tool_01() { - super("metatool.01"); - INSTANCE = this; - addTool( - SWORD.ID, - "Sword", - "", - new GT_Tool_Sword(), - ToolDictNames.craftingToolSword, - ToolDictNames.craftingToolBlade, - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TELUM, 4L)); - addTool( - PICKAXE.ID, - "Pickaxe", - "", - new GT_Tool_Pickaxe(), - ToolDictNames.craftingToolPickaxe, - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 4L)); - addTool( - SHOVEL.ID, - "Shovel", - "", - new GT_Tool_Shovel(), - ToolDictNames.craftingToolShovel, - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 4L)); - addTool( - AXE.ID, - "Axe", - "", - new GT_Tool_Axe(), - ToolDictNames.craftingToolAxe, - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 2L)); - addTool( - HOE.ID, - "Hoe", - "", - new GT_Tool_Hoe(), - ToolDictNames.craftingToolHoe, - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MESSIS, 4L)); - addTool( - SAW.ID, - "Saw", - "Can also harvest Ice", - new GT_Tool_Saw(), - ToolDictNames.craftingToolSaw, - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 2L)); - GregTech_API.registerTool( - addTool( - HARDHAMMER.ID, - "Hammer", - "Crushes Ores instead of harvesting them", - new GT_Tool_HardHammer(), - ToolDictNames.craftingToolHardHammer, - 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)), - GregTech_API.sHardHammerList); - GregTech_API.registerTool( - addTool( - SOFTMALLET.ID, - "Soft Mallet", - "", - new GT_Tool_SoftHammer(), - ToolDictNames.craftingToolSoftHammer, - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.LIMUS, 4L)), - GregTech_API.sSoftHammerList); - GregTech_API.registerTool( - addTool( - WRENCH.ID, - "Wrench", - "Hold Leftclick to dismantle Machines", - new GT_Tool_Wrench(), - ToolDictNames.craftingToolWrench, - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L)), - GregTech_API.sWrenchList); - addTool( - FILE.ID, - "File", - "", - new GT_Tool_File(), - ToolDictNames.craftingToolFile, - 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)); - GregTech_API.registerTool( - addTool( - CROWBAR.ID, - "Crowbar", - "Dismounts Covers and Rotates Rails", - new GT_Tool_Crowbar(), - ToolDictNames.craftingToolCrowbar, - 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.TELUM, 2L)), - GregTech_API.sCrowbarList); - GregTech_API.registerTool( - addTool( - SCREWDRIVER.ID, - "Screwdriver", - "Adjusts Covers and Machines", - new GT_Tool_Screwdriver(), - ToolDictNames.craftingToolScrewdriver, - 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)), - GregTech_API.sScrewdriverList); - addTool( - MORTAR.ID, - "Mortar", - "", - new GT_Tool_Mortar(), - ToolDictNames.craftingToolMortar, - 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.PERDITIO, 2L)); - GregTech_API.registerTool( - addTool( - WIRECUTTER.ID, - "Wire Cutter", - "", - new GT_Tool_WireCutter(), - ToolDictNames.craftingToolWireCutter, - 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)), - GregTech_API.sWireCutterList); - addTool( - SCOOP.ID, - "Scoop", - "", - new GT_Tool_Scoop(), - ToolDictNames.craftingToolScoop, - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.BESTIA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.PANNUS, 2L)); - addTool( - BRANCHCUTTER.ID, - "Branch Cutter", - "", - new GT_Tool_BranchCutter(), - ToolDictNames.craftingToolBranchCutter, - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 2L)); - GregTech_API.registerTool( - addTool( - UNIVERSALSPADE.ID, - "Universal Spade", - "", - new GT_Tool_UniversalSpade(), - ToolDictNames.craftingToolBlade, - ToolDictNames.craftingToolShovel, - ToolDictNames.craftingToolCrowbar, - ToolDictNames.craftingToolSaw, - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TELUM, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METO, 1L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 1L)), - GregTech_API.sCrowbarList); - addTool( - KNIFE.ID, - "Knife", - "", - new GT_Tool_Knife(), - ToolDictNames.craftingToolBlade, - ToolDictNames.craftingToolKnife, - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.TELUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.CORPUS, 2L)); - addTool( - BUTCHERYKNIFE.ID, - "Butchery Knife", - "Has a slow Attack Rate", - new GT_Tool_ButcheryKnife(), - ToolDictNames.craftingToolBlade, - 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.CORPUS, 4L)); - - addTool( - SENSE.ID, - "Sense", - "Because a Scythe doesn't make Sense", - new GT_Tool_Sense(), - ToolDictNames.craftingToolBlade, - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.HERBA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.MORTUUS, 2L)); - addTool( - PLOW.ID, - "Plow", - "Used to get rid of Snow", - new GT_Tool_Plow(), - ToolDictNames.craftingToolPlow, - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.GELUM, 2L)); - addTool( - PLUNGER.ID, - "Plunger", - "", - new GT_Tool_Plunger(), - ToolDictNames.craftingToolPlunger, - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ITER, 2L)); - addTool( - ROLLING_PIN.ID, - "Rolling Pin", - "", - new GT_Tool_RollingPin(), - ToolDictNames.craftingToolRollingPin, - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.LIMUS, 4L)); - - addTool( - DRILL_LV.ID, - "Drill (LV)", - "", - new GT_Tool_Drill_LV(), - ToolDictNames.craftingToolMiningDrill, - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 4L)); - addTool( - DRILL_MV.ID, - "Drill (MV)", - "", - new GT_Tool_Drill_MV(), - ToolDictNames.craftingToolMiningDrill, - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 4L)); - addTool( - DRILL_HV.ID, - "Drill (HV)", - "", - new GT_Tool_Drill_HV(), - ToolDictNames.craftingToolMiningDrill, - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 4L)); - addTool( - CHAINSAW_LV.ID, - "Chainsaw (LV)", - "Can also harvest Ice", - new GT_Tool_Chainsaw_LV(), - ToolDictNames.craftingToolSaw, - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 2L)); - addTool( - CHAINSAW_MV.ID, - "Chainsaw (MV)", - "Can also harvest Ice", - new GT_Tool_Chainsaw_MV(), - ToolDictNames.craftingToolSaw, - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 2L)); - addTool( - CHAINSAW_HV.ID, - "Chainsaw (HV)", - "Can also harvest Ice", - new GT_Tool_Chainsaw_HV(), - ToolDictNames.craftingToolSaw, - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.METO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 2L)); - GregTech_API.registerTool( - addTool( - WRENCH_LV.ID, - "Wrench (LV)", - "Hold Left Button to dismantle Machines", - new GT_Tool_Wrench_LV(), - ToolDictNames.craftingToolWrench, - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L)), - GregTech_API.sWrenchList); - GregTech_API.registerTool( - addTool( - WRENCH_MV.ID, - "Wrench (MV)", - "Hold Left Button to dismantle Machines", - new GT_Tool_Wrench_MV(), - ToolDictNames.craftingToolWrench, - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L)), - GregTech_API.sWrenchList); - GregTech_API.registerTool( - addTool( - WRENCH_HV.ID, - "Wrench (HV)", - "Hold Left Button to dismantle Machines", - new GT_Tool_Wrench_HV(), - ToolDictNames.craftingToolWrench, - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 4L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L)), - GregTech_API.sWrenchList); - GregTech_API.registerTool( - addTool( - JACKHAMMER.ID, - "JackHammer (HV)", - "Breaks Rocks into pieces", - new GT_Tool_JackHammer(), - ToolDictNames.craftingToolJackHammer, - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.PERFODIO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.PERDITIO, 2L)), - GregTech_API.sJackhammerList); - addTool( - BUZZSAW_LV.ID, - "Buzzsaw (LV)", - "Not suitable for harvesting Blocks", - new GT_Tool_BuzzSaw(), - ToolDictNames.craftingToolSaw, - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 2L)); - addTool( - BUZZSAW_MV.ID, - "Buzzsaw (MV)", - "Not suitable for harvesting Blocks", - new GT_Tool_BuzzSaw(), - ToolDictNames.craftingToolSaw, - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 2L)); - addTool( - BUZZSAW_HV.ID, - "Buzzsaw (HV)", - "Not suitable for harvesting Blocks", - new GT_Tool_BuzzSaw(), - ToolDictNames.craftingToolSaw, - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ARBOR, 2L)); - GregTech_API.registerTool( - addTool( - SCREWDRIVER_LV.ID, - "Screwdriver (LV)", - "Adjusts Covers and Machines", - new GT_Tool_Screwdriver_LV(), - ToolDictNames.craftingToolScrewdriver, - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L)), - GregTech_API.sScrewdriverList); - GregTech_API.registerTool( - addTool( - SCREWDRIVER_MV.ID, - "Screwdriver (MV)", - "Adjusts Covers and Machines", - new GT_Tool_Screwdriver_LV(), - ToolDictNames.craftingToolScrewdriver, - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L)), - GregTech_API.sScrewdriverList); - GregTech_API.registerTool( - addTool( - SCREWDRIVER_HV.ID, - "Screwdriver (HV)", - "Adjusts Covers and Machines", - new GT_Tool_Screwdriver_LV(), - ToolDictNames.craftingToolScrewdriver, - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L)), - GregTech_API.sScrewdriverList); - GregTech_API.registerTool( - addTool( - SOLDERING_IRON_LV.ID, - "Soldering Iron (LV)", - "Fixes burned out Circuits. Needs soldering materials in inventory.", - new GT_Tool_Soldering_Iron(), - ToolDictNames.craftingToolSolderingIron, - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L)), - GregTech_API.sSolderingToolList); - GregTech_API.registerTool( - addTool( - SOLDERING_IRON_MV.ID, - "Soldering Iron (MV)", - "Fixes burned out Circuits. Needs soldering materials in inventory.", - new GT_Tool_Soldering_Iron(), - ToolDictNames.craftingToolSolderingIron, - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L)), - GregTech_API.sSolderingToolList); - GregTech_API.registerTool( - addTool( - SOLDERING_IRON_HV.ID, - "Soldering Iron (HV)", - "Fixes burned out Circuits. Needs soldering materials in inventory.", - new GT_Tool_Soldering_Iron(), - ToolDictNames.craftingToolSolderingIron, - new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 2L), - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 2L)), - GregTech_API.sSolderingToolList); - - addTool( - TURBINE_SMALL.ID, - "Small Turbine", - "Turbine Rotors for your power station", - new GT_Tool_Turbine_Small()); - addTool(TURBINE.ID, "Turbine", "Turbine Rotors for your power station", new GT_Tool_Turbine_Normal()); - addTool( - TURBINE_LARGE.ID, - "Large Turbine", - "Turbine Rotors for your power station", - new GT_Tool_Turbine_Large()); - addTool(TURBINE_HUGE.ID, "Huge Turbine", "Turbine Rotors for your power station", new GT_Tool_Turbine_Huge()); - - addTool( - POCKET_MULTITOOL.ID, - "Pocket Multitool", - "6 useful Tools in one!", - new GT_Tool_Pocket_Multitool(POCKET_KNIFE.ID), - null, - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 6), - new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 3), - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 3)); - addTool( - POCKET_KNIFE.ID, - "Pocket Multitool (Knife)", - "", - new GT_Tool_Pocket_Knife(POCKET_SAW.ID), - ToolDictNames.craftingToolKnife, - ToolDictNames.craftingToolBlade, - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 6), - new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 3), - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 3)); - addTool( - POCKET_SAW.ID, - "Pocket Multitool (Saw)", - "Can also harvest Ice", - new GT_Tool_Pocket_Saw(POCKET_FILE.ID), - ToolDictNames.craftingToolSaw, - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 6), - new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 3), - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 3)); - addTool( - POCKET_FILE.ID, - "Pocket Multitool (File)", - "", - new GT_Tool_Pocket_File(POCKET_SCREWDRIVER.ID), - ToolDictNames.craftingToolFile, - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 6), - new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 3), - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 3)); - GregTech_API.registerTool( - addTool( - POCKET_SCREWDRIVER.ID, - "Pocket Multitool (Screwdriver)", - "Adjusts Covers and Machines", - new GT_Tool_Pocket_Screwdriver(POCKET_WIRECUTTER.ID), - ToolDictNames.craftingToolScrewdriver, - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 6), - new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 3), - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 3)), - GregTech_API.sScrewdriverList); - GregTech_API.registerTool( - addTool( - POCKET_WIRECUTTER.ID, - "Pocket Multitool (Wire Cutter)", - "", - new GT_Tool_Pocket_WireCutter(POCKET_BRANCHCUTTER.ID), - ToolDictNames.craftingToolWireCutter, - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 6), - new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 3), - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 3)), - GregTech_API.sWireCutterList); - addTool( - POCKET_BRANCHCUTTER.ID, - "Pocket Multitool (Branch Cutter)", - "", - new GT_Tool_Pocket_BranchCutter(POCKET_MULTITOOL.ID), - ToolDictNames.craftingToolBranchCutter, - new TC_Aspects.TC_AspectStack(TC_Aspects.INSTRUMENTUM, 6), - new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 3), - new TC_Aspects.TC_AspectStack(TC_Aspects.ORDO, 3)); - initCraftingShapedRecipes(); - initCraftingShapelessRecipes(); - } - - private void initCraftingShapelessRecipes() { - GT_ModHandler.addShapelessCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coal, 1L), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ToolDictNames.craftingToolMortar, new ItemStack(Items.coal, 1) }); - GT_ModHandler.addShapelessCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Clay, 1L), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ToolDictNames.craftingToolMortar, new ItemStack(Blocks.clay, 1) }); - GT_ModHandler.addShapelessCraftingRecipe( - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wheat, 1L), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ToolDictNames.craftingToolMortar, new ItemStack(Items.wheat, 1) }); - GT_ModHandler.addShapelessCraftingRecipe( - new ItemStack(Items.flint, 1), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ToolDictNames.craftingToolMortar, new ItemStack(Blocks.gravel, 1) }); - GT_ModHandler.addShapelessCraftingRecipe( - new ItemStack(Items.blaze_powder, 2), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { ToolDictNames.craftingToolMortar, new ItemStack(Items.blaze_rod, 1) }); - } - - private void initCraftingShapedRecipes() { - GT_ModHandler.addCraftingRecipe( - INSTANCE.getToolWithStats(MORTAR.ID, 1, Materials.Flint, Materials.Stone, null), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { " I ", "SIS", "SSS", 'I', new ItemStack(Items.flint, 1), 'S', OrePrefixes.stone }); - GT_ModHandler.addCraftingRecipe( - INSTANCE.getToolWithStats(MORTAR.ID, 1, Materials.Bronze, Materials.Stone, null), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { " I ", "SIS", "SSS", 'I', OrePrefixes.ingot.get(Materials.Bronze), 'S', OrePrefixes.stone }); - GT_ModHandler.addCraftingRecipe( - INSTANCE.getToolWithStats(MORTAR.ID, 1, Materials.Iron, Materials.Stone, null), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { " I ", "SIS", "SSS", 'I', OrePrefixes.ingot.get(Materials.Iron), 'S', OrePrefixes.stone }); - GT_ModHandler.addCraftingRecipe( - INSTANCE.getToolWithStats(MORTAR.ID, 1, Materials.Steel, Materials.Stone, null), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { " I ", "SIS", "SSS", 'I', OrePrefixes.ingot.get(Materials.Steel), 'S', OrePrefixes.stone }); - GT_ModHandler.addCraftingRecipe( - INSTANCE.getToolWithStats(MORTAR.ID, 1, Materials.WroughtIron, Materials.Stone, null), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { " I ", "SIS", "SSS", 'I', OrePrefixes.ingot.get(Materials.WroughtIron), 'S', - OrePrefixes.stone }); - GT_ModHandler.addCraftingRecipe( - INSTANCE.getToolWithStats(MORTAR.ID, 1, Materials.RedSteel, Materials.Stone, null), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { " I ", "SIS", "SSS", 'I', OrePrefixes.ingot.get(Materials.RedSteel), 'S', - OrePrefixes.stone }); - GT_ModHandler.addCraftingRecipe( - INSTANCE.getToolWithStats(MORTAR.ID, 1, Materials.BlueSteel, Materials.Stone, null), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { " I ", "SIS", "SSS", 'I', OrePrefixes.ingot.get(Materials.BlueSteel), 'S', - OrePrefixes.stone }); - GT_ModHandler.addCraftingRecipe( - INSTANCE.getToolWithStats(MORTAR.ID, 1, Materials.BlackSteel, Materials.Stone, null), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { " I ", "SIS", "SSS", 'I', OrePrefixes.ingot.get(Materials.BlackSteel), 'S', - OrePrefixes.stone }); - GT_ModHandler.addCraftingRecipe( - INSTANCE.getToolWithStats(MORTAR.ID, 1, Materials.DamascusSteel, Materials.Stone, null), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { " I ", "SIS", "SSS", 'I', OrePrefixes.ingot.get(Materials.DamascusSteel), 'S', - OrePrefixes.stone }); - GT_ModHandler.addCraftingRecipe( - INSTANCE.getToolWithStats(MORTAR.ID, 1, Materials.Thaumium, Materials.Stone, null), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { " I ", "SIS", "SSS", 'I', OrePrefixes.ingot.get(Materials.Thaumium), 'S', - OrePrefixes.stone }); - - GT_ModHandler.addCraftingRecipe( - INSTANCE.getToolWithStats(ROLLING_PIN.ID, 1, Materials.Wood, Materials.Wood, null), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { " S", " I ", "S f", 'I', OrePrefixes.plank.get(Materials.Wood), 'S', - OrePrefixes.stick.get(Materials.Wood) }); - GT_ModHandler.addCraftingRecipe( - INSTANCE.getToolWithStats(ROLLING_PIN.ID, 1, Materials.Plastic, Materials.Plastic, null), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { " S", " I ", "S f", 'I', OrePrefixes.ingot.get(Materials.Plastic), 'S', - OrePrefixes.stick.get(Materials.Plastic) }); - GT_ModHandler.addCraftingRecipe( - INSTANCE.getToolWithStats(ROLLING_PIN.ID, 1, Materials.Aluminium, Materials.Aluminium, null), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { " S", " I ", "S f", 'I', OrePrefixes.ingot.get(Materials.Aluminium), 'S', - OrePrefixes.stick.get(Materials.Aluminium) }); - GT_ModHandler.addCraftingRecipe( - INSTANCE.getToolWithStats(ROLLING_PIN.ID, 1, Materials.StainlessSteel, Materials.StainlessSteel, null), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { " S", " I ", "S f", 'I', OrePrefixes.ingot.get(Materials.StainlessSteel), 'S', - OrePrefixes.stick.get(Materials.StainlessSteel) }); - GT_ModHandler.addCraftingRecipe( - INSTANCE.getToolWithStats(ROLLING_PIN.ID, 1, Materials.IronWood, Materials.IronWood, null), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { " S", " I ", "S f", 'I', OrePrefixes.ingot.get(Materials.IronWood), 'S', - OrePrefixes.stick.get(Materials.IronWood) }); - - GT_ModHandler.addCraftingRecipe( - INSTANCE.getToolWithStats(SWORD.ID, 1, Materials.Flint, Materials.Wood, null), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { "F", "F", "S", 'S', OrePrefixes.stick.get(Materials.Wood), 'F', - new ItemStack(Items.flint, 1) }); - GT_ModHandler.addCraftingRecipe( - INSTANCE.getToolWithStats(PICKAXE.ID, 1, Materials.Flint, Materials.Wood, null), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { "FFF", " S ", " S ", 'S', OrePrefixes.stick.get(Materials.Wood), 'F', - new ItemStack(Items.flint, 1) }); - GT_ModHandler.addCraftingRecipe( - INSTANCE.getToolWithStats(SHOVEL.ID, 1, Materials.Flint, Materials.Wood, null), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { "F", "S", "S", 'S', OrePrefixes.stick.get(Materials.Wood), 'F', - new ItemStack(Items.flint, 1) }); - GT_ModHandler.addCraftingRecipe( - INSTANCE.getToolWithStats(AXE.ID, 1, Materials.Flint, Materials.Wood, null), - GT_ModHandler.RecipeBits.MIRRORED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { "FF", "FS", " S", 'S', OrePrefixes.stick.get(Materials.Wood), 'F', - new ItemStack(Items.flint, 1) }); - GT_ModHandler.addCraftingRecipe( - INSTANCE.getToolWithStats(HOE.ID, 1, Materials.Flint, Materials.Wood, null), - GT_ModHandler.RecipeBits.MIRRORED | GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { "FF", " S", " S", 'S', OrePrefixes.stick.get(Materials.Wood), 'F', - new ItemStack(Items.flint, 1) }); - GT_ModHandler.addCraftingRecipe( - INSTANCE.getToolWithStats(KNIFE.ID, 1, Materials.Flint, Materials.Wood, null), - GT_ModHandler.RecipeBits.NOT_REMOVABLE, - new Object[] { "F", "S", 'S', OrePrefixes.stick.get(Materials.Wood), 'F', new ItemStack(Items.flint, 1) }); - } -} diff --git a/src/main/java/gregtech/common/items/GT_NeutronReflector_Item.java b/src/main/java/gregtech/common/items/GT_NeutronReflector_Item.java deleted file mode 100644 index b2fd104917..0000000000 --- a/src/main/java/gregtech/common/items/GT_NeutronReflector_Item.java +++ /dev/null @@ -1,54 +0,0 @@ -package gregtech.common.items; - -import net.minecraft.item.ItemStack; - -import gregtech.api.items.GT_Generic_Item; -import ic2.api.reactor.IReactor; -import ic2.api.reactor.IReactorComponent; - -public class GT_NeutronReflector_Item extends GT_Generic_Item implements IReactorComponent { - - public GT_NeutronReflector_Item(String aUnlocalized, String aEnglish, int aMaxDamage) { - super(aUnlocalized, aEnglish, "Undestructable"); - this.setMaxStackSize(64); - this.setMaxDamage(aMaxDamage); - } - - @Override - public boolean acceptUraniumPulse(IReactor reactor, ItemStack yourStack, ItemStack pulsingStack, int youX, int youY, - int pulseX, int pulseY, boolean heatrun) { - if (!heatrun) { - ((IReactorComponent) pulsingStack.getItem()) - .acceptUraniumPulse(reactor, pulsingStack, yourStack, pulseX, pulseY, youX, youY, heatrun); - } - return true; - } - - @Override - public boolean canStoreHeat(IReactor aReactor, ItemStack aStack, int x, int y) { - return false; - } - - @Override - public int getMaxHeat(IReactor aReactor, ItemStack aStack, int x, int y) { - return 0; - } - - @Override - public int getCurrentHeat(IReactor aReactor, ItemStack aStack, int x, int y) { - return 0; - } - - @Override - public float influenceExplosion(IReactor aReactor, ItemStack aStack) { - return -1.0F; - } - - @Override - public int alterHeat(IReactor aReactor, ItemStack aStack, int x, int y, int aHeat) { - return aHeat; - } - - @Override - public void processChamber(IReactor aReactor, ItemStack aStack, int x, int y, boolean aHeatRun) {} -} diff --git a/src/main/java/gregtech/common/items/GT_SensorCard_Item.java b/src/main/java/gregtech/common/items/GT_SensorCard_Item.java deleted file mode 100644 index 67e5b24a70..0000000000 --- a/src/main/java/gregtech/common/items/GT_SensorCard_Item.java +++ /dev/null @@ -1,111 +0,0 @@ -package gregtech.common.items; - -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; -import java.util.UUID; - -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ChunkCoordinates; -import net.minecraft.world.World; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.interfaces.tileentity.IGregTechDeviceInformation; -import gregtech.api.items.GT_Generic_Item; -import gregtech.api.util.GT_LanguageManager; -import shedar.mods.ic2.nuclearcontrol.api.CardState; -import shedar.mods.ic2.nuclearcontrol.api.ICardWrapper; -import shedar.mods.ic2.nuclearcontrol.api.IPanelDataSource; -import shedar.mods.ic2.nuclearcontrol.api.IRemoteSensor; -import shedar.mods.ic2.nuclearcontrol.api.PanelSetting; -import shedar.mods.ic2.nuclearcontrol.api.PanelString; - -public class GT_SensorCard_Item extends GT_Generic_Item implements IRemoteSensor, IPanelDataSource { - - private static final UUID CARD_TYPE = new UUID(0L, 41L); - - private int strCount; - - public GT_SensorCard_Item(String aUnlocalized, String aEnglish) { - super(aUnlocalized, aEnglish, "Insert into Display Panel"); - setMaxStackSize(1); - } - - @Override - public void addAdditionalToolTips(List aList, ItemStack aStack, EntityPlayer aPlayer) { - super.addAdditionalToolTips(aList, aStack, aPlayer); - if (aStack != null) { - NBTTagCompound tNBT = aStack.getTagCompound(); - if (tNBT == null) { - aList.add(transItem("014", "Missing Coordinates!")); - } else { - aList.add(transItem("015", "Device at:")); - aList.add( - String.format( - "x: %d, y: %d, z: %d", - tNBT.getInteger("x"), - tNBT.getInteger("y"), - tNBT.getInteger("z"))); - } - } - } - - @Override - public CardState update(TileEntity aPanel, ICardWrapper aCard, int aMaxRange) { - return update(aPanel.getWorldObj(), aCard, aMaxRange); - } - - @Override - public CardState update(World world, ICardWrapper aCard, int aMaxRange) { - ChunkCoordinates target = aCard.getTarget(); - - TileEntity tTileEntity = world.getTileEntity(target.posX, target.posY, target.posZ); - if (((tTileEntity instanceof IGregTechDeviceInformation)) - && (((IGregTechDeviceInformation) tTileEntity).isGivingInformation())) { - String[] tInfoData = ((IGregTechDeviceInformation) tTileEntity).getInfoData(); - for (int i = 0; i < tInfoData.length; i++) { - aCard.setString("mString" + i, tInfoData[i]); - } - aCard.setInt("mString", strCount = tInfoData.length); - return CardState.OK; - } - return CardState.NO_TARGET; - } - - @Override - public List getStringData(int aSettings, ICardWrapper aCard, boolean aLabels) { - List rList = new LinkedList<>(); - for (int i = 0; i < (strCount = aCard.getInt("mString")); i++) { - if ((aSettings & 1 << i) != 0) { - PanelString line = new PanelString(); - line.textLeft = GT_LanguageManager.getTranslation(aCard.getString("mString" + i), "\\\\"); - rList.add(line); - } - } - return rList; - } - - @Override - public List getSettingsList() { - List rList = new ArrayList<>(); - for (int i = 0; i < strCount; i++) { - rList.add(new PanelSetting(String.valueOf((i + 1)), 1 << i, getCardType())); - } - return rList; - } - - @Override - public UUID getCardType() { - return CARD_TYPE; - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(Item aItem, CreativeTabs aCreativeTab, List aOutputSubItems) {} -} diff --git a/src/main/java/gregtech/common/items/GT_TierDrone.java b/src/main/java/gregtech/common/items/GT_TierDrone.java deleted file mode 100644 index 58da852d0e..0000000000 --- a/src/main/java/gregtech/common/items/GT_TierDrone.java +++ /dev/null @@ -1,18 +0,0 @@ -package gregtech.common.items; - -import gregtech.api.items.GT_Generic_Item; - -public class GT_TierDrone extends GT_Generic_Item { - - private final int level; - - public GT_TierDrone(String aUnlocalized, String aEnglish, String aEnglishTooltip, int level) { - super(aUnlocalized, aEnglish, aEnglishTooltip); - this.level = level; - this.setMaxStackSize(64); - } - - public int getLevel() { - return level; - } -} diff --git a/src/main/java/gregtech/common/items/GT_VolumetricFlask.java b/src/main/java/gregtech/common/items/GT_VolumetricFlask.java deleted file mode 100644 index 5578214e65..0000000000 --- a/src/main/java/gregtech/common/items/GT_VolumetricFlask.java +++ /dev/null @@ -1,360 +0,0 @@ -package gregtech.common.items; - -import static gregtech.api.enums.Mods.GregTech; -import static gregtech.api.util.GT_Utility.formatNumbers; -import static ic2.core.util.LiquidUtil.drainContainerStack; -import static ic2.core.util.LiquidUtil.fillContainerStack; -import static ic2.core.util.LiquidUtil.placeFluid; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.MovingObjectPosition.MovingObjectType; -import net.minecraft.world.World; -import net.minecraftforge.common.util.FakePlayer; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.Fluid; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.IFluidBlock; -import net.minecraftforge.fluids.IFluidContainerItem; -import net.minecraftforge.fluids.IFluidHandler; - -import com.gtnewhorizons.modularui.api.ModularUITextures; -import com.gtnewhorizons.modularui.api.math.Alignment; -import com.gtnewhorizons.modularui.api.math.Color; -import com.gtnewhorizons.modularui.api.screen.IItemWithModularUI; -import com.gtnewhorizons.modularui.api.screen.ModularWindow; -import com.gtnewhorizons.modularui.api.screen.UIBuildContext; -import com.gtnewhorizons.modularui.common.widget.TextWidget; -import com.gtnewhorizons.modularui.common.widget.VanillaButtonWidget; -import com.gtnewhorizons.modularui.common.widget.textfield.NumericWidget; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.gui.modularui.GT_UIInfos; -import gregtech.api.gui.modularui.GT_UITextures; -import gregtech.api.items.GT_Generic_Item; -import gregtech.api.util.GT_Utility; -import ic2.core.util.LiquidUtil; - -public class GT_VolumetricFlask extends GT_Generic_Item implements IFluidContainerItem, IItemWithModularUI { - - private final int maxCapacity; - private final String unlocalFlaskName; - - @SideOnly(Side.CLIENT) - public IIcon iconWindow; - - public GT_VolumetricFlask(String unlocalized, String english, int maxCapacity) { - super(unlocalized, english, null); - this.maxCapacity = maxCapacity; - unlocalFlaskName = unlocalized; - setMaxStackSize(64); - setNoRepair(); - } - - @Override - public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { - if (!world.isRemote && isEmpty(stack) && getMovingObjectPositionFromPlayer(world, player, true) == null) - GT_UIInfos.openPlayerHeldItemUI(player); - return super.onItemRightClick(stack, world, player); - } - - @Override - public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int ordinalSide, - float xOffset, float yOffset, float zOffset) { - if (player instanceof FakePlayer) { - return false; - } - if (world.isRemote) return false; - if (interactWithTank(stack, player, world, x, y, z, ordinalSide)) { - return true; - } - MovingObjectPosition mop = getMovingObjectPositionFromPlayer(world, player, true); - if (mop == null) { - return false; - } - if (mop.typeOfHit == MovingObjectType.BLOCK) { - x = mop.blockX; - y = mop.blockY; - z = mop.blockZ; - if (!world.canMineBlock(player, x, y, z) || !player.canPlayerEdit(x, y, z, mop.sideHit, stack)) { - return false; - } - if (collectFluidBlock(stack, player, world, x, y, z)) { - return true; - } - ForgeDirection dir = ForgeDirection.VALID_DIRECTIONS[mop.sideHit]; - FluidStack fluidStack = drainContainerStack(stack, player, 1000, true); - if (placeFluid(fluidStack, world, x, y, z) - || (player.canPlayerEdit(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, mop.sideHit, stack) - && placeFluid(fluidStack, world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ))) { - if (!player.capabilities.isCreativeMode) drainContainerStack(stack, player, 1000, false); - return true; - } - } - return false; - } - - public boolean isEmpty(ItemStack stack) { - return getFluid(stack) == null; - } - - public int getFreeSpace(ItemStack stack) { - int capacity = getCapacity(stack); - if (capacity > 0) { - FluidStack fluidStack = getFluid(stack); - return fluidStack == null ? capacity : capacity - fluidStack.amount; - } - return 0; - } - - public int getMaxCapacity() { - return this.maxCapacity; - } - - @Override - public int getCapacity(ItemStack stack) { - int capacity = 1000; - if (stack.hasTagCompound()) { - NBTTagCompound nbt = stack.getTagCompound(); - if (nbt.hasKey("Capacity", 3)) capacity = nbt.getInteger("Capacity"); - } - return Math.min(getMaxCapacity(), capacity); - } - - @Override - @SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister aIconRegister) { - super.registerIcons(aIconRegister); - iconWindow = aIconRegister.registerIcon(GregTech.getResourcePath("gt." + unlocalFlaskName + ".window")); - } - - public void setCapacity(ItemStack stack, int capacity) { - capacity = Math.min(capacity, getMaxCapacity()); - NBTTagCompound nbt = stack.getTagCompound(); - if (nbt == null) { - stack.setTagCompound(nbt = new NBTTagCompound()); - } - nbt.setInteger("Capacity", capacity); - } - - @Override - public FluidStack getFluid(ItemStack stack) { - if (stack.hasTagCompound()) { - NBTTagCompound nbt = stack.getTagCompound(); - if (nbt.hasKey("Fluid", 10)) return FluidStack.loadFluidStackFromNBT(nbt.getCompoundTag("Fluid")); - } - return null; - } - - public void setFluid(ItemStack stack, FluidStack fluidStack) { - boolean removeFluid = (fluidStack == null) || (fluidStack.amount <= 0); - NBTTagCompound nbt = stack.getTagCompound(); - if (nbt == null) { - if (removeFluid) return; - stack.setTagCompound(nbt = new NBTTagCompound()); - } - if (removeFluid) { - nbt.removeTag("Fluid"); - if (nbt.hasNoTags()) { - stack.setTagCompound(null); - } - } else { - nbt.setTag("Fluid", fluidStack.writeToNBT(new NBTTagCompound())); - } - } - - @Override - public int fill(ItemStack stack, FluidStack resource, boolean doFill) { - if (stack.stackSize != 1) return 0; - if ((resource == null) || (resource.amount <= 0)) { - return 0; - } - FluidStack fluidStack = getFluid(stack); - if (fluidStack == null) { - fluidStack = new FluidStack(resource, 0); - } else if (!fluidStack.isFluidEqual(resource)) { - return 0; - } - int amount = Math.min(getCapacity(stack) - fluidStack.amount, resource.amount); - if ((doFill) && (amount > 0)) { - fluidStack.amount += amount; - setFluid(stack, fluidStack); - } - return amount; - } - - @Override - public FluidStack drain(ItemStack stack, int maxDrain, boolean doDrain) { - if (stack.stackSize != 1) return null; - FluidStack fluidStack = getFluid(stack); - if (fluidStack == null) return null; - maxDrain = Math.min(fluidStack.amount, maxDrain); - if (doDrain) { - fluidStack.amount -= maxDrain; - setFluid(stack, fluidStack); - } - return new FluidStack(fluidStack, maxDrain); - } - - @Override - protected void addAdditionalToolTips(List info, ItemStack stack, EntityPlayer aPlayer) { - FluidStack fs = getFluid(stack); - if (fs != null) { - info.add(String.format("< %s, %s mB >", GT_Utility.getFluidName(fs, true), formatNumbers(fs.amount))); - } else { - info.add(String.format("< Empty, %s mB >", formatNumbers(getCapacity(stack)))); - } - info.add("Rightclick on air to set volume (only while empty)"); - } - - @Override - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs creativeTabs, List itemList) { - itemList.add(new ItemStack(this)); - for (Fluid fluid : FluidRegistry.getRegisteredFluids() - .values()) { - if (fluid != null) { - ItemStack stack = new ItemStack(this); - setCapacity(stack, getMaxCapacity()); - fill(stack, new FluidStack(fluid, Integer.MAX_VALUE), true); - itemList.add(stack); - } - } - } - - private boolean interactWithTank(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, - int ordinalSide) { - if (world.isRemote) { - return false; - } - TileEntity te = world.getTileEntity(x, y, z); - if (!(te instanceof IFluidHandler handler)) { - return false; - } - ForgeDirection dir = ForgeDirection.getOrientation(ordinalSide); - FluidStack fs = this.getFluid(stack); - int capacity = getCapacity(stack); - if (fs != null && (!player.isSneaking() || fs.amount >= capacity)) { - int amount = handler.fill(dir, fs, false); - if (amount > 0) { - fs = LiquidUtil.drainContainerStack(stack, player, amount, false); - if (fs != null && fs.amount > 0) { - handler.fill(dir, fs, true); - } - } - } else { - int amount = fs == null ? capacity : capacity - fs.amount; - FluidStack input = handler.drain(dir, amount, false); - if (input != null && input.amount > 0) { - amount = LiquidUtil.fillContainerStack(stack, player, input, false); - if (amount > 0) { - handler.drain(dir, amount, true); - } - } - } - return true; - } - - private boolean collectFluidBlock(ItemStack stack, EntityPlayer player, World world, int x, int y, int z) { - Block block = world.getBlock(x, y, z); - if (block instanceof IFluidBlock liquid) { - if (liquid.canDrain(world, x, y, z)) { - FluidStack fluid = liquid.drain(world, x, y, z, false); - int amount = fillContainerStack(stack, player, fluid, true); - if (amount == fluid.amount) { - fillContainerStack(stack, player, fluid, false); - liquid.drain(world, x, y, z, true); - return true; - } - } - } else if (world.getBlockMetadata(x, y, z) == 0) { - FluidStack fluid = null; - if (block != Blocks.water && block != Blocks.flowing_water) { - if (block == Blocks.lava || block == Blocks.flowing_lava) { - fluid = new FluidStack(FluidRegistry.LAVA, 1000); - } - } else { - fluid = new FluidStack(FluidRegistry.WATER, 1000); - } - - if (fluid != null) { - int amount = fillContainerStack(stack, player, fluid, true); - if (amount == fluid.amount) { - fillContainerStack(stack, player, fluid, false); - world.setBlockToAir(x, y, z); - return true; - } - } - } - return false; - } - - @Override - public ModularWindow createWindow(UIBuildContext buildContext, ItemStack stack) { - if (!(stack.getItem() instanceof GT_VolumetricFlask)) return null; - return new VolumetricFlaskUIFactory(buildContext, stack).createWindow(); - } - - private class VolumetricFlaskUIFactory { - - private final UIBuildContext buildContext; - private int capacity; - private final int maxCapacity; - - public VolumetricFlaskUIFactory(UIBuildContext buildContext, ItemStack flask) { - this.buildContext = buildContext; - GT_VolumetricFlask flaskItem = (GT_VolumetricFlask) flask.getItem(); - this.capacity = flaskItem.getCapacity(flask); - this.maxCapacity = flaskItem.getMaxCapacity(); - } - - public ModularWindow createWindow() { - ModularWindow.Builder builder = ModularWindow.builder(150, 54); - builder.setBackground(ModularUITextures.VANILLA_BACKGROUND); - - NumericWidget capacityWidget = new NumericWidget(); - builder.widget( - capacityWidget.setGetter(() -> capacity) - .setSetter(value -> setCapacity(getCurrentItem(), capacity = (int) value)) - .setBounds(1, maxCapacity) - .setScrollValues(1, 144, 1000) - .setDefaultValue(capacity) - .setTextColor(Color.WHITE.dark(1)) - .setTextAlignment(Alignment.CenterLeft) - .setFocusOnGuiOpen(true) - .setBackground(GT_UITextures.BACKGROUND_TEXT_FIELD.withOffset(-1, -1, 2, 2)) - .setPos(8, 8) - .setSize(77, 12)) - .widget(new TextWidget("Capacity").setPos(88, 10)) - .widget( - new VanillaButtonWidget().setDisplayString("Confirm") - .setOnClick((clickData, widget) -> { - capacityWidget.onRemoveFocus(); - widget.getWindow() - .tryClose(); - }) - .setSynced(false, false) - .setPos(8, 26) - .setSize(48, 20)); - - return builder.build(); - } - - private ItemStack getCurrentItem() { - return buildContext.getPlayer().inventory.getCurrentItem(); - } - } -} diff --git a/src/main/java/gregtech/common/items/GT_WirelessHeadphones.java b/src/main/java/gregtech/common/items/GT_WirelessHeadphones.java deleted file mode 100644 index 98a6eddb2c..0000000000 --- a/src/main/java/gregtech/common/items/GT_WirelessHeadphones.java +++ /dev/null @@ -1,118 +0,0 @@ -package gregtech.common.items; - -import java.util.List; -import java.util.UUID; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ChatComponentTranslation; -import net.minecraft.util.StatCollector; -import net.minecraft.world.World; -import net.minecraftforge.common.util.Constants; - -import baubles.api.BaubleType; -import baubles.api.IBauble; -import gregtech.api.enums.ItemList; -import gregtech.api.items.GT_Generic_Item; -import gregtech.api.metatileentity.BaseMetaTileEntity; -import gregtech.common.tileentities.machines.basic.GT_MetaTileEntity_BetterJukebox; - -public class GT_WirelessHeadphones extends GT_Generic_Item implements IBauble { - - public static final String NBTKEY_JUKEBOX_COORDINATES = "jukeboxCoords"; - - public GT_WirelessHeadphones() { - super("WirelessHeadphones", "Wireless Headphones", null); - setMaxStackSize(1); - - ItemList.WirelessHeadphones.set(this); - } - - @Override - public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) { - if (aStack == null) { - return; - } - final NBTTagCompound tag = aStack.getTagCompound(); - if (tag == null || !tag.hasKey(NBTKEY_JUKEBOX_COORDINATES, Constants.NBT.TAG_STRING)) { - aList.add(StatCollector.translateToLocal("GT5U.machines.betterjukebox.headphonesunbound")); - } else { - aList.add(StatCollector.translateToLocal("GT5U.machines.betterjukebox.headphonesbound")); - aList.add(tag.getString(NBTKEY_JUKEBOX_COORDINATES)); - } - } - - @Override - public boolean doesSneakBypassUse(World aWorld, int aX, int aY, int aZ, EntityPlayer aPlayer) { - return false; - } - - @Override - public boolean onItemUseFirst(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, - float hitX, float hitY, float hitZ) { - final TileEntity pointedTe = world.getTileEntity(x, y, z); - if (!(pointedTe instanceof BaseMetaTileEntity mte)) { - return false; - } - if (!(mte.getMetaTileEntity() instanceof GT_MetaTileEntity_BetterJukebox jukebox)) { - return false; - } - final UUID uuid = jukebox.jukeboxUuid; - if (uuid == GT_MetaTileEntity_BetterJukebox.UNSET_UUID) { - return false; - } - if (!world.isRemote) { - final NBTTagCompound tag = (stack.getTagCompound() == null) ? new NBTTagCompound() : stack.getTagCompound(); - tag.setLong(GT_MetaTileEntity_BetterJukebox.NBTKEY_UUID_LOW, uuid.getLeastSignificantBits()); - tag.setLong(GT_MetaTileEntity_BetterJukebox.NBTKEY_UUID_HIGH, uuid.getMostSignificantBits()); - tag.setString( - NBTKEY_JUKEBOX_COORDINATES, - String.format("(%d, %d, %d) @ %d", x, y, z, world.provider.dimensionId)); - stack.setTagCompound(tag); - - player.addChatMessage(new ChatComponentTranslation("GT5U.machines.betterjukebox.headphonesbound")); - } - return true; - } - - public static UUID getBoundJukeboxUUID(ItemStack stack) { - if (stack == null || stack.getTagCompound() == null) { - return null; - } - final NBTTagCompound tag = stack.getTagCompound(); - if (!tag.hasKey(GT_MetaTileEntity_BetterJukebox.NBTKEY_UUID_LOW, Constants.NBT.TAG_ANY_NUMERIC) - || !tag.hasKey(GT_MetaTileEntity_BetterJukebox.NBTKEY_UUID_HIGH, Constants.NBT.TAG_ANY_NUMERIC)) { - return null; - } - final long idLow = tag.getLong(GT_MetaTileEntity_BetterJukebox.NBTKEY_UUID_LOW); - final long idHigh = tag.getLong(GT_MetaTileEntity_BetterJukebox.NBTKEY_UUID_HIGH); - return new UUID(idHigh, idLow); - } - - @Override - public BaubleType getBaubleType(ItemStack itemStack) { - return BaubleType.UNIVERSAL; - } - - @Override - public void onWornTick(ItemStack itemStack, EntityLivingBase entityLivingBase) {} - - @Override - public void onEquipped(ItemStack itemStack, EntityLivingBase entityLivingBase) {} - - @Override - public void onUnequipped(ItemStack itemStack, EntityLivingBase entityLivingBase) {} - - @Override - public boolean canEquip(ItemStack itemStack, EntityLivingBase entityLivingBase) { - return true; - } - - @Override - public boolean canUnequip(ItemStack itemStack, EntityLivingBase entityLivingBase) { - return true; - } -} diff --git a/src/main/java/gregtech/common/items/IDMetaItem01.java b/src/main/java/gregtech/common/items/IDMetaItem01.java new file mode 100644 index 0000000000..47f34ab4b8 --- /dev/null +++ b/src/main/java/gregtech/common/items/IDMetaItem01.java @@ -0,0 +1,433 @@ +package gregtech.common.items; + +public enum IDMetaItem01 { + // Please pretty please, add your entries while conserving the order + + Credit_Greg_Copper(0), + Credit_Greg_Cupronickel(1), + Credit_Greg_Silver(2), + Credit_Greg_Gold(3), + Credit_Greg_Platinum(4), + Credit_Greg_Osmium(5), + Credit_Greg_Naquadah(6), + Credit_Greg_Neutronium(7), + Coin_Gold_Ancient(8), + Coin_Doge(9), + Coin_Chocolate(10), + Credit_Copper(11), + Credit_Silver(13), + Credit_Gold(14), + Credit_Platinum(15), + Credit_Osmium(16), + Electric_Motor_UIV(17), + Electric_Motor_UMV(18), + Electric_Motor_UXV(19), + Electric_Motor_MAX(20), + Electric_Piston_UIV(21), + Electric_Piston_UMV(22), + Electric_Piston_UXV(23), + Electric_Piston_MAX(24), + Electric_Pump_UIV(25), + Electric_Pump_UMV(26), + Electric_Pump_UXV(27), + Electric_Pump_MAX(28), + Conveyor_Module_UIV(29), + Conveyor_Module_UMV(30), + Conveyor_Module_UXV(31), + Conveyor_Module_MAX(32), + Robot_Arm_UIV(33), + Robot_Arm_UMV(34), + Robot_Arm_UXV(35), + Robot_Arm_MAX(36), + Emitter_UIV(37), + Emitter_UMV(38), + Emitter_UXV(39), + Emitter_MAX(40), + Sensor_UIV(41), + Sensor_UMV(42), + Sensor_UXV(43), + Sensor_MAX(44), + Field_Generator_UIV(45), + Field_Generator_UMV(46), + Field_Generator_UXV(47), + Field_Generator_MAX(48), + Component_Minecraft_Wheels_Iron(100), + Component_Minecraft_Wheels_Steel(101), + Compressed_Fireclay(110), + Firebrick(111), + ZPM5(145), + ZPM6(146), + ItemFilter_Export(270), + ItemFilter_Import(271), + Cover_FluidLimiter(272), + Shape_Empty(300), + Shape_Mold_Plate(301), + Shape_Mold_Casing(302), + Shape_Mold_Gear(303), + Shape_Mold_Credit(304), + Shape_Mold_Bottle(305), + Shape_Mold_Ingot(306), + Shape_Mold_Ball(307), + Shape_Mold_Block(308), + Shape_Mold_Nugget(309), + Shape_Mold_Bun(310), + Shape_Mold_Bread(311), + Shape_Mold_Baguette(312), + Shape_Mold_Cylinder(313), + Shape_Mold_Anvil(314), + Shape_Mold_Name(315), + Shape_Mold_Arrow(316), + Shape_Mold_Gear_Small(317), + Shape_Mold_Rod(318), + Shape_Mold_Bolt(319), + Shape_Mold_Round(320), + Shape_Mold_Screw(321), + Shape_Mold_Ring(322), + Shape_Mold_Rod_Long(323), + Shape_Mold_Rotor(324), + Shape_Mold_Turbine_Blade(325), + Shape_Mold_Pipe_Tiny(326), + Shape_Mold_Pipe_Small(327), + Shape_Mold_Pipe_Medium(328), + Shape_Mold_Pipe_Large(329), + Shape_Mold_Pipe_Huge(330), + Shape_Mold_Tool_Head_Drill(331), + Steam_Regulator_LV(332), + Steam_Regulator_MV(333), + Steam_Regulator_HV(334), + Steam_Regulator_EV(335), + Steam_Regulator_IV(336), + Electromagnet_Iron(345), + Electromagnet_Steel(346), + Electromagnet_Neodymium(347), + Electromagnet_Samarium(348), + Electromagnet_Tengam(349), + Shape_Extruder_Plate(350), + Shape_Extruder_Rod(351), + Shape_Extruder_Bolt(352), + Shape_Extruder_Ring(353), + Shape_Extruder_Cell(354), + Shape_Extruder_Ingot(355), + Shape_Extruder_Wire(356), + Shape_Extruder_Casing(357), + Shape_Extruder_Pipe_Tiny(358), + Shape_Extruder_Pipe_Small(359), + Shape_Extruder_Pipe_Medium(360), + Shape_Extruder_Pipe_Large(361), + Shape_Extruder_Pipe_Huge(362), + Shape_Extruder_Block(363), + Shape_Extruder_Sword(364), + Shape_Extruder_Pickaxe(365), + Shape_Extruder_Shovel(366), + Shape_Extruder_Axe(367), + Shape_Extruder_Hoe(368), + Shape_Extruder_Hammer(369), + Shape_Extruder_File(370), + Shape_Extruder_Saw(371), + Shape_Extruder_Gear(372), + Shape_Extruder_Bottle(373), + Shape_Extruder_Rotor(374), + Shape_Extruder_Small_Gear(375), + Shape_Extruder_Turbine_Blade(376), + Shape_Extruder_Tool_Head_Drill(377), + Cover_Chest_Basic(380), + Cover_Chest_Good(381), + Cover_Chest_Advanced(382), + Shape_Slicer_Flat(398), + Shape_Slicer_Stripes(399), + Fuel_Can_Plastic_Empty(400), + Fuel_Can_Plastic_Filled(401), + Spray_Empty(402), + Crate_Empty(403), + Thermos_Can_Empty(404), + Large_Fluid_Cell_Steel(405), + Large_Fluid_Cell_TungstenSteel(406), + Large_Fluid_Cell_Aluminium(407), + Large_Fluid_Cell_StainlessSteel(408), + Large_Fluid_Cell_Titanium(409), + Large_Fluid_Cell_Chrome(410), + Large_Fluid_Cell_Iridium(411), + Large_Fluid_Cell_Osmium(412), + Large_Fluid_Cell_Neutronium(413), + Tesseract(415), + GigaChad(416), + EnergisedTesseract(417), + Black_Hole_Opener(418), + Black_Hole_Closer(419), + StableAdhesive(427), + SuperconductorComposite(428), + NaquadriaSupersolid(429), + Spray_Color_0(430), + Spray_Color_Used_0(431), + Spray_Color_1(432), + Spray_Color_Used_1(433), + Spray_Color_2(434), + Spray_Color_Used_2(435), + Spray_Color_3(436), + Spray_Color_Used_3(437), + Spray_Color_4(438), + Spray_Color_Used_4(439), + Spray_Color_5(440), + Spray_Color_Used_5(441), + Spray_Color_6(442), + Spray_Color_Used_6(443), + Spray_Color_7(444), + Spray_Color_Used_7(445), + Spray_Color_8(446), + Spray_Color_Used_8(447), + Spray_Color_9(448), + Spray_Color_Used_9(449), + Spray_Color_10(450), + Spray_Color_Used_10(451), + Spray_Color_11(452), + Spray_Color_Used_11(453), + Spray_Color_12(454), + Spray_Color_Used_12(455), + Spray_Color_13(456), + Spray_Color_Used_13(457), + Spray_Color_14(458), + Spray_Color_Used_14(459), + Spray_Color_15(460), + Spray_Color_Used_15(461), + Ingot_Heavy1(462), + Ingot_Heavy2(463), + Ingot_Heavy3(464), + Spray_Color_Remover(465), + Spray_Color_Used_Remover(466), + Spray_Color_Remover_Empty(467), + Tool_Matches(471), + Tool_MatchBox_Used(472), + Tool_MatchBox_Full(473), + Tool_Lighter_Invar_Empty(474), + Tool_Lighter_Invar_Used(475), + Tool_Lighter_Invar_Full(476), + Tool_Lighter_Platinum_Empty(477), + Tool_Lighter_Platinum_Used(478), + Tool_Lighter_Platinum_Full(479), + Ingot_Iridium_Alloy(480), + Paper_Printed_Pages(481), + Paper_Magic_Empty(482), + Paper_Magic_Page(483), + Paper_Magic_Pages(484), + Paper_Punch_Card_Empty(485), + Paper_Punch_Card_Encoded(486), + Book_Written_01(487), + Book_Written_02(488), + Book_Written_03(489), + Schematic(490), + Schematic_Crafting(491), + Schematic_1by1(495), + Schematic_2by2(496), + Schematic_3by3(497), + Schematic_Dust(498), + Battery_RE_ULV_Tantalum(499), + Battery_Hull_LV(500), + Battery_Hull_MV(501), + Battery_Hull_HV(502), + BatteryHull_EV(503), + BatteryHull_IV(504), + BatteryHull_LuV(505), + BatteryHull_ZPM(506), + BatteryHull_UV(507), + Battery_SU_LV_Sulfuric_Acid(510), + Battery_SU_LV_Mercury(511), + Battery_RE_LV_Cadmium(517), + Battery_RE_LV_Lithium(518), + Battery_RE_LV_Sodium(519), + Battery_SU_MV_Sulfuric_Acid(520), + Battery_SU_MV_Mercury(521), + Battery_RE_MV_Cadmium(527), + Battery_RE_MV_Lithium(528), + Battery_RE_MV_Sodium(529), + Battery_SU_HV_Sulfuric_Acid(530), + Battery_SU_HV_Mercury(531), + Battery_RE_HV_Cadmium(537), + Battery_RE_HV_Lithium(538), + Battery_RE_HV_Sodium(539), + BatteryHull_EV_Full(540), + BatteryHull_IV_Full(545), + BatteryHull_LuV_Full(550), + BatteryHull_ZPM_Full(555), + BatteryHull_UV_Full(560), + BatteryHull_UHV(561), + BatteryHull_UEV(562), + BatteryHull_UIV(563), + BatteryHull_UMV(564), + BatteryHull_UxV(565), + BatteryHull_UHV_Full(570), + BatteryHull_UEV_Full(575), + Cover_FLuidStorageMonitor(577), + BatteryHull_UIV_Full(580), + BatteryHull_UMV_Full(585), + BatteryHull_UxV_Full(590), + ZPM4(594), + Electric_Motor_UEV(595), + Electric_Motor_UHV(596), + Energy_Lapotronic_Orb(597), + ZPM(598), + Energy_Lapotronic_orb_2(599), + Electric_Motor_LV(600), + Electric_Motor_MV(601), + Electric_Motor_HV(602), + Electric_Motor_EV(603), + Electric_Motor_IV(604), + ZPM2(605), + Electric_Motor_LuV(606), + Electric_Motor_ZPM(607), + Electric_Motor_UV(608), + ZPM3(609), + Electric_Pump_LV(610), + Electric_Pump_MV(611), + Electric_Pump_HV(612), + Electric_Pump_EV(613), + Electric_Pump_IV(614), + Electric_Pump_LuV(615), + Electric_Pump_ZPM(616), + Electric_Pump_UV(617), + Electric_Pump_UHV(618), + Electric_Pump_UEV(619), + Steam_Valve_LV(620), + Steam_Valve_MV(621), + Steam_Valve_HV(622), + Steam_Valve_EV(623), + Steam_Valve_IV(624), + Conveyor_Module_LV(630), + Conveyor_Module_MV(631), + Conveyor_Module_HV(632), + Conveyor_Module_EV(633), + Conveyor_Module_IV(634), + Conveyor_Module_LuV(635), + Conveyor_Module_ZPM(636), + Conveyor_Module_UV(637), + Conveyor_Module_UHV(638), + Conveyor_Module_UEV(639), + Electric_Piston_LV(640), + Electric_Piston_MV(641), + Electric_Piston_HV(642), + Electric_Piston_EV(643), + Electric_Piston_IV(644), + Electric_Piston_LuV(645), + Electric_Piston_ZPM(646), + Electric_Piston_UV(647), + Electric_Piston_UHV(648), + Electric_Piston_UEV(649), + Robot_Arm_LV(650), + Robot_Arm_MV(651), + Robot_Arm_HV(652), + Robot_Arm_EV(653), + Robot_Arm_IV(654), + Robot_Arm_LuV(655), + Robot_Arm_ZPM(656), + Robot_Arm_UV(657), + Robot_Arm_UHV(658), + Robot_Arm_UEV(659), + FluidRegulator_LV(660), + FluidRegulator_MV(661), + FluidRegulator_HV(662), + FluidRegulator_EV(663), + FluidRegulator_IV(664), + FluidRegulator_LuV(665), + FluidRegulator_ZPM(666), + FluidRegulator_UV(667), + Circuit_Parts_Crystal_Chip_Wetware(668), + FluidFilter(669), + Field_Generator_LV(670), + Field_Generator_MV(671), + Field_Generator_HV(672), + Field_Generator_EV(673), + Field_Generator_IV(674), + Field_Generator_LuV(675), + Field_Generator_ZPM(676), + Field_Generator_UV(677), + Field_Generator_UHV(678), + Field_Generator_UEV(679), + Emitter_LV(680), + Emitter_MV(681), + Emitter_HV(682), + Emitter_EV(683), + Emitter_IV(684), + Emitter_LuV(685), + Emitter_ZPM(686), + Emitter_UV(687), + Emitter_UHV(688), + Emitter_UEV(689), + Sensor_LV(690), + Sensor_MV(691), + Sensor_HV(692), + Sensor_EV(693), + Sensor_IV(694), + Sensor_LuV(695), + Sensor_ZPM(696), + Sensor_UV(697), + Sensor_UHV(698), + Sensor_UEV(699), + Circuit_Primitive(700), + Circuit_Basic(701), + Circuit_Good(702), + Circuit_Advanced(703), + Circuit_Data(704), + Circuit_Elite(705), + Circuit_Master(706), + Tool_DataOrb(707), + Tool_DataStick(708), + Tool_Cover_Copy_Paste(709), + Circuit_Board_Basic(710), + Circuit_Board_Advanced(711), + Circuit_Board_Elite(712), + Circuit_Parts_Crystal_Chip_Elite(713), + Circuit_Parts_Crystal_Chip_Master(714), + Circuit_Parts_Advanced(715), + Circuit_Parts_Wiring_Basic(716), + Circuit_Parts_Wiring_Advanced(717), + Circuit_Parts_Wiring_Elite(718), + Empty_Board_Basic(719), + Empty_Board_Elite(720), + Component_Sawblade_Diamond(721), + Component_Grinder_Diamond(722), + Component_Grinder_Tungsten(723), + QuantumEye(724), + QuantumStar(725), + Gravistar(726), + Upgrade_Muffler(727), + Upgrade_Lock(728), + Component_Filter(729), + Cover_Controller(730), + Cover_ActivityDetector(731), + Cover_FluidDetector(732), + Cover_ItemDetector(733), + Cover_EnergyDetector(734), + Cover_PlayerDetector(735), + Energy_Module(736), + Energy_Cluster(737), + Cover_Screen(740), + Cover_RedstoneTransmitterExternal(741), + Cover_RedstoneTransmitterInternal(742), + Cover_Crafting(744), + Cover_Drain(745), + Cover_RedstoneReceiverExternal(746), + Cover_RedstoneReceiverInternal(747), + Cover_NeedsMaintenance(748), + Cover_Shutter(749), + Cover_SolarPanel(750), + Cover_SolarPanel_8V(751), + Cover_SolarPanel_LV(752), + Cover_SolarPanel_MV(753), + Cover_SolarPanel_HV(754), + Cover_SolarPanel_EV(755), + Cover_SolarPanel_IV(756), + Cover_SolarPanel_LuV(757), + Cover_SolarPanel_ZPM(758), + Cover_SolarPanel_UV(759), + Tool_Sonictron(760), + Tool_Cheat(761), + Tool_Scanner(762), + NC_SensorKit(763), + Duct_Tape(764), + McGuffium_239(765); + + public final int ID; + + IDMetaItem01(int ID) { + this.ID = ID; + } +} diff --git a/src/main/java/gregtech/common/items/IDMetaItem02.java b/src/main/java/gregtech/common/items/IDMetaItem02.java new file mode 100644 index 0000000000..a67e22545c --- /dev/null +++ b/src/main/java/gregtech/common/items/IDMetaItem02.java @@ -0,0 +1,208 @@ +package gregtech.common.items; + +public enum IDMetaItem02 { + + // Please pretty please, add your entries while conserving the order + ThermosCan_Dark_Coffee(0), + ThermosCan_Dark_Cafe_au_lait(1), + ThermosCan_Coffee(2), + ThermosCan_Cafe_au_lait(3), + ThermosCan_Lait_au_cafe(4), + ThermosCan_Dark_Chocolate_Milk(5), + ThermosCan_Chocolate_Milk(6), + ThermosCan_Tea(7), + ThermosCan_Sweet_Tea(8), + ThermosCan_Ice_Tea(9), + GelledToluene(10), + Bottle_Purple_Drink(100), + Bottle_Grape_Juice(101), + Bottle_Wine(102), + Bottle_Vinegar(103), + Bottle_Potato_Juice(104), + Bottle_Vodka(105), + Bottle_Leninade(106), + Bottle_Mineral_Water(107), + Bottle_Salty_Water(108), + Bottle_Reed_Water(109), + Bottle_Rum(110), + Bottle_Pirate_Brew(111), + Bottle_Hops_Juice(112), + Bottle_Dark_Beer(113), + Bottle_Dragon_Blood(114), + Bottle_Wheaty_Juice(115), + Bottle_Scotch(116), + Bottle_Glen_McKenner(117), + Bottle_Wheaty_Hops_Juice(118), + Bottle_Beer(119), + Bottle_Chilly_Sauce(120), + Bottle_Hot_Sauce(121), + Bottle_Diabolo_Sauce(122), + Bottle_Diablo_Sauce(123), + Bottle_Snitches_Glitch_Sauce(124), + Bottle_Apple_Juice(125), + Bottle_Cider(126), + Bottle_Golden_Apple_Juice(127), + Bottle_Golden_Cider(128), + Bottle_Iduns_Apple_Juice(129), + Bottle_Notches_Brew(130), + Bottle_Lemon_Juice(131), + Bottle_Limoncello(132), + Bottle_Lemonade(133), + Bottle_Alcopops(134), + Bottle_Cave_Johnsons_Grenade_Juice(135), + Bottle_Milk(136), + Bottle_Holy_Water(137), + Food_Potato_On_Stick(200), + Food_Potato_On_Stick_Roasted(201), + Food_Raw_Fries(202), + Food_Fries(203), + Food_Packaged_Fries(204), + Food_Raw_PotatoChips(205), + Food_PotatoChips(206), + Food_ChiliChips(207), + Food_Packaged_PotatoChips(208), + Food_Packaged_ChiliChips(209), + Food_Chum(210), + Food_Chum_On_Stick(211), + Food_Dough_Sugar(212), + Food_Dough_Chocolate(213), + Food_Raw_Cookie(214), + Food_Sliced_Buns(220), + Food_Burger_Veggie(221), + Food_Burger_Cheese(222), + Food_Burger_Meat(223), + Food_Burger_Chum(224), + Food_Sliced_Breads(230), + Food_Sandwich_Veggie(231), + Food_Sandwich_Cheese(232), + Food_Sandwich_Bacon(233), + Food_Sandwich_Steak(234), + Food_Sliced_Baguettes(240), + Food_Large_Sandwich_Veggie(241), + Food_Large_Sandwich_Cheese(242), + Food_Large_Sandwich_Bacon(243), + Food_Large_Sandwich_Steak(244), + Food_Raw_Pizza_Veggie(250), + Food_Raw_Pizza_Cheese(251), + Food_Raw_Pizza_Meat(252), + Food_Baked_Pizza_Veggie(260), + Food_Baked_Pizza_Cheese(261), + Food_Baked_Pizza_Meat(262), + SFMixture(270), + MSFMixture(271), + Dye_Indigo(410), + Dye_Color_00(414), + Dye_Color_01(415), + Dye_Color_02(416), + Dye_Color_03(417), + Dye_Color_04(418), + Dye_Color_05(419), + Dye_Color_06(420), + Dye_Color_07(421), + Dye_Color_08(422), + Dye_Color_09(423), + Dye_Color_10(424), + Dye_Color_11(425), + Dye_Color_12(426), + Dye_Color_13(427), + Dye_Color_14(428), + Dye_Color_15(429), + Plank_Oak(470), + Plank_Spruce(471), + Plank_Birch(472), + Plank_Jungle(473), + Plank_Acacia(474), + Plank_DarkOak(475), + Plank_Larch(476), + Plank_Teak(477), + Plank_Acacia_Green(478), + Plank_Lime(479), + Plank_Chestnut(480), + Plank_Wenge(481), + Plank_Baobab(482), + Plank_Sequoia(483), + Plank_Kapok(484), + Plank_Ebony(485), + Plank_Mahagony(486), + Plank_Balsa(487), + Plank_Willow(488), + Plank_Walnut(489), + Plank_Greenheart(490), + Plank_Cherry(491), + Plank_Mahoe(492), + Plank_Poplar(493), + Plank_Palm(494), + Plank_Papaya(495), + Plank_Pine(496), + Plank_Plum(497), + Plank_Maple(498), + Plank_Citrus(499), + Crop_Drop_Plumbilia(500), + Crop_Drop_Argentia(501), + Crop_Drop_Indigo(502), + Crop_Drop_Ferru(503), + Crop_Drop_Aurelia(504), + Crop_Drop_TeaLeaf(505), + Crop_Drop_OilBerry(510), + Crop_Drop_BobsYerUncleRanks(511), + Crop_Drop_UUMBerry(512), + Crop_Drop_UUABerry(513), + Crop_Drop_MilkWart(520), + Crop_Drop_Bauxite(521), + Crop_Drop_Ilmenite(522), + Crop_Drop_Pitchblende(523), + Crop_Drop_Uraninite(524), + Crop_Drop_Thorium(526), + Crop_Drop_Nickel(527), + Crop_Drop_Zinc(528), + Crop_Drop_Manganese(529), + Crop_Drop_Coppon(530), + Crop_Drop_Scheelite(531), + Crop_Drop_Platinum(532), + Crop_Drop_Iridium(533), + Crop_Drop_Osmium(534), + Crop_Drop_Naquadah(535), + Crop_Drop_Mica(538), + Crop_Drop_Tine(540), + Crop_Drop_Chilly(550), + Crop_Drop_Lemon(551), + Crop_Drop_Tomato(552), + Crop_Drop_MTomato(553), + Crop_Drop_Grapes(554), + Crop_Drop_Onion(555), + Crop_Drop_Cucumber(556), + Crop_Drop_Rape(557), + Food_Cheese(558), + Food_Dough(559), + Food_Flat_Dough(560), + Food_Raw_Bread(561), + Food_Raw_Bun(562), + Food_Raw_Baguette(563), + Food_Baked_Bun(564), + Food_Baked_Baguette(565), + Food_Sliced_Bread(566), + Food_Sliced_Bun(567), + Food_Sliced_Baguette(568), + Food_Raw_Cake(569), + Food_Baked_Cake(570), + Food_Sliced_Lemon(571), + Food_Sliced_Tomato(572), + Food_Sliced_Onion(573), + Food_Sliced_Cucumber(574), + Food_Sliced_Cheese(576), + Cover_AdvancedRedstoneTransmitterExternal(577), + Cover_AdvancedRedstoneTransmitterInternal(578), + Cover_AdvancedRedstoneReceiverExternal(579), + Cover_AdvancedRedstoneReceiverInternal(580), + Cover_WirelessFluidDetector(581), + Cover_WirelessItemDetector(582), + Cover_WirelessNeedsMaintainance(583), + Cover_WirelessActivityDetector(584), + Display_ITS_FREE(765); + + public final int ID; + + IDMetaItem02(int ID) { + this.ID = ID; + } +} diff --git a/src/main/java/gregtech/common/items/IDMetaItem03.java b/src/main/java/gregtech/common/items/IDMetaItem03.java new file mode 100644 index 0000000000..b0e4f35943 --- /dev/null +++ b/src/main/java/gregtech/common/items/IDMetaItem03.java @@ -0,0 +1,242 @@ +package gregtech.common.items; + +public enum IDMetaItem03 { + + // Please pretty please, add your entries while conserving the order + Circuit_Board_Wetware(6), + Circuit_Board_Plastic(7), + Circuit_Board_Bio(8), + Circuit_Parts_ResistorSMD(11), + Circuit_Parts_Glass_Tube(12), + Circuit_Parts_Coil(14), + Circuit_Parts_DiodeSMD(16), + Circuit_Parts_TransistorSMD(18), + Circuit_Parts_CapacitorSMD(20), + Circuit_Parts_GlassFiber(21), + Circuit_Parts_PetriDish(22), + Circuit_Parts_Reinforced_Glass_Tube(23), + Circuit_Parts_ResistorASMD(24), + Circuit_Parts_DiodeASMD(25), + Circuit_Parts_TransistorASMD(26), + Circuit_Parts_CapacitorASMD(27), + Circuit_Silicon_Ingot(30), + Circuit_Silicon_Ingot2(31), + Circuit_Silicon_Ingot3(32), + Circuit_Silicon_Wafer(33), + Circuit_Silicon_Wafer2(34), + Circuit_Silicon_Wafer3(35), + Circuit_Wafer_ILC(36), + Circuit_Chip_ILC(37), + Circuit_Wafer_Ram(38), + Circuit_Chip_Ram(39), + Circuit_Wafer_NAND(40), + Circuit_Chip_NAND(41), + Circuit_Wafer_NOR(42), + Circuit_Chip_NOR(43), + Circuit_Wafer_CPU(44), + Circuit_Chip_CPU(45), + Circuit_Wafer_SoC(46), + Circuit_Chip_SoC(47), + Circuit_Wafer_SoC2(48), + Circuit_Chip_SoC2(49), + Circuit_Wafer_PIC(50), + Circuit_Chip_PIC(51), + Circuit_Wafer_HPIC(52), + Circuit_Chip_HPIC(53), + Circuit_Wafer_NanoCPU(54), + Circuit_Chip_NanoCPU(55), + Circuit_Wafer_QuantumCPU(56), + Circuit_Chip_QuantumCPU(57), + Circuit_Wafer_UHPIC(58), + Circuit_Chip_UHPIC(59), + Circuit_Wafer_Simple_SoC(60), + Circuit_Chip_Simple_SoC(61), + Circuit_Wafer_ULPIC(62), + Circuit_Chip_ULPIC(63), + Circuit_Wafer_LPIC(64), + Circuit_Chip_LPIC(65), + Circuit_Chip_CrystalSoC2(68), + Circuit_Parts_RawCrystalChip(69), + Circuit_Chip_CrystalCPU(70), + Circuit_Chip_CrystalSoC(71), + Circuit_Chip_NeuroCPU(72), + Circuit_Chip_Stemcell(73), + Circuit_Parts_RawCrystalParts(74), + NandChip(75), + Circuit_Chip_Biocell(76), + Circuit_Chip_BioCPU(77), + Circuit_Microprocessor(78), + Circuit_Integrated_Good(79), + Circuit_Processor(80), + Circuit_Nanoprocessor(82), + Circuit_Nanocomputer(83), + Circuit_Elitenanocomputer(84), + Circuit_Quantumprocessor(85), + Circuit_Quantumcomputer(86), + Circuit_Masterquantumcomputer(87), + Circuit_Quantummainframe(88), + Circuit_Crystalprocessor(89), + Circuit_Ultimatecrystalcomputer(90), + Circuit_Crystalmainframe(91), + Circuit_Neuroprocessor(92), + Circuit_Wetwarecomputer(93), + Circuit_Wetwaresupercomputer(94), + Circuit_Wetwaremainframe(95), + Circuit_Crystalcomputer(96), + Circuit_Bioprocessor(97), + Circuit_Biowarecomputer(98), + Circuit_Biowaresupercomputer(99), + Circuit_Board_Coated_Basic(100), + Circuit_Board_Phenolic_Good(101), + Circuit_Board_Epoxy_Advanced(102), + Circuit_Board_Fiberglass_Advanced(103), + Circuit_Board_Multifiberglass_Elite(104), + Circuit_Board_Wetware_Extreme(105), + Circuit_Board_Plastic_Advanced(106), + Circuit_Board_Bio_Ultra(107), + Tube_Wires(110), + Circuit_Biomainframe(120), + Cover_SolarPanel_UHV(130), + Cover_SolarPanel_UEV(131), + Cover_SolarPanel_UIV(132), + ULV_Coil(140), + LV_Coil(141), + MV_Coil(142), + HV_Coil(143), + EV_Coil(144), + IV_Coil(145), + LuV_Coil(146), + ZPM_Coil(147), + UV_Coil(148), + UHV_Coil(149), + Circuit_Silicon_Ingot4(150), + Circuit_Silicon_Wafer4(151), + Circuit_Silicon_Ingot5(152), + Circuit_Silicon_Wafer5(153), + Circuit_OpticalProcessor(154), + Circuit_OpticalAssembly(155), + Circuit_OpticalComputer(156), + Circuit_OpticalMainframe(157), + Circuit_Wafer_NPIC(160), + Circuit_Chip_NPIC(161), + Circuit_Wafer_PPIC(162), + Circuit_Chip_PPIC(163), + Circuit_Wafer_QPIC(164), + Circuit_Chip_QPIC(165), + Circuit_ExoticProcessor(166), + Circuit_ExoticAssembly(167), + Circuit_ExoticComputer(168), + Circuit_ExoticMainframe(169), + Circuit_CosmicProcessor(170), + Circuit_CosmicAssembly(171), + Circuit_CosmicComputer(172), + Circuit_CosmicMainframe(173), + Circuit_TranscendentProcessor(174), + Circuit_TranscendentAssembly(175), + Circuit_TranscendentComputer(176), + Circuit_TranscendentMainframe(177), + Circuit_Parts_ResistorXSMD(178), + Circuit_Parts_DiodeXSMD(179), + Circuit_Parts_TransistorXSMD(180), + Circuit_Parts_CapacitorXSMD(181), + Circuit_Parts_InductorSMD(182), + Circuit_Parts_InductorASMD(183), + Circuit_Parts_InductorXSMD(184), + Circuit_Wafer_Bioware(188), + Circuit_Parts_Chip_Bioware(189), + GalliumArsenideCrystal(190), + GalliumArsenideCrystalSmallPart(191), + KevlarFiber(192), + WovenKevlar(193), + Spinneret(194), + IndustrialApiary_Upgrade_Frame(199), + IndustrialApiary_Upgrade_Acceleration_1(200), + IndustrialApiary_Upgrade_Acceleration_2(201), + IndustrialApiary_Upgrade_Acceleration_3(202), + IndustrialApiary_Upgrade_Acceleration_4(203), + IndustrialApiary_Upgrade_Acceleration_5(204), + IndustrialApiary_Upgrade_Acceleration_6(205), + IndustrialApiary_Upgrade_Acceleration_7(206), + IndustrialApiary_Upgrade_Acceleration_8(207), + IndustrialApiary_Upgrade_Acceleration_8_Upgraded(208), + IndustrialApiary_Upgrade_PRODUCTION(209), + IndustrialApiary_Upgrade_PLAINS(210), + IndustrialApiary_Upgrade_LIGHT(211), + IndustrialApiary_Upgrade_FLOWERING(212), + IndustrialApiary_Upgrade_WINTER(213), + IndustrialApiary_Upgrade_DRYER(214), + IndustrialApiary_Upgrade_AUTOMATION(215), + IndustrialApiary_Upgrade_HUMIDIFIER(216), + IndustrialApiary_Upgrade_HELL(217), + IndustrialApiary_Upgrade_POLLEN(218), + IndustrialApiary_Upgrade_DESERT(219), + IndustrialApiary_Upgrade_COOLER(220), + IndustrialApiary_Upgrade_LIFESPAN(221), + IndustrialApiary_Upgrade_SEAL(222), + IndustrialApiary_Upgrade_STABILIZER(223), + IndustrialApiary_Upgrade_JUNGLE(224), + IndustrialApiary_Upgrade_TERRITORY(225), + IndustrialApiary_Upgrade_OCEAN(226), + IndustrialApiary_Upgrade_SKY(227), + IndustrialApiary_Upgrade_HEATER(228), + IndustrialApiary_Upgrade_SIEVE(229), + NuclearStar(230), + IndustrialApiary_Upgrade_UNLIGHT(231), + Cover_Metrics_Transmitter(232), + Activated_Carbon_Filter_Mesh(233), + Quark_Catalyst_Housing(234), + Quark_Creation_Catalyst_Up(235), + Quark_Creation_Catalyst_Down(236), + Quark_Creation_Catalyst_Strange(237), + Quark_Creation_Catalyst_Charm(238), + Quark_Creation_Catalyst_Bottom(239), + Quark_Creation_Catalyst_Top(240), + Quark_Creation_Catalyst_Unaligned(241), + Circuit_Silicon_Ingot6(721), + Circuit_Silicon_Wafer6(722), + Circuit_Silicon_Wafer7(723), + Circuit_Chip_Optical(724), + Optically_Compatible_Memory(725), + Optically_Perfected_CPU(726), + Optical_Cpu_Containment_Housing(727), + Circuit_Board_Optical(728), + White_Dwarf_Shape_Extruder_Plate(729), + White_Dwarf_Shape_Extruder_Rod(730), + White_Dwarf_Shape_Extruder_Bolt(731), + White_Dwarf_Shape_Extruder_Ring(732), + White_Dwarf_Shape_Extruder_Cell(733), + White_Dwarf_Shape_Extruder_Ingot(734), + White_Dwarf_Shape_Extruder_Wire(735), + White_Dwarf_Shape_Extruder_Casing(736), + White_Dwarf_Shape_Extruder_Pipe_Tiny(737), + White_Dwarf_Shape_Extruder_Pipe_Small(738), + White_Dwarf_Shape_Extruder_Pipe_Medium(739), + White_Dwarf_Shape_Extruder_Pipe_Large(740), + White_Dwarf_Shape_Extruder_Pipe_Huge(741), + White_Dwarf_Shape_Extruder_Block(742), + White_Dwarf_Shape_Extruder_Sword(743), + White_Dwarf_Shape_Extruder_Pickaxe(744), + White_Dwarf_Shape_Extruder_Shovel(745), + White_Dwarf_Shape_Extruder_Axe(746), + White_Dwarf_Shape_Extruder_Hoe(747), + White_Dwarf_Shape_Extruder_Hammer(748), + White_Dwarf_Shape_Extruder_File(749), + White_Dwarf_Shape_Extruder_Saw(750), + White_Dwarf_Shape_Extruder_Gear(751), + White_Dwarf_Shape_Extruder_Bottle(752), + White_Dwarf_Shape_Extruder_Rotor(753), + White_Dwarf_Shape_Extruder_Small_Gear(754), + White_Dwarf_Shape_Extruder_Turbine_Blade(755), + White_Dwarf_Shape_Extruder_ToolHeadDrill(756), + Timepiece(757), + Transdimensional_Alignment_Matrix(758), + Thermal_Superconductor(759), + Relativistic_Heat_Capacitor(760), + Phononic_Seed_Crystal(761); + + public final int ID; + + IDMetaItem03(int ID) { + this.ID = ID; + } +} diff --git a/src/main/java/gregtech/common/items/IDMetaTool01.java b/src/main/java/gregtech/common/items/IDMetaTool01.java new file mode 100644 index 0000000000..684636100b --- /dev/null +++ b/src/main/java/gregtech/common/items/IDMetaTool01.java @@ -0,0 +1,73 @@ +package gregtech.common.items; + +public enum IDMetaTool01 { + + // Please pretty please, add your entries while conserving the order + SWORD(0), + PICKAXE(2), + SHOVEL(4), + AXE(6), + HOE(8), + SAW(10), + HARDHAMMER(12), + SOFTMALLET(14), + @Deprecated + SOFTHAMMER(14), + WRENCH(16), + FILE(18), + CROWBAR(20), + SCREWDRIVER(22), + MORTAR(24), + WIRECUTTER(26), + SCOOP(28), + BRANCHCUTTER(30), + UNIVERSALSPADE(32), + KNIFE(34), + BUTCHERYKNIFE(36), + @Deprecated + SICKLE(38), + SENSE(40), + PLOW(42), + PLUNGER(44), + ROLLING_PIN(46), + DRILL_LV(100), + DRILL_MV(102), + DRILL_HV(104), + CHAINSAW_LV(110), + CHAINSAW_MV(112), + CHAINSAW_HV(114), + WRENCH_LV(120), + WRENCH_MV(122), + WRENCH_HV(124), + JACKHAMMER(130), + BUZZSAW_LV(140), + @Deprecated + BUZZSAW(140), + BUZZSAW_MV(142), + BUZZSAW_HV(144), + SCREWDRIVER_LV(150), + SCREWDRIVER_MV(152), + SCREWDRIVER_HV(154), + SOLDERING_IRON_LV(160), + SOLDERING_IRON_MV(162), + SOLDERING_IRON_HV(164), + TURBINE_SMALL(170), + TURBINE(172), + TURBINE_LARGE(174), + TURBINE_HUGE(176), + @Deprecated + TURBINE_BLADE(178), + POCKET_MULTITOOL(180), + POCKET_BRANCHCUTTER(182), + POCKET_FILE(184), + POCKET_KNIFE(186), + POCKET_SAW(188), + POCKET_SCREWDRIVER(190), + POCKET_WIRECUTTER(192); + + public final int ID; + + IDMetaTool01(int ID) { + this.ID = ID; + } +} diff --git a/src/main/java/gregtech/common/items/ID_MetaItem_01.java b/src/main/java/gregtech/common/items/ID_MetaItem_01.java deleted file mode 100644 index 5748442f86..0000000000 --- a/src/main/java/gregtech/common/items/ID_MetaItem_01.java +++ /dev/null @@ -1,433 +0,0 @@ -package gregtech.common.items; - -public enum ID_MetaItem_01 { - // Please pretty please, add your entries while conserving the order - - Credit_Greg_Copper(0), - Credit_Greg_Cupronickel(1), - Credit_Greg_Silver(2), - Credit_Greg_Gold(3), - Credit_Greg_Platinum(4), - Credit_Greg_Osmium(5), - Credit_Greg_Naquadah(6), - Credit_Greg_Neutronium(7), - Coin_Gold_Ancient(8), - Coin_Doge(9), - Coin_Chocolate(10), - Credit_Copper(11), - Credit_Silver(13), - Credit_Gold(14), - Credit_Platinum(15), - Credit_Osmium(16), - Electric_Motor_UIV(17), - Electric_Motor_UMV(18), - Electric_Motor_UXV(19), - Electric_Motor_MAX(20), - Electric_Piston_UIV(21), - Electric_Piston_UMV(22), - Electric_Piston_UXV(23), - Electric_Piston_MAX(24), - Electric_Pump_UIV(25), - Electric_Pump_UMV(26), - Electric_Pump_UXV(27), - Electric_Pump_MAX(28), - Conveyor_Module_UIV(29), - Conveyor_Module_UMV(30), - Conveyor_Module_UXV(31), - Conveyor_Module_MAX(32), - Robot_Arm_UIV(33), - Robot_Arm_UMV(34), - Robot_Arm_UXV(35), - Robot_Arm_MAX(36), - Emitter_UIV(37), - Emitter_UMV(38), - Emitter_UXV(39), - Emitter_MAX(40), - Sensor_UIV(41), - Sensor_UMV(42), - Sensor_UXV(43), - Sensor_MAX(44), - Field_Generator_UIV(45), - Field_Generator_UMV(46), - Field_Generator_UXV(47), - Field_Generator_MAX(48), - Component_Minecraft_Wheels_Iron(100), - Component_Minecraft_Wheels_Steel(101), - Compressed_Fireclay(110), - Firebrick(111), - ZPM5(145), - ZPM6(146), - ItemFilter_Export(270), - ItemFilter_Import(271), - Cover_FluidLimiter(272), - Shape_Empty(300), - Shape_Mold_Plate(301), - Shape_Mold_Casing(302), - Shape_Mold_Gear(303), - Shape_Mold_Credit(304), - Shape_Mold_Bottle(305), - Shape_Mold_Ingot(306), - Shape_Mold_Ball(307), - Shape_Mold_Block(308), - Shape_Mold_Nugget(309), - Shape_Mold_Bun(310), - Shape_Mold_Bread(311), - Shape_Mold_Baguette(312), - Shape_Mold_Cylinder(313), - Shape_Mold_Anvil(314), - Shape_Mold_Name(315), - Shape_Mold_Arrow(316), - Shape_Mold_Gear_Small(317), - Shape_Mold_Rod(318), - Shape_Mold_Bolt(319), - Shape_Mold_Round(320), - Shape_Mold_Screw(321), - Shape_Mold_Ring(322), - Shape_Mold_Rod_Long(323), - Shape_Mold_Rotor(324), - Shape_Mold_Turbine_Blade(325), - Shape_Mold_Pipe_Tiny(326), - Shape_Mold_Pipe_Small(327), - Shape_Mold_Pipe_Medium(328), - Shape_Mold_Pipe_Large(329), - Shape_Mold_Pipe_Huge(330), - Shape_Mold_Tool_Head_Drill(331), - Steam_Regulator_LV(332), - Steam_Regulator_MV(333), - Steam_Regulator_HV(334), - Steam_Regulator_EV(335), - Steam_Regulator_IV(336), - Electromagnet_Iron(345), - Electromagnet_Steel(346), - Electromagnet_Neodymium(347), - Electromagnet_Samarium(348), - Electromagnet_Tengam(349), - Shape_Extruder_Plate(350), - Shape_Extruder_Rod(351), - Shape_Extruder_Bolt(352), - Shape_Extruder_Ring(353), - Shape_Extruder_Cell(354), - Shape_Extruder_Ingot(355), - Shape_Extruder_Wire(356), - Shape_Extruder_Casing(357), - Shape_Extruder_Pipe_Tiny(358), - Shape_Extruder_Pipe_Small(359), - Shape_Extruder_Pipe_Medium(360), - Shape_Extruder_Pipe_Large(361), - Shape_Extruder_Pipe_Huge(362), - Shape_Extruder_Block(363), - Shape_Extruder_Sword(364), - Shape_Extruder_Pickaxe(365), - Shape_Extruder_Shovel(366), - Shape_Extruder_Axe(367), - Shape_Extruder_Hoe(368), - Shape_Extruder_Hammer(369), - Shape_Extruder_File(370), - Shape_Extruder_Saw(371), - Shape_Extruder_Gear(372), - Shape_Extruder_Bottle(373), - Shape_Extruder_Rotor(374), - Shape_Extruder_Small_Gear(375), - Shape_Extruder_Turbine_Blade(376), - Shape_Extruder_Tool_Head_Drill(377), - Cover_Chest_Basic(380), - Cover_Chest_Good(381), - Cover_Chest_Advanced(382), - Shape_Slicer_Flat(398), - Shape_Slicer_Stripes(399), - Fuel_Can_Plastic_Empty(400), - Fuel_Can_Plastic_Filled(401), - Spray_Empty(402), - Crate_Empty(403), - Thermos_Can_Empty(404), - Large_Fluid_Cell_Steel(405), - Large_Fluid_Cell_TungstenSteel(406), - Large_Fluid_Cell_Aluminium(407), - Large_Fluid_Cell_StainlessSteel(408), - Large_Fluid_Cell_Titanium(409), - Large_Fluid_Cell_Chrome(410), - Large_Fluid_Cell_Iridium(411), - Large_Fluid_Cell_Osmium(412), - Large_Fluid_Cell_Neutronium(413), - Tesseract(415), - GigaChad(416), - EnergisedTesseract(417), - Black_Hole_Opener(418), - Black_Hole_Closer(419), - StableAdhesive(427), - SuperconductorComposite(428), - NaquadriaSupersolid(429), - Spray_Color_0(430), - Spray_Color_Used_0(431), - Spray_Color_1(432), - Spray_Color_Used_1(433), - Spray_Color_2(434), - Spray_Color_Used_2(435), - Spray_Color_3(436), - Spray_Color_Used_3(437), - Spray_Color_4(438), - Spray_Color_Used_4(439), - Spray_Color_5(440), - Spray_Color_Used_5(441), - Spray_Color_6(442), - Spray_Color_Used_6(443), - Spray_Color_7(444), - Spray_Color_Used_7(445), - Spray_Color_8(446), - Spray_Color_Used_8(447), - Spray_Color_9(448), - Spray_Color_Used_9(449), - Spray_Color_10(450), - Spray_Color_Used_10(451), - Spray_Color_11(452), - Spray_Color_Used_11(453), - Spray_Color_12(454), - Spray_Color_Used_12(455), - Spray_Color_13(456), - Spray_Color_Used_13(457), - Spray_Color_14(458), - Spray_Color_Used_14(459), - Spray_Color_15(460), - Spray_Color_Used_15(461), - Ingot_Heavy1(462), - Ingot_Heavy2(463), - Ingot_Heavy3(464), - Spray_Color_Remover(465), - Spray_Color_Used_Remover(466), - Spray_Color_Remover_Empty(467), - Tool_Matches(471), - Tool_MatchBox_Used(472), - Tool_MatchBox_Full(473), - Tool_Lighter_Invar_Empty(474), - Tool_Lighter_Invar_Used(475), - Tool_Lighter_Invar_Full(476), - Tool_Lighter_Platinum_Empty(477), - Tool_Lighter_Platinum_Used(478), - Tool_Lighter_Platinum_Full(479), - Ingot_Iridium_Alloy(480), - Paper_Printed_Pages(481), - Paper_Magic_Empty(482), - Paper_Magic_Page(483), - Paper_Magic_Pages(484), - Paper_Punch_Card_Empty(485), - Paper_Punch_Card_Encoded(486), - Book_Written_01(487), - Book_Written_02(488), - Book_Written_03(489), - Schematic(490), - Schematic_Crafting(491), - Schematic_1by1(495), - Schematic_2by2(496), - Schematic_3by3(497), - Schematic_Dust(498), - Battery_RE_ULV_Tantalum(499), - Battery_Hull_LV(500), - Battery_Hull_MV(501), - Battery_Hull_HV(502), - BatteryHull_EV(503), - BatteryHull_IV(504), - BatteryHull_LuV(505), - BatteryHull_ZPM(506), - BatteryHull_UV(507), - Battery_SU_LV_Sulfuric_Acid(510), - Battery_SU_LV_Mercury(511), - Battery_RE_LV_Cadmium(517), - Battery_RE_LV_Lithium(518), - Battery_RE_LV_Sodium(519), - Battery_SU_MV_Sulfuric_Acid(520), - Battery_SU_MV_Mercury(521), - Battery_RE_MV_Cadmium(527), - Battery_RE_MV_Lithium(528), - Battery_RE_MV_Sodium(529), - Battery_SU_HV_Sulfuric_Acid(530), - Battery_SU_HV_Mercury(531), - Battery_RE_HV_Cadmium(537), - Battery_RE_HV_Lithium(538), - Battery_RE_HV_Sodium(539), - BatteryHull_EV_Full(540), - BatteryHull_IV_Full(545), - BatteryHull_LuV_Full(550), - BatteryHull_ZPM_Full(555), - BatteryHull_UV_Full(560), - BatteryHull_UHV(561), - BatteryHull_UEV(562), - BatteryHull_UIV(563), - BatteryHull_UMV(564), - BatteryHull_UxV(565), - BatteryHull_UHV_Full(570), - BatteryHull_UEV_Full(575), - Cover_FLuidStorageMonitor(577), - BatteryHull_UIV_Full(580), - BatteryHull_UMV_Full(585), - BatteryHull_UxV_Full(590), - ZPM4(594), - Electric_Motor_UEV(595), - Electric_Motor_UHV(596), - Energy_Lapotronic_Orb(597), - ZPM(598), - Energy_Lapotronic_orb_2(599), - Electric_Motor_LV(600), - Electric_Motor_MV(601), - Electric_Motor_HV(602), - Electric_Motor_EV(603), - Electric_Motor_IV(604), - ZPM2(605), - Electric_Motor_LuV(606), - Electric_Motor_ZPM(607), - Electric_Motor_UV(608), - ZPM3(609), - Electric_Pump_LV(610), - Electric_Pump_MV(611), - Electric_Pump_HV(612), - Electric_Pump_EV(613), - Electric_Pump_IV(614), - Electric_Pump_LuV(615), - Electric_Pump_ZPM(616), - Electric_Pump_UV(617), - Electric_Pump_UHV(618), - Electric_Pump_UEV(619), - Steam_Valve_LV(620), - Steam_Valve_MV(621), - Steam_Valve_HV(622), - Steam_Valve_EV(623), - Steam_Valve_IV(624), - Conveyor_Module_LV(630), - Conveyor_Module_MV(631), - Conveyor_Module_HV(632), - Conveyor_Module_EV(633), - Conveyor_Module_IV(634), - Conveyor_Module_LuV(635), - Conveyor_Module_ZPM(636), - Conveyor_Module_UV(637), - Conveyor_Module_UHV(638), - Conveyor_Module_UEV(639), - Electric_Piston_LV(640), - Electric_Piston_MV(641), - Electric_Piston_HV(642), - Electric_Piston_EV(643), - Electric_Piston_IV(644), - Electric_Piston_LuV(645), - Electric_Piston_ZPM(646), - Electric_Piston_UV(647), - Electric_Piston_UHV(648), - Electric_Piston_UEV(649), - Robot_Arm_LV(650), - Robot_Arm_MV(651), - Robot_Arm_HV(652), - Robot_Arm_EV(653), - Robot_Arm_IV(654), - Robot_Arm_LuV(655), - Robot_Arm_ZPM(656), - Robot_Arm_UV(657), - Robot_Arm_UHV(658), - Robot_Arm_UEV(659), - FluidRegulator_LV(660), - FluidRegulator_MV(661), - FluidRegulator_HV(662), - FluidRegulator_EV(663), - FluidRegulator_IV(664), - FluidRegulator_LuV(665), - FluidRegulator_ZPM(666), - FluidRegulator_UV(667), - Circuit_Parts_Crystal_Chip_Wetware(668), - FluidFilter(669), - Field_Generator_LV(670), - Field_Generator_MV(671), - Field_Generator_HV(672), - Field_Generator_EV(673), - Field_Generator_IV(674), - Field_Generator_LuV(675), - Field_Generator_ZPM(676), - Field_Generator_UV(677), - Field_Generator_UHV(678), - Field_Generator_UEV(679), - Emitter_LV(680), - Emitter_MV(681), - Emitter_HV(682), - Emitter_EV(683), - Emitter_IV(684), - Emitter_LuV(685), - Emitter_ZPM(686), - Emitter_UV(687), - Emitter_UHV(688), - Emitter_UEV(689), - Sensor_LV(690), - Sensor_MV(691), - Sensor_HV(692), - Sensor_EV(693), - Sensor_IV(694), - Sensor_LuV(695), - Sensor_ZPM(696), - Sensor_UV(697), - Sensor_UHV(698), - Sensor_UEV(699), - Circuit_Primitive(700), - Circuit_Basic(701), - Circuit_Good(702), - Circuit_Advanced(703), - Circuit_Data(704), - Circuit_Elite(705), - Circuit_Master(706), - Tool_DataOrb(707), - Tool_DataStick(708), - Tool_Cover_Copy_Paste(709), - Circuit_Board_Basic(710), - Circuit_Board_Advanced(711), - Circuit_Board_Elite(712), - Circuit_Parts_Crystal_Chip_Elite(713), - Circuit_Parts_Crystal_Chip_Master(714), - Circuit_Parts_Advanced(715), - Circuit_Parts_Wiring_Basic(716), - Circuit_Parts_Wiring_Advanced(717), - Circuit_Parts_Wiring_Elite(718), - Empty_Board_Basic(719), - Empty_Board_Elite(720), - Component_Sawblade_Diamond(721), - Component_Grinder_Diamond(722), - Component_Grinder_Tungsten(723), - QuantumEye(724), - QuantumStar(725), - Gravistar(726), - Upgrade_Muffler(727), - Upgrade_Lock(728), - Component_Filter(729), - Cover_Controller(730), - Cover_ActivityDetector(731), - Cover_FluidDetector(732), - Cover_ItemDetector(733), - Cover_EnergyDetector(734), - Cover_PlayerDetector(735), - Energy_Module(736), - Energy_Cluster(737), - Cover_Screen(740), - Cover_RedstoneTransmitterExternal(741), - Cover_RedstoneTransmitterInternal(742), - Cover_Crafting(744), - Cover_Drain(745), - Cover_RedstoneReceiverExternal(746), - Cover_RedstoneReceiverInternal(747), - Cover_NeedsMaintenance(748), - Cover_Shutter(749), - Cover_SolarPanel(750), - Cover_SolarPanel_8V(751), - Cover_SolarPanel_LV(752), - Cover_SolarPanel_MV(753), - Cover_SolarPanel_HV(754), - Cover_SolarPanel_EV(755), - Cover_SolarPanel_IV(756), - Cover_SolarPanel_LuV(757), - Cover_SolarPanel_ZPM(758), - Cover_SolarPanel_UV(759), - Tool_Sonictron(760), - Tool_Cheat(761), - Tool_Scanner(762), - NC_SensorKit(763), - Duct_Tape(764), - McGuffium_239(765); - - public final int ID; - - ID_MetaItem_01(int ID) { - this.ID = ID; - } -} diff --git a/src/main/java/gregtech/common/items/ID_MetaItem_02.java b/src/main/java/gregtech/common/items/ID_MetaItem_02.java deleted file mode 100644 index a13b858bd7..0000000000 --- a/src/main/java/gregtech/common/items/ID_MetaItem_02.java +++ /dev/null @@ -1,208 +0,0 @@ -package gregtech.common.items; - -public enum ID_MetaItem_02 { - - // Please pretty please, add your entries while conserving the order - ThermosCan_Dark_Coffee(0), - ThermosCan_Dark_Cafe_au_lait(1), - ThermosCan_Coffee(2), - ThermosCan_Cafe_au_lait(3), - ThermosCan_Lait_au_cafe(4), - ThermosCan_Dark_Chocolate_Milk(5), - ThermosCan_Chocolate_Milk(6), - ThermosCan_Tea(7), - ThermosCan_Sweet_Tea(8), - ThermosCan_Ice_Tea(9), - GelledToluene(10), - Bottle_Purple_Drink(100), - Bottle_Grape_Juice(101), - Bottle_Wine(102), - Bottle_Vinegar(103), - Bottle_Potato_Juice(104), - Bottle_Vodka(105), - Bottle_Leninade(106), - Bottle_Mineral_Water(107), - Bottle_Salty_Water(108), - Bottle_Reed_Water(109), - Bottle_Rum(110), - Bottle_Pirate_Brew(111), - Bottle_Hops_Juice(112), - Bottle_Dark_Beer(113), - Bottle_Dragon_Blood(114), - Bottle_Wheaty_Juice(115), - Bottle_Scotch(116), - Bottle_Glen_McKenner(117), - Bottle_Wheaty_Hops_Juice(118), - Bottle_Beer(119), - Bottle_Chilly_Sauce(120), - Bottle_Hot_Sauce(121), - Bottle_Diabolo_Sauce(122), - Bottle_Diablo_Sauce(123), - Bottle_Snitches_Glitch_Sauce(124), - Bottle_Apple_Juice(125), - Bottle_Cider(126), - Bottle_Golden_Apple_Juice(127), - Bottle_Golden_Cider(128), - Bottle_Iduns_Apple_Juice(129), - Bottle_Notches_Brew(130), - Bottle_Lemon_Juice(131), - Bottle_Limoncello(132), - Bottle_Lemonade(133), - Bottle_Alcopops(134), - Bottle_Cave_Johnsons_Grenade_Juice(135), - Bottle_Milk(136), - Bottle_Holy_Water(137), - Food_Potato_On_Stick(200), - Food_Potato_On_Stick_Roasted(201), - Food_Raw_Fries(202), - Food_Fries(203), - Food_Packaged_Fries(204), - Food_Raw_PotatoChips(205), - Food_PotatoChips(206), - Food_ChiliChips(207), - Food_Packaged_PotatoChips(208), - Food_Packaged_ChiliChips(209), - Food_Chum(210), - Food_Chum_On_Stick(211), - Food_Dough_Sugar(212), - Food_Dough_Chocolate(213), - Food_Raw_Cookie(214), - Food_Sliced_Buns(220), - Food_Burger_Veggie(221), - Food_Burger_Cheese(222), - Food_Burger_Meat(223), - Food_Burger_Chum(224), - Food_Sliced_Breads(230), - Food_Sandwich_Veggie(231), - Food_Sandwich_Cheese(232), - Food_Sandwich_Bacon(233), - Food_Sandwich_Steak(234), - Food_Sliced_Baguettes(240), - Food_Large_Sandwich_Veggie(241), - Food_Large_Sandwich_Cheese(242), - Food_Large_Sandwich_Bacon(243), - Food_Large_Sandwich_Steak(244), - Food_Raw_Pizza_Veggie(250), - Food_Raw_Pizza_Cheese(251), - Food_Raw_Pizza_Meat(252), - Food_Baked_Pizza_Veggie(260), - Food_Baked_Pizza_Cheese(261), - Food_Baked_Pizza_Meat(262), - SFMixture(270), - MSFMixture(271), - Dye_Indigo(410), - Dye_Color_00(414), - Dye_Color_01(415), - Dye_Color_02(416), - Dye_Color_03(417), - Dye_Color_04(418), - Dye_Color_05(419), - Dye_Color_06(420), - Dye_Color_07(421), - Dye_Color_08(422), - Dye_Color_09(423), - Dye_Color_10(424), - Dye_Color_11(425), - Dye_Color_12(426), - Dye_Color_13(427), - Dye_Color_14(428), - Dye_Color_15(429), - Plank_Oak(470), - Plank_Spruce(471), - Plank_Birch(472), - Plank_Jungle(473), - Plank_Acacia(474), - Plank_DarkOak(475), - Plank_Larch(476), - Plank_Teak(477), - Plank_Acacia_Green(478), - Plank_Lime(479), - Plank_Chestnut(480), - Plank_Wenge(481), - Plank_Baobab(482), - Plank_Sequoia(483), - Plank_Kapok(484), - Plank_Ebony(485), - Plank_Mahagony(486), - Plank_Balsa(487), - Plank_Willow(488), - Plank_Walnut(489), - Plank_Greenheart(490), - Plank_Cherry(491), - Plank_Mahoe(492), - Plank_Poplar(493), - Plank_Palm(494), - Plank_Papaya(495), - Plank_Pine(496), - Plank_Plum(497), - Plank_Maple(498), - Plank_Citrus(499), - Crop_Drop_Plumbilia(500), - Crop_Drop_Argentia(501), - Crop_Drop_Indigo(502), - Crop_Drop_Ferru(503), - Crop_Drop_Aurelia(504), - Crop_Drop_TeaLeaf(505), - Crop_Drop_OilBerry(510), - Crop_Drop_BobsYerUncleRanks(511), - Crop_Drop_UUMBerry(512), - Crop_Drop_UUABerry(513), - Crop_Drop_MilkWart(520), - Crop_Drop_Bauxite(521), - Crop_Drop_Ilmenite(522), - Crop_Drop_Pitchblende(523), - Crop_Drop_Uraninite(524), - Crop_Drop_Thorium(526), - Crop_Drop_Nickel(527), - Crop_Drop_Zinc(528), - Crop_Drop_Manganese(529), - Crop_Drop_Coppon(530), - Crop_Drop_Scheelite(531), - Crop_Drop_Platinum(532), - Crop_Drop_Iridium(533), - Crop_Drop_Osmium(534), - Crop_Drop_Naquadah(535), - Crop_Drop_Mica(538), - Crop_Drop_Tine(540), - Crop_Drop_Chilly(550), - Crop_Drop_Lemon(551), - Crop_Drop_Tomato(552), - Crop_Drop_MTomato(553), - Crop_Drop_Grapes(554), - Crop_Drop_Onion(555), - Crop_Drop_Cucumber(556), - Crop_Drop_Rape(557), - Food_Cheese(558), - Food_Dough(559), - Food_Flat_Dough(560), - Food_Raw_Bread(561), - Food_Raw_Bun(562), - Food_Raw_Baguette(563), - Food_Baked_Bun(564), - Food_Baked_Baguette(565), - Food_Sliced_Bread(566), - Food_Sliced_Bun(567), - Food_Sliced_Baguette(568), - Food_Raw_Cake(569), - Food_Baked_Cake(570), - Food_Sliced_Lemon(571), - Food_Sliced_Tomato(572), - Food_Sliced_Onion(573), - Food_Sliced_Cucumber(574), - Food_Sliced_Cheese(576), - Cover_AdvancedRedstoneTransmitterExternal(577), - Cover_AdvancedRedstoneTransmitterInternal(578), - Cover_AdvancedRedstoneReceiverExternal(579), - Cover_AdvancedRedstoneReceiverInternal(580), - Cover_WirelessFluidDetector(581), - Cover_WirelessItemDetector(582), - Cover_WirelessNeedsMaintainance(583), - Cover_WirelessActivityDetector(584), - Display_ITS_FREE(765); - - public final int ID; - - ID_MetaItem_02(int ID) { - this.ID = ID; - } -} diff --git a/src/main/java/gregtech/common/items/ID_MetaItem_03.java b/src/main/java/gregtech/common/items/ID_MetaItem_03.java deleted file mode 100644 index 64b3f07249..0000000000 --- a/src/main/java/gregtech/common/items/ID_MetaItem_03.java +++ /dev/null @@ -1,242 +0,0 @@ -package gregtech.common.items; - -public enum ID_MetaItem_03 { - - // Please pretty please, add your entries while conserving the order - Circuit_Board_Wetware(6), - Circuit_Board_Plastic(7), - Circuit_Board_Bio(8), - Circuit_Parts_ResistorSMD(11), - Circuit_Parts_Glass_Tube(12), - Circuit_Parts_Coil(14), - Circuit_Parts_DiodeSMD(16), - Circuit_Parts_TransistorSMD(18), - Circuit_Parts_CapacitorSMD(20), - Circuit_Parts_GlassFiber(21), - Circuit_Parts_PetriDish(22), - Circuit_Parts_Reinforced_Glass_Tube(23), - Circuit_Parts_ResistorASMD(24), - Circuit_Parts_DiodeASMD(25), - Circuit_Parts_TransistorASMD(26), - Circuit_Parts_CapacitorASMD(27), - Circuit_Silicon_Ingot(30), - Circuit_Silicon_Ingot2(31), - Circuit_Silicon_Ingot3(32), - Circuit_Silicon_Wafer(33), - Circuit_Silicon_Wafer2(34), - Circuit_Silicon_Wafer3(35), - Circuit_Wafer_ILC(36), - Circuit_Chip_ILC(37), - Circuit_Wafer_Ram(38), - Circuit_Chip_Ram(39), - Circuit_Wafer_NAND(40), - Circuit_Chip_NAND(41), - Circuit_Wafer_NOR(42), - Circuit_Chip_NOR(43), - Circuit_Wafer_CPU(44), - Circuit_Chip_CPU(45), - Circuit_Wafer_SoC(46), - Circuit_Chip_SoC(47), - Circuit_Wafer_SoC2(48), - Circuit_Chip_SoC2(49), - Circuit_Wafer_PIC(50), - Circuit_Chip_PIC(51), - Circuit_Wafer_HPIC(52), - Circuit_Chip_HPIC(53), - Circuit_Wafer_NanoCPU(54), - Circuit_Chip_NanoCPU(55), - Circuit_Wafer_QuantumCPU(56), - Circuit_Chip_QuantumCPU(57), - Circuit_Wafer_UHPIC(58), - Circuit_Chip_UHPIC(59), - Circuit_Wafer_Simple_SoC(60), - Circuit_Chip_Simple_SoC(61), - Circuit_Wafer_ULPIC(62), - Circuit_Chip_ULPIC(63), - Circuit_Wafer_LPIC(64), - Circuit_Chip_LPIC(65), - Circuit_Chip_CrystalSoC2(68), - Circuit_Parts_RawCrystalChip(69), - Circuit_Chip_CrystalCPU(70), - Circuit_Chip_CrystalSoC(71), - Circuit_Chip_NeuroCPU(72), - Circuit_Chip_Stemcell(73), - Circuit_Parts_RawCrystalParts(74), - NandChip(75), - Circuit_Chip_Biocell(76), - Circuit_Chip_BioCPU(77), - Circuit_Microprocessor(78), - Circuit_Integrated_Good(79), - Circuit_Processor(80), - Circuit_Nanoprocessor(82), - Circuit_Nanocomputer(83), - Circuit_Elitenanocomputer(84), - Circuit_Quantumprocessor(85), - Circuit_Quantumcomputer(86), - Circuit_Masterquantumcomputer(87), - Circuit_Quantummainframe(88), - Circuit_Crystalprocessor(89), - Circuit_Ultimatecrystalcomputer(90), - Circuit_Crystalmainframe(91), - Circuit_Neuroprocessor(92), - Circuit_Wetwarecomputer(93), - Circuit_Wetwaresupercomputer(94), - Circuit_Wetwaremainframe(95), - Circuit_Crystalcomputer(96), - Circuit_Bioprocessor(97), - Circuit_Biowarecomputer(98), - Circuit_Biowaresupercomputer(99), - Circuit_Board_Coated_Basic(100), - Circuit_Board_Phenolic_Good(101), - Circuit_Board_Epoxy_Advanced(102), - Circuit_Board_Fiberglass_Advanced(103), - Circuit_Board_Multifiberglass_Elite(104), - Circuit_Board_Wetware_Extreme(105), - Circuit_Board_Plastic_Advanced(106), - Circuit_Board_Bio_Ultra(107), - Tube_Wires(110), - Circuit_Biomainframe(120), - Cover_SolarPanel_UHV(130), - Cover_SolarPanel_UEV(131), - Cover_SolarPanel_UIV(132), - ULV_Coil(140), - LV_Coil(141), - MV_Coil(142), - HV_Coil(143), - EV_Coil(144), - IV_Coil(145), - LuV_Coil(146), - ZPM_Coil(147), - UV_Coil(148), - UHV_Coil(149), - Circuit_Silicon_Ingot4(150), - Circuit_Silicon_Wafer4(151), - Circuit_Silicon_Ingot5(152), - Circuit_Silicon_Wafer5(153), - Circuit_OpticalProcessor(154), - Circuit_OpticalAssembly(155), - Circuit_OpticalComputer(156), - Circuit_OpticalMainframe(157), - Circuit_Wafer_NPIC(160), - Circuit_Chip_NPIC(161), - Circuit_Wafer_PPIC(162), - Circuit_Chip_PPIC(163), - Circuit_Wafer_QPIC(164), - Circuit_Chip_QPIC(165), - Circuit_ExoticProcessor(166), - Circuit_ExoticAssembly(167), - Circuit_ExoticComputer(168), - Circuit_ExoticMainframe(169), - Circuit_CosmicProcessor(170), - Circuit_CosmicAssembly(171), - Circuit_CosmicComputer(172), - Circuit_CosmicMainframe(173), - Circuit_TranscendentProcessor(174), - Circuit_TranscendentAssembly(175), - Circuit_TranscendentComputer(176), - Circuit_TranscendentMainframe(177), - Circuit_Parts_ResistorXSMD(178), - Circuit_Parts_DiodeXSMD(179), - Circuit_Parts_TransistorXSMD(180), - Circuit_Parts_CapacitorXSMD(181), - Circuit_Parts_InductorSMD(182), - Circuit_Parts_InductorASMD(183), - Circuit_Parts_InductorXSMD(184), - Circuit_Wafer_Bioware(188), - Circuit_Parts_Chip_Bioware(189), - GalliumArsenideCrystal(190), - GalliumArsenideCrystalSmallPart(191), - KevlarFiber(192), - WovenKevlar(193), - Spinneret(194), - IndustrialApiary_Upgrade_Frame(199), - IndustrialApiary_Upgrade_Acceleration_1(200), - IndustrialApiary_Upgrade_Acceleration_2(201), - IndustrialApiary_Upgrade_Acceleration_3(202), - IndustrialApiary_Upgrade_Acceleration_4(203), - IndustrialApiary_Upgrade_Acceleration_5(204), - IndustrialApiary_Upgrade_Acceleration_6(205), - IndustrialApiary_Upgrade_Acceleration_7(206), - IndustrialApiary_Upgrade_Acceleration_8(207), - IndustrialApiary_Upgrade_Acceleration_8_Upgraded(208), - IndustrialApiary_Upgrade_PRODUCTION(209), - IndustrialApiary_Upgrade_PLAINS(210), - IndustrialApiary_Upgrade_LIGHT(211), - IndustrialApiary_Upgrade_FLOWERING(212), - IndustrialApiary_Upgrade_WINTER(213), - IndustrialApiary_Upgrade_DRYER(214), - IndustrialApiary_Upgrade_AUTOMATION(215), - IndustrialApiary_Upgrade_HUMIDIFIER(216), - IndustrialApiary_Upgrade_HELL(217), - IndustrialApiary_Upgrade_POLLEN(218), - IndustrialApiary_Upgrade_DESERT(219), - IndustrialApiary_Upgrade_COOLER(220), - IndustrialApiary_Upgrade_LIFESPAN(221), - IndustrialApiary_Upgrade_SEAL(222), - IndustrialApiary_Upgrade_STABILIZER(223), - IndustrialApiary_Upgrade_JUNGLE(224), - IndustrialApiary_Upgrade_TERRITORY(225), - IndustrialApiary_Upgrade_OCEAN(226), - IndustrialApiary_Upgrade_SKY(227), - IndustrialApiary_Upgrade_HEATER(228), - IndustrialApiary_Upgrade_SIEVE(229), - NuclearStar(230), - IndustrialApiary_Upgrade_UNLIGHT(231), - Cover_Metrics_Transmitter(232), - Activated_Carbon_Filter_Mesh(233), - Quark_Catalyst_Housing(234), - Quark_Creation_Catalyst_Up(235), - Quark_Creation_Catalyst_Down(236), - Quark_Creation_Catalyst_Strange(237), - Quark_Creation_Catalyst_Charm(238), - Quark_Creation_Catalyst_Bottom(239), - Quark_Creation_Catalyst_Top(240), - Quark_Creation_Catalyst_Unaligned(241), - Circuit_Silicon_Ingot6(721), - Circuit_Silicon_Wafer6(722), - Circuit_Silicon_Wafer7(723), - Circuit_Chip_Optical(724), - Optically_Compatible_Memory(725), - Optically_Perfected_CPU(726), - Optical_Cpu_Containment_Housing(727), - Circuit_Board_Optical(728), - White_Dwarf_Shape_Extruder_Plate(729), - White_Dwarf_Shape_Extruder_Rod(730), - White_Dwarf_Shape_Extruder_Bolt(731), - White_Dwarf_Shape_Extruder_Ring(732), - White_Dwarf_Shape_Extruder_Cell(733), - White_Dwarf_Shape_Extruder_Ingot(734), - White_Dwarf_Shape_Extruder_Wire(735), - White_Dwarf_Shape_Extruder_Casing(736), - White_Dwarf_Shape_Extruder_Pipe_Tiny(737), - White_Dwarf_Shape_Extruder_Pipe_Small(738), - White_Dwarf_Shape_Extruder_Pipe_Medium(739), - White_Dwarf_Shape_Extruder_Pipe_Large(740), - White_Dwarf_Shape_Extruder_Pipe_Huge(741), - White_Dwarf_Shape_Extruder_Block(742), - White_Dwarf_Shape_Extruder_Sword(743), - White_Dwarf_Shape_Extruder_Pickaxe(744), - White_Dwarf_Shape_Extruder_Shovel(745), - White_Dwarf_Shape_Extruder_Axe(746), - White_Dwarf_Shape_Extruder_Hoe(747), - White_Dwarf_Shape_Extruder_Hammer(748), - White_Dwarf_Shape_Extruder_File(749), - White_Dwarf_Shape_Extruder_Saw(750), - White_Dwarf_Shape_Extruder_Gear(751), - White_Dwarf_Shape_Extruder_Bottle(752), - White_Dwarf_Shape_Extruder_Rotor(753), - White_Dwarf_Shape_Extruder_Small_Gear(754), - White_Dwarf_Shape_Extruder_Turbine_Blade(755), - White_Dwarf_Shape_Extruder_ToolHeadDrill(756), - Timepiece(757), - Transdimensional_Alignment_Matrix(758), - Thermal_Superconductor(759), - Relativistic_Heat_Capacitor(760), - Phononic_Seed_Crystal(761); - - public final int ID; - - ID_MetaItem_03(int ID) { - this.ID = ID; - } -} diff --git a/src/main/java/gregtech/common/items/ID_MetaTool_01.java b/src/main/java/gregtech/common/items/ID_MetaTool_01.java deleted file mode 100644 index 195bd1aef8..0000000000 --- a/src/main/java/gregtech/common/items/ID_MetaTool_01.java +++ /dev/null @@ -1,73 +0,0 @@ -package gregtech.common.items; - -public enum ID_MetaTool_01 { - - // Please pretty please, add your entries while conserving the order - SWORD(0), - PICKAXE(2), - SHOVEL(4), - AXE(6), - HOE(8), - SAW(10), - HARDHAMMER(12), - SOFTMALLET(14), - @Deprecated - SOFTHAMMER(14), - WRENCH(16), - FILE(18), - CROWBAR(20), - SCREWDRIVER(22), - MORTAR(24), - WIRECUTTER(26), - SCOOP(28), - BRANCHCUTTER(30), - UNIVERSALSPADE(32), - KNIFE(34), - BUTCHERYKNIFE(36), - @Deprecated - SICKLE(38), - SENSE(40), - PLOW(42), - PLUNGER(44), - ROLLING_PIN(46), - DRILL_LV(100), - DRILL_MV(102), - DRILL_HV(104), - CHAINSAW_LV(110), - CHAINSAW_MV(112), - CHAINSAW_HV(114), - WRENCH_LV(120), - WRENCH_MV(122), - WRENCH_HV(124), - JACKHAMMER(130), - BUZZSAW_LV(140), - @Deprecated - BUZZSAW(140), - BUZZSAW_MV(142), - BUZZSAW_HV(144), - SCREWDRIVER_LV(150), - SCREWDRIVER_MV(152), - SCREWDRIVER_HV(154), - SOLDERING_IRON_LV(160), - SOLDERING_IRON_MV(162), - SOLDERING_IRON_HV(164), - TURBINE_SMALL(170), - TURBINE(172), - TURBINE_LARGE(174), - TURBINE_HUGE(176), - @Deprecated - TURBINE_BLADE(178), - POCKET_MULTITOOL(180), - POCKET_BRANCHCUTTER(182), - POCKET_FILE(184), - POCKET_KNIFE(186), - POCKET_SAW(188), - POCKET_SCREWDRIVER(190), - POCKET_WIRECUTTER(192); - - public final int ID; - - ID_MetaTool_01(int ID) { - this.ID = ID; - } -} diff --git a/src/main/java/gregtech/common/items/ItemAdvancedSensorCard.java b/src/main/java/gregtech/common/items/ItemAdvancedSensorCard.java new file mode 100644 index 0000000000..8c68951bb7 --- /dev/null +++ b/src/main/java/gregtech/common/items/ItemAdvancedSensorCard.java @@ -0,0 +1,330 @@ +package gregtech.common.items; + +import static gregtech.api.enums.Mods.GregTech; +import static gregtech.common.covers.CoverMetricsTransmitter.CARD_STATE_KEY; +import static gregtech.common.covers.CoverMetricsTransmitter.FREQUENCY_LSB_KEY; +import static gregtech.common.covers.CoverMetricsTransmitter.FREQUENCY_MSB_KEY; +import static gregtech.common.covers.CoverMetricsTransmitter.MACHINE_KEY; + +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import java.util.UUID; +import java.util.function.Predicate; +import java.util.stream.IntStream; + +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +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 org.jetbrains.annotations.NotNull; + +import com.google.common.collect.ImmutableList; + +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gregtech.common.misc.GlobalMetricsCoverDatabase; +import gregtech.common.misc.GlobalMetricsCoverDatabase.State; +import shedar.mods.ic2.nuclearcontrol.api.CardState; +import shedar.mods.ic2.nuclearcontrol.api.ICardWrapper; +import shedar.mods.ic2.nuclearcontrol.api.IPanelDataSource; +import shedar.mods.ic2.nuclearcontrol.api.PanelSetting; +import shedar.mods.ic2.nuclearcontrol.api.PanelString; + +@SuppressWarnings("unused") +public class ItemAdvancedSensorCard extends Item implements IPanelDataSource { + + public static final UUID CARD_TYPE_ID = UUID.fromString("ff952e84-7608-4c4a-85af-dd6e1aa27fc7"); + + // This has obfuscated formatting, so no need to localize it. + private static final String SELF_DESTRUCTED_OUTPUT = EnumChatFormatting.OBFUSCATED + "critical error" + + EnumChatFormatting.RESET; + + private static final ImmutableList DECONSTRUCTED_OUTPUT = ImmutableList.of( + StatCollector.translateToLocal("gt.item.adv_sensor_card.error.deconstructed.1"), + StatCollector.translateToLocal("gt.item.adv_sensor_card.error.deconstructed.2")); + + private static final String NO_DATA_FOUND = StatCollector.translateToLocal("gt.item.adv_sensor_card.error.no_data"); + + private static final String MACHINE_NAME_KEY = "client_machine_name"; + private static final String OUTPUT_ENTRY_KEY = "client_entry_%d"; + private static final String OUTPUT_ENTRY_LENGTH_KEY = "client_entry_length"; + + private int payloadSize = 0; + + @SideOnly(Side.CLIENT) + private IIcon normalIcon; + @SideOnly(Side.CLIENT) + private IIcon selfDestructedIcon; + + @SuppressWarnings("unused") + public ItemAdvancedSensorCard() { + super(); + + GameRegistry.registerItem(this, "gt.advancedsensorcard", GregTech.ID); + setUnlocalizedName("gt.advancedsensorcard"); + setMaxStackSize(1); + setNoRepair(); + } + + @Override + public void addInformation(final ItemStack itemStack, final EntityPlayer player, final List tooltip, + final boolean p_77624_4_) { + super.addInformation(itemStack, player, tooltip, p_77624_4_); + + final Optional cardState = getCardState(itemStack); + if (cardState.isPresent()) { + final State state = cardState.get(); + + if (state == State.SELF_DESTRUCTED) { + tooltip.add(StatCollector.translateToLocal("gt.item.adv_sensor_card.tooltip.fried.1")); + tooltip.add(StatCollector.translateToLocal("gt.item.adv_sensor_card.tooltip.fried.2")); + tooltip.add(StatCollector.translateToLocal("gt.item.adv_sensor_card.tooltip.fried.3")); + } else { + getMachineName(itemStack).ifPresent( + machineName -> tooltip.add( + StatCollector + .translateToLocalFormatted("gt.item.adv_sensor_card.tooltip.machine", machineName))); + getUUID(itemStack).ifPresent( + uuid -> tooltip.add( + StatCollector + .translateToLocalFormatted("gt.item.adv_sensor_card.tooltip.frequency", uuid.toString()))); + } + } else { + tooltip.add(StatCollector.translateToLocal("gt.item.adv_sensor_card.tooltip.recipe_hint")); + } + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(Item aItem, CreativeTabs aCreativeTab, List aOutputSubItems) {} + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(final IIconRegister aIconRegister) { + super.registerIcons(aIconRegister); + itemIcon = aIconRegister.registerIcon(GregTech.ID + ":gt.advancedsensorcard"); + normalIcon = itemIcon; + selfDestructedIcon = aIconRegister.registerIcon(GregTech.ID + ":gt.advancedsensorcardburned"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(final ItemStack stack, final int renderPass) { + return getIconIndex(stack); + } + + @Override + public IIcon getIconIndex(final ItemStack itemStack) { + return getCardState(itemStack).filter(Predicate.isEqual(State.SELF_DESTRUCTED)) + .map(ignored -> selfDestructedIcon) + .orElse(normalIcon); + } + + @Override + public CardState update(TileEntity tileEntity, ICardWrapper card, int maxRange) { + return update(tileEntity.getWorldObj(), card, maxRange); + } + + @Override + public CardState update(World world, ICardWrapper card, int maxRange) { + final Optional optionalData = getDataFromDatabase(card); + + optionalData.ifPresent(data -> { + final State machineState = data.getState(); + reconcileSelfDestructedCard(card.getItemStack(), machineState); + card.setInt(CARD_STATE_KEY, machineState.getType()); + + getMachineName(card.getItemStack()) + .ifPresent(name -> card.setString(MACHINE_NAME_KEY, machineState == State.SELF_DESTRUCTED ? "" : name)); + + final ImmutableList.Builder builder = ImmutableList.builder(); + switch (machineState) { + case SELF_DESTRUCTED -> builder.add(SELF_DESTRUCTED_OUTPUT); + case HOST_DECONSTRUCTED -> builder.addAll(DECONSTRUCTED_OUTPUT); + case OPERATIONAL -> { + data.getCoordinates() + .ifPresent( + coordinates -> builder.add( + StatCollector.translateToLocalFormatted( + "gt.item.adv_sensor_card.dimension", + coordinates.getDimension()), + StatCollector.translateToLocalFormatted( + "gt.item.adv_sensor_card.coords", + coordinates.getLocalizedCoordinates()))); + + data.getPayload() + .ifPresent(builder::addAll); + } + default -> builder.add(NO_DATA_FOUND); + } + + final List payload = builder.build(); + card.setInt(OUTPUT_ENTRY_LENGTH_KEY, payload.size()); + for (int i = 0; i < payload.size(); i++) { + final String payloadItem = payload.get(i); + if (!payloadItem.isEmpty()) { + card.setString(String.format(OUTPUT_ENTRY_KEY, i), payloadItem); + } + } + }); + + return CardState.OK; + } + + @Override + public List getStringData(final int displaySettings, final ICardWrapper card, + final boolean showLabels) { + final List returned = new ArrayList<>(); + final String machineName = card.getString(MACHINE_NAME_KEY); + final int bitmaskOffset; + + payloadSize = card.getInt(OUTPUT_ENTRY_LENGTH_KEY); + + if (!machineName.isEmpty() && (displaySettings & 1) != 0) { + returned.add(panelString(machineName, true)); + payloadSize += 1; + bitmaskOffset = 1; + } else { + bitmaskOffset = 0; + } + + // Not reusing payloadSize here because it can be conditionally mutated. + IntStream.range(0, card.getInt(OUTPUT_ENTRY_LENGTH_KEY)) + .forEach(i -> { + if ((displaySettings & 1 << (i + bitmaskOffset)) != 0) { + returned.add(panelString(card.getString(String.format(OUTPUT_ENTRY_KEY, i)))); + } + }); + + return returned; + } + + @Override + public List getSettingsList() { + return payloadSize == 0 ? ImmutableList.of() + : ImmutableList.copyOf( + IntStream.range(0, Math.min(payloadSize, 31)) + .mapToObj(i -> new PanelSetting(String.valueOf(i + 1), 1 << i, getCardType())) + .iterator()); + } + + @Override + public UUID getCardType() { + return CARD_TYPE_ID; + } + + @Override + public void onUpdate(ItemStack stack, World worldIn, Entity entityIn, int slot, boolean isHeld) { + super.onUpdate(stack, worldIn, entityIn, slot, isHeld); + // At the time of this comment's writing, there are 52 matches of the regex: + // /% \d+0 \)?\s*== 0/ in the code base, indicating an over-reliance on events happening on either the 10th or + // 20th tick. Let's tick on something slightly off of that. A prime number will do nicely. + if ((worldIn.getWorldTime() % 20) == 13) { + getDataFromDatabase(stack).ifPresent(data -> { + reconcileSelfDestructedCard(stack, data.getState()); + if (!stack.hasTagCompound()) { + stack.setTagCompound(new NBTTagCompound()); + } + + stack.getTagCompound() + .setInteger( + CARD_STATE_KEY, + data.getState() + .getType()); + }); + } + } + + private void reconcileSelfDestructedCard(ItemStack stack, State newState) { + getUUID(stack).ifPresent(uuid -> getCardState(stack).ifPresent(oldState -> { + if (newState == State.SELF_DESTRUCTED && oldState != State.SELF_DESTRUCTED) { + GlobalMetricsCoverDatabase.clearSelfDestructedFrequency(uuid); + } + })); + + } + + @NotNull + private Optional getCardState(ICardWrapper card) { + return getCardState(card.getItemStack()); + } + + @NotNull + private Optional getCardState(ItemStack itemStack) { + if (itemStack.hasTagCompound() && itemStack.getTagCompound() + .hasKey(CARD_STATE_KEY)) { + return State.find( + itemStack.getTagCompound() + .getInteger(CARD_STATE_KEY)); + } + + return Optional.empty(); + } + + @NotNull + private Optional getUUID(ItemStack stack) { + if (stack.hasTagCompound()) { + NBTTagCompound nbt = stack.getTagCompound(); + if (nbt.hasKey(FREQUENCY_LSB_KEY) && nbt.hasKey(FREQUENCY_MSB_KEY)) { + return Optional.of(new UUID(nbt.getLong(FREQUENCY_MSB_KEY), nbt.getLong(FREQUENCY_LSB_KEY))); + } + } + + return Optional.empty(); + } + + @NotNull + private Optional getMachineName(ItemStack stack) { + if (stack.hasTagCompound() && stack.getTagCompound() + .hasKey(MACHINE_KEY)) { + try { + final ItemStack machine = ItemStack.loadItemStackFromNBT( + stack.getTagCompound() + .getCompoundTag(MACHINE_KEY)); + if (machine != null) { + return Optional.of(machine.getDisplayName()); + } + } catch (Exception ignored) {} + } + + return Optional.empty(); + } + + @NotNull + private Optional getDataFromDatabase(ICardWrapper card) { + return getDataFromDatabase(card.getItemStack()); + } + + @NotNull + private Optional getDataFromDatabase(ItemStack stack) { + return getUUID(stack).flatMap(GlobalMetricsCoverDatabase::getData); + } + + @NotNull + private static PanelString panelString(String info) { + return panelString(info, false); + } + + @NotNull + private static PanelString panelString(String info, boolean center) { + final PanelString panelString = new PanelString(); + if (center) { + panelString.textCenter = info; + } else { + panelString.textLeft = info; + } + return panelString; + + } +} diff --git a/src/main/java/gregtech/common/items/ItemComb.java b/src/main/java/gregtech/common/items/ItemComb.java index eaecd19f73..68cd902d86 100644 --- a/src/main/java/gregtech/common/items/ItemComb.java +++ b/src/main/java/gregtech/common/items/ItemComb.java @@ -1,9 +1,9 @@ package gregtech.common.items; -import static gregtech.api.enums.GT_Values.L; -import static gregtech.api.enums.GT_Values.NF; -import static gregtech.api.enums.GT_Values.NI; -import static gregtech.api.enums.GT_Values.V; +import static gregtech.api.enums.GTValues.L; +import static gregtech.api.enums.GTValues.NF; +import static gregtech.api.enums.GTValues.NI; +import static gregtech.api.enums.GTValues.V; import static gregtech.api.enums.Mods.AE2FluidCraft; import static gregtech.api.enums.Mods.ExtraBees; import static gregtech.api.enums.Mods.ExtraUtilities; @@ -17,9 +17,9 @@ import static gregtech.api.enums.Mods.ThaumicBases; import static gregtech.api.recipe.RecipeMaps.autoclaveRecipes; import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; -import static gregtech.api.util.GT_RecipeBuilder.TICKS; -import static gregtech.api.util.GT_RecipeConstants.CLEANROOM; -import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; +import static gregtech.api.util.GTRecipeBuilder.TICKS; +import static gregtech.api.util.GTRecipeConstants.CLEANROOM; +import static gregtech.api.util.GTRecipeConstants.UniversalChemical; import java.util.Arrays; import java.util.List; @@ -43,17 +43,17 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.Tabs; import forestry.api.recipes.RecipeManagers; -import gregtech.api.enums.GT_Values; +import gregtech.api.enums.GTValues; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.interfaces.IGT_ItemWithMaterialRenderer; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_RecipeBuilder; -import gregtech.api.util.GT_Utility; -import gregtech.common.render.items.GT_GeneratedMaterial_Renderer; -import gregtech.loaders.misc.GT_Bees; +import gregtech.api.util.GTModHandler; +import gregtech.api.util.GTOreDictUnificator; +import gregtech.api.util.GTRecipeBuilder; +import gregtech.api.util.GTUtility; +import gregtech.common.render.items.GeneratedMaterialRenderer; +import gregtech.loaders.misc.GTBees; public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { @@ -113,7 +113,7 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { @SideOnly(Side.CLIENT) public int getColorFromItemStack(ItemStack stack, int pass) { CombType type = CombType.valueOf(stack.getItemDamage()); - return type.getColours()[GT_Utility.clamp(pass, 0, 1)]; + return type.getColours()[GTUtility.clamp(pass, 0, 1)]; } @Override @@ -133,7 +133,7 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { } @Override - public GT_GeneratedMaterial_Renderer getMaterialRenderer(int aMetaData) { + public GeneratedMaterialRenderer getMaterialRenderer(int aMetaData) { return CombType.valueOf(aMetaData).material.renderer; } @@ -191,17 +191,17 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { addCentrifugeToItemStack( CombType.LIGNIE, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Lignite, 1), ItemList.FR_Wax.get(1) }, + new ItemStack[] { GTOreDictUnificator.get(OrePrefixes.gem, Materials.Lignite, 1), ItemList.FR_Wax.get(1) }, new int[] { 90 * 100, 50 * 100 }, Voltage.ULV); addCentrifugeToItemStack( CombType.COAL, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1), ItemList.FR_Wax.get(1) }, + new ItemStack[] { GTOreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1), ItemList.FR_Wax.get(1) }, new int[] { 5 * 100, 50 * 100 }, Voltage.ULV); addCentrifugeToItemStack( CombType.OIL, - new ItemStack[] { ItemList.Crop_Drop_OilBerry.get(6), GT_Bees.drop.getStackForType(DropType.OIL), + new ItemStack[] { ItemList.Crop_Drop_OilBerry.get(6), GTBees.drop.getStackForType(DropType.OIL), ItemList.FR_Wax.get(1) }, new int[] { 100 * 100, 100 * 100, 50 * 100 }, Voltage.ULV); @@ -209,22 +209,22 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { // ic2 addCentrifugeToItemStack( CombType.COOLANT, - new ItemStack[] { GT_Bees.drop.getStackForType(DropType.COOLANT), ItemList.FR_Wax.get(1) }, + new ItemStack[] { GTBees.drop.getStackForType(DropType.COOLANT), ItemList.FR_Wax.get(1) }, new int[] { 100 * 100, 100 * 100 }, Voltage.HV, 196); addCentrifugeToItemStack( CombType.ENERGY, - new ItemStack[] { GT_Bees.drop.getStackForType(DropType.HOT_COOLANT), ItemList.IC2_Energium_Dust.get(1L), + new ItemStack[] { GTBees.drop.getStackForType(DropType.HOT_COOLANT), ItemList.IC2_Energium_Dust.get(1L), ItemList.FR_RefractoryWax.get(1) }, new int[] { 20 * 100, 20 * 100, 50 * 100 }, Voltage.HV, 196); addCentrifugeToItemStack( CombType.LAPOTRON, - new ItemStack[] { GT_Bees.drop.getStackForType(DropType.LAPIS), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.LapotronDust", 1, 0), - GT_ModHandler.getModItem(MagicBees.ID, "wax", 1, 2) }, + new ItemStack[] { GTBees.drop.getStackForType(DropType.LAPIS), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.LapotronDust", 1, 0), + GTModHandler.getModItem(MagicBees.ID, "wax", 1, 2) }, new int[] { 20 * 100, 100 * 100, 40 * 100 }, Voltage.HV, 240); @@ -260,8 +260,8 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { addCentrifugeToItemStack( CombType.ENDERIUM, new ItemStack[] { ItemList.FR_RefractoryWax.get(1), - GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.EnderiumBase, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Enderium, 1) }, + GTOreDictUnificator.get(OrePrefixes.dustSmall, Materials.EnderiumBase, 1), + GTOreDictUnificator.get(OrePrefixes.dustTiny, Materials.Enderium, 1) }, new int[] { 50 * 100, 30 * 100, 50 * 100 }, Voltage.HV); @@ -350,31 +350,31 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { addProcessGT(CombType.THAUMIUMDUST, new Materials[] { Materials.Thaumium }, Voltage.MV); addCentrifugeToItemStack( CombType.THAUMIUMSHARD, - new ItemStack[] { GT_ModHandler.getModItem(MagicBees.ID, "propolis", 1, 1), - GT_ModHandler.getModItem(MagicBees.ID, "propolis", 1, 2), - GT_ModHandler.getModItem(MagicBees.ID, "propolis", 1, 3), - GT_ModHandler.getModItem(MagicBees.ID, "propolis", 1, 4), - GT_ModHandler.getModItem(MagicBees.ID, "propolis", 1, 5), - GT_ModHandler.getModItem(MagicBees.ID, "propolis", 1, 6), - GT_ModHandler.getModItem(MagicBees.ID, "wax", 1, 0) }, + new ItemStack[] { GTModHandler.getModItem(MagicBees.ID, "propolis", 1, 1), + GTModHandler.getModItem(MagicBees.ID, "propolis", 1, 2), + GTModHandler.getModItem(MagicBees.ID, "propolis", 1, 3), + GTModHandler.getModItem(MagicBees.ID, "propolis", 1, 4), + GTModHandler.getModItem(MagicBees.ID, "propolis", 1, 5), + GTModHandler.getModItem(MagicBees.ID, "propolis", 1, 6), + GTModHandler.getModItem(MagicBees.ID, "wax", 1, 0) }, new int[] { 20 * 100, 20 * 100, 20 * 100, 20 * 100, 20 * 100, 20 * 100, 50 * 100 }, Voltage.ULV); addProcessGT(CombType.AMBER, new Materials[] { Materials.Amber }, Voltage.LV); addProcessGT(CombType.QUICKSILVER, new Materials[] { Materials.Cinnabar }, Voltage.LV); addCentrifugeToItemStack( CombType.SALISMUNDUS, - new ItemStack[] { GT_ModHandler.getModItem(Thaumcraft.ID, "ItemResource", 1, 14), - GT_ModHandler.getModItem(MagicBees.ID, "wax", 1, 0) }, + new ItemStack[] { GTModHandler.getModItem(Thaumcraft.ID, "ItemResource", 1, 14), + GTModHandler.getModItem(MagicBees.ID, "wax", 1, 0) }, new int[] { 100 * 100, 50 * 100 }, Voltage.MV); addCentrifugeToItemStack( CombType.TAINTED, - new ItemStack[] { GT_ModHandler.getModItem(Thaumcraft.ID, "ItemResource", 1, 11), - GT_ModHandler.getModItem(Thaumcraft.ID, "ItemResource", 1, 12), - GT_ModHandler.getModItem(Thaumcraft.ID, "blockTaintFibres", 1, 0), - GT_ModHandler.getModItem(Thaumcraft.ID, "blockTaintFibres", 1, 1), - GT_ModHandler.getModItem(Thaumcraft.ID, "blockTaintFibres", 1, 2), - GT_ModHandler.getModItem(MagicBees.ID, "wax", 1, 0) }, + new ItemStack[] { GTModHandler.getModItem(Thaumcraft.ID, "ItemResource", 1, 11), + GTModHandler.getModItem(Thaumcraft.ID, "ItemResource", 1, 12), + GTModHandler.getModItem(Thaumcraft.ID, "blockTaintFibres", 1, 0), + GTModHandler.getModItem(Thaumcraft.ID, "blockTaintFibres", 1, 1), + GTModHandler.getModItem(Thaumcraft.ID, "blockTaintFibres", 1, 2), + GTModHandler.getModItem(MagicBees.ID, "wax", 1, 0) }, new int[] { 15 * 100, 15 * 100, 15 * 100, 15 * 100, 15 * 100, 50 * 100 }, Voltage.ULV); addProcessGT(CombType.MITHRIL, new Materials[] { Materials.Mithril }, Voltage.HV); @@ -385,13 +385,13 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { new int[] { 20 * 100, 10 * 100 }, new int[] {}, Voltage.HV, - GT_ModHandler.getModItem(MagicBees.ID, "wax", 1, 0), + GTModHandler.getModItem(MagicBees.ID, "wax", 1, 0), 50 * 100); addCentrifugeToItemStack( CombType.THAUMINITE, - new ItemStack[] { GT_ModHandler.getModItem(ThaumicBases.ID, "resource", 1, 0), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Thaumium, 1), - GT_ModHandler.getModItem(MagicBees.ID, "wax", 1, 0) }, + new ItemStack[] { GTModHandler.getModItem(ThaumicBases.ID, "resource", 1, 0), + GTOreDictUnificator.get(OrePrefixes.dustTiny, Materials.Thaumium, 1), + GTModHandler.getModItem(MagicBees.ID, "wax", 1, 0) }, new int[] { 20 * 100, 10 * 100, 50 * 100 }, Voltage.HV); addProcessGT(CombType.SHADOWMETAL, new Materials[] { Materials.Shadow }, Voltage.HV); @@ -401,23 +401,23 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { new int[] { 20 * 100, 10 * 100 }, new int[] {}, Voltage.HV, - GT_ModHandler.getModItem(MagicBees.ID, "wax", 1, 0), + GTModHandler.getModItem(MagicBees.ID, "wax", 1, 0), 50 * 100); addProcessGT(CombType.DIVIDED, new Materials[] { Materials.Diamond }, Voltage.HV); addCentrifugeToItemStack( CombType.DIVIDED, - new ItemStack[] { GT_ModHandler.getModItem(MagicBees.ID, "wax", 1, 0), - GT_ModHandler.getModItem(ExtraUtilities.ID, "unstableingot", 1, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iron, 1), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Diamond, 1) }, + new ItemStack[] { GTModHandler.getModItem(MagicBees.ID, "wax", 1, 0), + GTModHandler.getModItem(ExtraUtilities.ID, "unstableingot", 1, 1), + GTOreDictUnificator.get(OrePrefixes.dustTiny, Materials.Iron, 1), + GTOreDictUnificator.get(OrePrefixes.dustTiny, Materials.Diamond, 1) }, new int[] { 50 * 100, 20 * 100, 10 * 100, 5 * 100 }, Voltage.HV); addProcessGT(CombType.SPARKLING, new Materials[] { Materials.NetherStar }, Voltage.EV); addCentrifugeToItemStack( CombType.SPARKLING, - new ItemStack[] { GT_ModHandler.getModItem(MagicBees.ID, "wax", 1, 0), - GT_ModHandler.getModItem(MagicBees.ID, "miscResources", 2, 5), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.NetherStar, 1) }, + new ItemStack[] { GTModHandler.getModItem(MagicBees.ID, "wax", 1, 0), + GTModHandler.getModItem(MagicBees.ID, "miscResources", 2, 5), + GTOreDictUnificator.get(OrePrefixes.dustTiny, Materials.NetherStar, 1) }, new int[] { 50 * 100, 10 * 100, 10 * 100 }, Voltage.EV); @@ -427,12 +427,12 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { new int[] { 100 * 100 }, new int[] {}, Voltage.MV, - GT_ModHandler.getModItem(MagicBees.ID, "wax", 1, 0), + GTModHandler.getModItem(MagicBees.ID, "wax", 1, 0), 50 * 100); addCentrifugeToItemStack( CombType.QUICKSILVER, - new ItemStack[] { GT_ModHandler.getModItem(MagicBees.ID, "wax", 1, 0), - GT_ModHandler.getModItem(Thaumcraft.ID, "ItemNugget", 1, 5) }, + new ItemStack[] { GTModHandler.getModItem(MagicBees.ID, "wax", 1, 0), + GTModHandler.getModItem(Thaumcraft.ID, "ItemNugget", 1, 5) }, new int[] { 50 * 100, 100 * 100 }, Voltage.ULV); @@ -591,9 +591,9 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { addCentrifugeToItemStack( CombType.SALT, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Salt, 6), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RockSalt, 6), ItemList.FR_Wax.get(1), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Saltpeter, 6) }, + new ItemStack[] { GTOreDictUnificator.get(OrePrefixes.dust, Materials.Salt, 6), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.RockSalt, 6), ItemList.FR_Wax.get(1), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Saltpeter, 6) }, new int[] { 100 * 100, 100 * 100, 50 * 100, 25 * 100 }, Voltage.MV, 160); @@ -612,141 +612,141 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { // Twilight addCentrifugeToItemStack( CombType.NAGA, - new ItemStack[] { GT_ModHandler.getModItem(MagicBees.ID, "propolis", 1L, 4), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.NagaScaleChip", 1L, 0), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.NagaScaleFragment", 1L, 0), + new ItemStack[] { GTModHandler.getModItem(MagicBees.ID, "propolis", 1L, 4), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.NagaScaleChip", 1L, 0), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.NagaScaleFragment", 1L, 0), ItemList.FR_Wax.get(1) }, new int[] { 5 * 100, 33 * 100, 8 * 100, 30 * 100 }, Voltage.MV); addCentrifugeToItemStack( CombType.LICH, - new ItemStack[] { GT_ModHandler.getModItem(MagicBees.ID, "propolis", 1L, 5), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.LichBoneChip", 1L, 0), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.LichBoneFragment", 1L, 0), + new ItemStack[] { GTModHandler.getModItem(MagicBees.ID, "propolis", 1L, 5), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.LichBoneChip", 1L, 0), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.LichBoneFragment", 1L, 0), ItemList.FR_Wax.get(1) }, new int[] { 5 * 100, 33 * 100, 8 * 100, 30 * 100 }, Voltage.HV); addCentrifugeToItemStack( CombType.HYDRA, - new ItemStack[] { GT_ModHandler.getModItem(MagicBees.ID, "propolis", 1L, 1), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.FieryBloodDrop", 1L, 0), - GT_Bees.drop.getStackForType(DropType.HYDRA), ItemList.FR_Wax.get(1) }, + new ItemStack[] { GTModHandler.getModItem(MagicBees.ID, "propolis", 1L, 1), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.FieryBloodDrop", 1L, 0), + GTBees.drop.getStackForType(DropType.HYDRA), ItemList.FR_Wax.get(1) }, new int[] { 5 * 100, 33 * 100, 8 * 100, 30 * 100 }, Voltage.HV); addCentrifugeToItemStack( CombType.URGHAST, - new ItemStack[] { GT_ModHandler.getModItem(MagicBees.ID, "propolis", 1L, 2), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.CarminiteChip", 1L, 0), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.CarminiteFragment", 1L, 0), + new ItemStack[] { GTModHandler.getModItem(MagicBees.ID, "propolis", 1L, 2), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.CarminiteChip", 1L, 0), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.CarminiteFragment", 1L, 0), ItemList.FR_Wax.get(1) }, new int[] { 5 * 100, 33 * 100, 8 * 100, 30 * 100 }, Voltage.EV); addCentrifugeToItemStack( CombType.SNOWQUEEN, - new ItemStack[] { GT_ModHandler.getModItem(MagicBees.ID, "propolis", 1L, 3), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.SnowQueenBloodDrop", 1L, 0), - GT_Bees.drop.getStackForType(DropType.SNOW_QUEEN), ItemList.FR_Wax.get(1) }, + new ItemStack[] { GTModHandler.getModItem(MagicBees.ID, "propolis", 1L, 3), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.SnowQueenBloodDrop", 1L, 0), + GTBees.drop.getStackForType(DropType.SNOW_QUEEN), ItemList.FR_Wax.get(1) }, new int[] { 5 * 100, 33 * 100, 8 * 100, 30 * 100 }, Voltage.EV); // HEE addCentrifugeToItemStack( CombType.ENDDUST, - new ItemStack[] { GT_ModHandler.getModItem(MagicBees.ID, "wax", 1L, 0), - GT_Bees.propolis.getStackForType(PropolisType.End), GT_Bees.drop.getStackForType(DropType.ENDERGOO), + new ItemStack[] { GTModHandler.getModItem(MagicBees.ID, "wax", 1L, 0), + GTBees.propolis.getStackForType(PropolisType.End), GTBees.drop.getStackForType(DropType.ENDERGOO), Materials.Endstone.getBlocks(4) }, new int[] { 20 * 100, 15 * 100, 10 * 100, 100 * 100 }, Voltage.HV); addCentrifugeToItemStack( CombType.STARDUST, - new ItemStack[] { GT_ModHandler.getModItem(MagicBees.ID, "wax", 1L, 0), - GT_Bees.propolis.getStackForType(PropolisType.Stardust), - GT_Bees.drop.getStackForType(DropType.ENDERGOO) }, + new ItemStack[] { GTModHandler.getModItem(MagicBees.ID, "wax", 1L, 0), + GTBees.propolis.getStackForType(PropolisType.Stardust), + GTBees.drop.getStackForType(DropType.ENDERGOO) }, new int[] { 20 * 100, 15 * 100, 10 * 100 }, Voltage.HV); addCentrifugeToItemStack( CombType.ECTOPLASMA, - new ItemStack[] { GT_ModHandler.getModItem(MagicBees.ID, "wax", 1L, 0), - GT_Bees.propolis.getStackForType(PropolisType.Ectoplasma), - GT_Bees.drop.getStackForType(DropType.ENDERGOO) }, + new ItemStack[] { GTModHandler.getModItem(MagicBees.ID, "wax", 1L, 0), + GTBees.propolis.getStackForType(PropolisType.Ectoplasma), + GTBees.drop.getStackForType(DropType.ENDERGOO) }, new int[] { 25 * 100, 10 * 100, 15 * 100 }, Voltage.EV); addCentrifugeToItemStack( CombType.ARCANESHARD, - new ItemStack[] { GT_ModHandler.getModItem(MagicBees.ID, "wax", 1L, 0), - GT_Bees.propolis.getStackForType(PropolisType.Arcaneshard), - GT_Bees.drop.getStackForType(DropType.ENDERGOO) }, + new ItemStack[] { GTModHandler.getModItem(MagicBees.ID, "wax", 1L, 0), + GTBees.propolis.getStackForType(PropolisType.Arcaneshard), + GTBees.drop.getStackForType(DropType.ENDERGOO) }, new int[] { 25 * 100, 10 * 100, 15 * 100 }, Voltage.EV); addCentrifugeToItemStack( CombType.DRAGONESSENCE, - new ItemStack[] { GT_ModHandler.getModItem(MagicBees.ID, "wax", 1L, 0), - GT_Bees.propolis.getStackForType(PropolisType.Dragonessence), - GT_Bees.drop.getStackForType(DropType.ENDERGOO) }, + new ItemStack[] { GTModHandler.getModItem(MagicBees.ID, "wax", 1L, 0), + GTBees.propolis.getStackForType(PropolisType.Dragonessence), + GTBees.drop.getStackForType(DropType.ENDERGOO) }, new int[] { 30 * 100, (int) (7.5 * 100), 20 * 100 }, Voltage.IV); addCentrifugeToItemStack( CombType.ENDERMAN, - new ItemStack[] { GT_ModHandler.getModItem(MagicBees.ID, "wax", 1L, 0), - GT_Bees.propolis.getStackForType(PropolisType.Enderman), - GT_Bees.drop.getStackForType(DropType.ENDERGOO) }, + new ItemStack[] { GTModHandler.getModItem(MagicBees.ID, "wax", 1L, 0), + GTBees.propolis.getStackForType(PropolisType.Enderman), + GTBees.drop.getStackForType(DropType.ENDERGOO) }, new int[] { 3000, 750, 2000 }, Voltage.IV); addCentrifugeToItemStack( CombType.SILVERFISH, - new ItemStack[] { GT_ModHandler.getModItem(MagicBees.ID, "wax", 1L, 0), - GT_Bees.propolis.getStackForType(PropolisType.Silverfish), - GT_Bees.drop.getStackForType(DropType.ENDERGOO), new ItemStack(Items.spawn_egg, 1, 60) }, + new ItemStack[] { GTModHandler.getModItem(MagicBees.ID, "wax", 1L, 0), + GTBees.propolis.getStackForType(PropolisType.Silverfish), + GTBees.drop.getStackForType(DropType.ENDERGOO), new ItemStack(Items.spawn_egg, 1, 60) }, new int[] { 25 * 100, 10 * 100, 20 * 100, 15 * 100 }, Voltage.EV); addProcessGT(CombType.ENDIUM, new Materials[] { Materials.HeeEndium }, Voltage.HV); addCentrifugeToItemStack( CombType.RUNEI, - new ItemStack[] { GT_ModHandler.getModItem(MagicBees.ID, "wax", 1L, 0), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.RuneOfPowerFragment", 1L, 0), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.RuneOfAgilityFragment", 1L, 0), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.RuneOfVigorFragment", 1L, 0), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.RuneOfDefenseFragment", 1L, 0), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.RuneOfMagicFragment", 1L, 0) }, + new ItemStack[] { GTModHandler.getModItem(MagicBees.ID, "wax", 1L, 0), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.RuneOfPowerFragment", 1L, 0), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.RuneOfAgilityFragment", 1L, 0), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.RuneOfVigorFragment", 1L, 0), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.RuneOfDefenseFragment", 1L, 0), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.RuneOfMagicFragment", 1L, 0) }, new int[] { 25 * 100, 5 * 100, 5 * 100, 5 * 100, 5 * 100, 5 * 100 }, Voltage.IV); addCentrifugeToItemStack( CombType.RUNEII, - new ItemStack[] { GT_ModHandler.getModItem(MagicBees.ID, "wax", 1L, 0), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.RuneOfVoidFragment", 1L, 0) }, + new ItemStack[] { GTModHandler.getModItem(MagicBees.ID, "wax", 1L, 0), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.RuneOfVoidFragment", 1L, 0) }, new int[] { 50 * 100, (int) (2.5 * 100) }, Voltage.IV); addCentrifugeToItemStack( CombType.FIREESSENSE, - new ItemStack[] { GT_ModHandler.getModItem(MagicBees.ID, "wax", 1L, 0), - GT_Bees.propolis.getStackForType(PropolisType.Fireessence), - GT_Bees.drop.getStackForType(DropType.ENDERGOO) }, + new ItemStack[] { GTModHandler.getModItem(MagicBees.ID, "wax", 1L, 0), + GTBees.propolis.getStackForType(PropolisType.Fireessence), + GTBees.drop.getStackForType(DropType.ENDERGOO) }, new int[] { 30 * 100, (int) (7.5 * 100), 20 * 100 }, Voltage.IV); // Walrus Recipe if (AE2FluidCraft.isModLoaded()) { addCentrifugeToItemStack( CombType.WALRUS, - new ItemStack[] { GT_ModHandler.getModItem(AE2FluidCraft.ID, "walrus", 1L, 0) }, + new ItemStack[] { GTModHandler.getModItem(AE2FluidCraft.ID, "walrus", 1L, 0) }, new int[] { 100 * 100 }, Voltage.LV); } addCentrifugeToItemStack( CombType.MACHINIST, - new ItemStack[] { GT_ModHandler.getModItem(Forestry.ID, "royalJelly", 1L, 0), - GT_ModHandler.getModItem(Forestry.ID, "pollen", 1L, 0), - GT_ModHandler.getModItem(Forestry.ID, "honeyDrop", 1L, 0), - GT_ModHandler.getModItem(ExtraBees.ID, "honeyDrop", 1L, 6), - GT_ModHandler.getModItem(Forestry.ID, "beeswax", 1L, 0), ItemList.ElectronicsLump.get(1) }, + new ItemStack[] { GTModHandler.getModItem(Forestry.ID, "royalJelly", 1L, 0), + GTModHandler.getModItem(Forestry.ID, "pollen", 1L, 0), + GTModHandler.getModItem(Forestry.ID, "honeyDrop", 1L, 0), + GTModHandler.getModItem(ExtraBees.ID, "honeyDrop", 1L, 6), + GTModHandler.getModItem(Forestry.ID, "beeswax", 1L, 0), ItemList.ElectronicsLump.get(1) }, new int[] { 10 * 100, 10 * 100, 20 * 100, 10 * 100, 20 * 100, 5 * 100 }, Voltage.ULV); // Space Line addCentrifugeToItemStack( CombType.SPACE, new ItemStack[] { ItemList.FR_Wax.get(1L), ItemList.FR_RefractoryWax.get(1L), - GT_Bees.drop.getStackForType(DropType.OXYGEN), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.CoinSpace", 1L, 0) }, + GTBees.drop.getStackForType(DropType.OXYGEN), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.CoinSpace", 1L, 0) }, new int[] { 50 * 100, 30 * 100, 15 * 100, 5 * 100 }, Voltage.HV); addProcessGT(CombType.METEORICIRON, new Materials[] { Materials.MeteoricIron }, Voltage.HV); @@ -783,116 +783,116 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { addCentrifugeToItemStack( CombType.MOON, new ItemStack[] { ItemList.FR_Wax.get(1L), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.MoonStoneDust", 1L, 0) }, + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.MoonStoneDust", 1L, 0) }, new int[] { 50 * 100, 30 * 100 }, Voltage.MV, 300); addCentrifugeToItemStack( CombType.MARS, new ItemStack[] { ItemList.FR_Wax.get(1L), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.MarsStoneDust", 1L, 0) }, + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.MarsStoneDust", 1L, 0) }, new int[] { 50 * 100, 30 * 100 }, Voltage.HV, 300); addCentrifugeToItemStack( CombType.JUPITER, - new ItemStack[] { GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.IoStoneDust", 1L, 0), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.EuropaIceDust", 1L, 0), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.EuropaStoneDust", 1L, 0), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.GanymedeStoneDust", 1L, 0), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.CallistoStoneDust", 1L, 0), - GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.CallistoIce, 1L), ItemList.FR_Wax.get(1L) }, + new ItemStack[] { GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.IoStoneDust", 1L, 0), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.EuropaIceDust", 1L, 0), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.EuropaStoneDust", 1L, 0), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.GanymedeStoneDust", 1L, 0), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.CallistoStoneDust", 1L, 0), + GTOreDictUnificator.get(OrePrefixes.dustTiny, Materials.CallistoIce, 1L), ItemList.FR_Wax.get(1L) }, new int[] { 30 * 100, 30 * 100, 30 * 100, 30 * 100, 30 * 100, 5 * 100, 50 * 100 }, Voltage.HV, 300); addCentrifugeToItemStack( CombType.MERCURY, new ItemStack[] { ItemList.FR_Wax.get(1L), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.MercuryCoreDust", 1L, 0), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.MercuryStoneDust", 1L, 0) }, + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.MercuryCoreDust", 1L, 0), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.MercuryStoneDust", 1L, 0) }, new int[] { 50 * 100, 30 * 100, 30 * 100 }, Voltage.EV, 300); addCentrifugeToItemStack( CombType.VENUS, new ItemStack[] { ItemList.FR_Wax.get(1L), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.VenusStoneDust", 1L, 0) }, + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.VenusStoneDust", 1L, 0) }, new int[] { 50 * 100, 30 * 100 }, Voltage.EV, 300); addCentrifugeToItemStack( CombType.SATURN, new ItemStack[] { ItemList.FR_Wax.get(1L), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.EnceladusStoneDust", 1L, 0), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.TitanStoneDust", 1L, 0) }, + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.EnceladusStoneDust", 1L, 0), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.TitanStoneDust", 1L, 0) }, new int[] { 50 * 100, 30 * 100, 30 * 100 }, Voltage.IV, 300); addCentrifugeToItemStack( CombType.URANUS, new ItemStack[] { ItemList.FR_Wax.get(1L), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.MirandaStoneDust", 1L, 0), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.OberonStoneDust", 1L, 0) }, + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.MirandaStoneDust", 1L, 0), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.OberonStoneDust", 1L, 0) }, new int[] { 50 * 100, 30 * 100, 30 * 100 }, Voltage.IV, 300); addCentrifugeToItemStack( CombType.NEPTUNE, new ItemStack[] { ItemList.FR_Wax.get(1L), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.ProteusStoneDust", 1L, 0), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.TritonStoneDust", 1L, 0) }, + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.ProteusStoneDust", 1L, 0), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.TritonStoneDust", 1L, 0) }, new int[] { 50 * 100, 30 * 100, 30 * 100 }, Voltage.IV, 300); addCentrifugeToItemStack( CombType.PLUTO, new ItemStack[] { ItemList.FR_Wax.get(1L), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.PlutoStoneDust", 1L, 0), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.PlutoIceDust", 1L, 0) }, + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.PlutoStoneDust", 1L, 0), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.PlutoIceDust", 1L, 0) }, new int[] { 50 * 100, 30 * 100, 30 * 100 }, Voltage.LuV, 300); addCentrifugeToItemStack( CombType.HAUMEA, new ItemStack[] { ItemList.FR_Wax.get(1L), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.HaumeaStoneDust", 1L, 0) }, + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.HaumeaStoneDust", 1L, 0) }, new int[] { 50 * 100, 30 * 100 }, Voltage.LuV, 300); addCentrifugeToItemStack( CombType.MAKEMAKE, new ItemStack[] { ItemList.FR_Wax.get(1L), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.MakeMakeStoneDust", 1L, 0) }, + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.MakeMakeStoneDust", 1L, 0) }, new int[] { 50 * 100, 30 * 100 }, Voltage.LuV, 300); addCentrifugeToItemStack( CombType.CENTAURI, new ItemStack[] { ItemList.FR_Wax.get(1L), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.CentauriASurfaceDust", 1L, 0), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.CentauriAStoneDust", 1L, 0) }, + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.CentauriASurfaceDust", 1L, 0), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.CentauriAStoneDust", 1L, 0) }, new int[] { 50 * 100, 30 * 100, 30 * 100 }, Voltage.ZPM, 300); addCentrifugeToItemStack( CombType.TCETI, new ItemStack[] { ItemList.FR_Wax.get(1L), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.TCetiEStoneDust", 1L, 0) }, + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.TCetiEStoneDust", 1L, 0) }, new int[] { 50 * 100, 30 * 100 }, Voltage.ZPM, 300); addCentrifugeToItemStack( CombType.BARNARDA, new ItemStack[] { ItemList.FR_Wax.get(1L), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.BarnardaEStoneDust", 1L, 0), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.BarnardaFStoneDust", 1L, 0) }, + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.BarnardaEStoneDust", 1L, 0), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.BarnardaFStoneDust", 1L, 0) }, new int[] { 50 * 100, 30 * 100, 30 * 100 }, Voltage.ZPM, 300); addCentrifugeToItemStack( CombType.VEGA, new ItemStack[] { ItemList.FR_Wax.get(1L), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.VegaBStoneDust", 1L, 0) }, + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.VegaBStoneDust", 1L, 0) }, new int[] { 50 * 100, 30 * 100 }, Voltage.ZPM, 300); @@ -900,7 +900,7 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { addCentrifugeToItemStack( CombType.SEAWEED, new ItemStack[] { ItemList.FR_Wax.get(1L), - GT_ModHandler.getModItem(GalaxySpace.ID, "tcetiedandelions", 1L, 0) }, + GTModHandler.getModItem(GalaxySpace.ID, "tcetiedandelions", 1L, 0) }, new int[] { 50 * 100, 100 * 100 }, Voltage.UV, 100); @@ -940,13 +940,13 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { * **/ public void addAutoclaveProcess(CombType comb, Materials aMaterial, Voltage volt, int circuitNumber) { - if (GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4) == NI) { + if (GTOreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4) == NI) { return; } - GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder(); + GTRecipeBuilder recipeBuilder = GTValues.RA.stdBuilder(); recipeBuilder - .itemInputs(GT_Utility.copyAmount(9, getStackForType(comb)), GT_Utility.getIntegratedCircuit(circuitNumber)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4)) + .itemInputs(GTUtility.copyAmount(9, getStackForType(comb)), GTUtility.getIntegratedCircuit(circuitNumber)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.crushedPurified, aMaterial, 4)) .fluidInputs(Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass() + volt.getUUAmplifier()) / 10)))) .duration(((int) (aMaterial.getMass() * 128)) * TICKS) .eut(volt.getAutoClaveEnergy()); @@ -968,8 +968,8 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { : 128); int eut = volt.getSimpleEnergy() / 2; - GT_Values.RA.stdBuilder() - .itemInputs(GT_Utility.copyAmount(1, getStackForType(comb))) + GTValues.RA.stdBuilder() + .itemInputs(GTUtility.copyAmount(1, getStackForType(comb))) .fluidOutputs(fluid) .duration(duration) .eut(eut) @@ -988,7 +988,7 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { public void addProcessGT(CombType comb, Materials[] aMaterial, Voltage volt) { ItemStack tComb = getStackForType(comb); for (Materials materials : aMaterial) { - if (GT_OreDictUnificator.get(OrePrefixes.crushedPurified, materials, 4) != null) { + if (GTOreDictUnificator.get(OrePrefixes.crushedPurified, materials, 4) != null) { ItemStack combInput; ItemStack combOutput; FluidStack fluidInput; @@ -998,7 +998,7 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { boolean requiresCleanroom; switch (comb) { case NEUTRONIUM -> { - combInput = GT_Utility.copyAmount(4, tComb); + combInput = GTUtility.copyAmount(4, tComb); combOutput = Materials.Neutronium.getNuggets(1); fluidInput = volt.getFluidAccordingToCombTier(); fluidOutput = Materials.Neutronium.getMolten(576); @@ -1007,7 +1007,7 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { requiresCleanroom = volt.compareTo(Voltage.IV) > 0; } case OSMIUM -> { - combInput = GT_Utility.copyAmount(4, tComb); + combInput = GTUtility.copyAmount(4, tComb); combOutput = Materials.Osmium.getNuggets(1); fluidInput = volt.getFluidAccordingToCombTier(); fluidOutput = Materials.Osmium.getMolten(288); @@ -1016,7 +1016,7 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { requiresCleanroom = volt.compareTo(Voltage.IV) > 0; } case PLATINUM -> { - combInput = GT_Utility.copyAmount(4, tComb); + combInput = GTUtility.copyAmount(4, tComb); combOutput = Materials.Platinum.getNuggets(1); fluidInput = volt.getFluidAccordingToCombTier(); fluidOutput = Materials.Platinum.getMolten(288); @@ -1025,7 +1025,7 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { requiresCleanroom = volt.compareTo(Voltage.HV) > 0; } case IRIDIUM -> { - combInput = GT_Utility.copyAmount(4, tComb); + combInput = GTUtility.copyAmount(4, tComb); combOutput = Materials.Iridium.getNuggets(1); fluidInput = volt.getFluidAccordingToCombTier(); fluidOutput = Materials.Iridium.getMolten(288); @@ -1034,8 +1034,8 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { requiresCleanroom = volt.compareTo(Voltage.EV) > 0; } default -> { - combInput = GT_Utility.copyAmount(4, tComb); - combOutput = GT_OreDictUnificator.get(OrePrefixes.crushedPurified, materials, 4); + combInput = GTUtility.copyAmount(4, tComb); + combOutput = GTOreDictUnificator.get(OrePrefixes.crushedPurified, materials, 4); fluidInput = volt.getFluidAccordingToCombTier(); fluidOutput = null; durationTicks = volt.getComplexTime(); @@ -1043,7 +1043,7 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { requiresCleanroom = volt.compareTo(Voltage.IV) > 0; } } - GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder(); + GTRecipeBuilder recipeBuilder = GTValues.RA.stdBuilder(); recipeBuilder.itemInputs(combInput) .itemOutputs(combOutput) .fluidInputs(fluidInput); @@ -1092,11 +1092,11 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { continue; } if (Math.max(1, stackSize[i]) % 9 == 0) { - aOutPut[i] = GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial[i], (Math.max(1, stackSize[i]) / 9)); + aOutPut[i] = GTOreDictUnificator.get(OrePrefixes.dust, aMaterial[i], (Math.max(1, stackSize[i]) / 9)); } else if (Math.max(1, stackSize[i]) % 4 == 0) { - aOutPut[i] = GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial[i], (Math.max(1, stackSize[i]) / 4)); + aOutPut[i] = GTOreDictUnificator.get(OrePrefixes.dust, aMaterial[i], (Math.max(1, stackSize[i]) / 4)); } else { - aOutPut[i] = GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial[i], Math.max(1, stackSize[i])); + aOutPut[i] = GTOreDictUnificator.get(OrePrefixes.dust, aMaterial[i], Math.max(1, stackSize[i])); } } if (beeWax != NI) { @@ -1130,7 +1130,7 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { RecipeManagers.centrifugeManager.addRecipe(40, tComb, Product.build()); } - GT_Values.RA.stdBuilder() + GTValues.RA.stdBuilder() .itemInputs(tComb) .itemOutputs(aItem) .outputChances(chance) @@ -1142,9 +1142,9 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { public void registerOreDict() { for (CombType comb : CombType.values()) { ItemStack tComb = getStackForType(comb); - GT_OreDictUnificator.registerOre(OrePrefixes.beeComb.name(), tComb); + GTOreDictUnificator.registerOre(OrePrefixes.beeComb.name(), tComb); OrePrefixes.beeComb.add(tComb); - if (comb.voltage != null) GT_OreDictUnificator.registerOre("comb" + comb.voltage.name(), tComb); + if (comb.voltage != null) GTOreDictUnificator.registerOre("comb" + comb.voltage.name(), tComb); } } @@ -1189,7 +1189,7 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer { if (this.compareTo(Voltage.MV) < 0) { return Materials.HydrofluoricAcid.getFluid((this.compareTo(Voltage.ULV) > 0) ? 1000 : 500); } else if (this.compareTo(Voltage.HV) < 0) { - return GT_ModHandler.getDistilledWater(1000L); + return GTModHandler.getDistilledWater(1000L); } else if (this.compareTo(Voltage.LuV) < 0) { return Materials.HydrofluoricAcid.getFluid((long) (Math.pow(2, this.compareTo(Voltage.HV)) * L)); } else if (this.compareTo(Voltage.UHV) < 0) { diff --git a/src/main/java/gregtech/common/items/ItemDepletedCell.java b/src/main/java/gregtech/common/items/ItemDepletedCell.java new file mode 100644 index 0000000000..094dd76dbb --- /dev/null +++ b/src/main/java/gregtech/common/items/ItemDepletedCell.java @@ -0,0 +1,49 @@ +package gregtech.common.items; + +import net.minecraft.item.ItemStack; + +import gregtech.api.items.ItemRadioactiveCellIC; +import ic2.api.reactor.IReactor; + +public class ItemDepletedCell extends ItemRadioactiveCellIC { + + public ItemDepletedCell(String aUnlocalized, String aEnglish, int aRadiation) { + super(aUnlocalized, aEnglish, 1, 1, 0, aRadiation, 0, null, false); + } + + @Override + public void processChamber(IReactor paramIReactor, ItemStack paramItemStack, int paramInt1, int paramInt2, + boolean paramBoolean) {} + + @Override + public boolean acceptUraniumPulse(IReactor paramIReactor, ItemStack paramItemStack1, ItemStack paramItemStack2, + int paramInt1, int paramInt2, int paramInt3, int paramInt4, boolean paramBoolean) { + return false; + } + + @Override + public boolean canStoreHeat(IReactor paramIReactor, ItemStack paramItemStack, int paramInt1, int paramInt2) { + return false; + } + + @Override + public int getMaxHeat(IReactor paramIReactor, ItemStack paramItemStack, int paramInt1, int paramInt2) { + return 0; + } + + @Override + public int getCurrentHeat(IReactor paramIReactor, ItemStack paramItemStack, int paramInt1, int paramInt2) { + return 0; + } + + @Override + public int alterHeat(IReactor paramIReactor, ItemStack paramItemStack, int paramInt1, int paramInt2, + int paramInt3) { + return 0; + } + + @Override + public float influenceExplosion(IReactor paramIReactor, ItemStack paramItemStack) { + return 0.0F; + } +} diff --git a/src/main/java/gregtech/common/items/ItemDrop.java b/src/main/java/gregtech/common/items/ItemDrop.java index 5aab9dff48..1f56b79242 100644 --- a/src/main/java/gregtech/common/items/ItemDrop.java +++ b/src/main/java/gregtech/common/items/ItemDrop.java @@ -7,8 +7,8 @@ import static gregtech.api.enums.Mods.HardcoreEnderExpansion; import static gregtech.api.enums.Mods.MagicBees; import static gregtech.api.enums.Mods.NewHorizonsCoreMod; import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; -import static gregtech.api.util.GT_RecipeBuilder.SECONDS; -import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; +import static gregtech.api.util.GTRecipeBuilder.TICKS; import java.util.List; @@ -25,11 +25,11 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.Tabs; import forestry.api.recipes.RecipeManagers; -import gregtech.api.enums.GT_Values; +import gregtech.api.enums.GTValues; import gregtech.api.enums.Materials; import gregtech.api.enums.TierEU; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_RecipeBuilder; +import gregtech.api.util.GTModHandler; +import gregtech.api.util.GTRecipeBuilder; public class ItemDrop extends Item { @@ -110,53 +110,53 @@ public class ItemDrop extends Item { addProcessLV( tDrop, Materials.OilHeavy.getFluid(100L), - GT_ModHandler.getModItem(Forestry.ID, "propolis", 1L, 0), + GTModHandler.getModItem(Forestry.ID, "propolis", 1L, 0), 3000, 8); RecipeManagers.squeezerManager.addRecipe( 40, new ItemStack[] { tDrop }, Materials.OilHeavy.getFluid(100L), - GT_ModHandler.getModItem(Forestry.ID, "propolis", 1L, 0), + GTModHandler.getModItem(Forestry.ID, "propolis", 1L, 0), 30); tDrop = getStackForType(DropType.COOLANT); addProcessLV( tDrop, new FluidStack(FluidRegistry.getFluid("ic2coolant"), 100), - GT_ModHandler.getModItem(MagicBees.ID, "propolis", 1L, 0), + GTModHandler.getModItem(MagicBees.ID, "propolis", 1L, 0), 3000, 8); RecipeManagers.squeezerManager.addRecipe( 40, new ItemStack[] { tDrop }, new FluidStack(FluidRegistry.getFluid("ic2coolant"), 100), - GT_ModHandler.getModItem(MagicBees.ID, "propolis", 1L, 0), + GTModHandler.getModItem(MagicBees.ID, "propolis", 1L, 0), 30); tDrop = getStackForType(DropType.HOT_COOLANT); addProcessLV( tDrop, new FluidStack(FluidRegistry.getFluid("ic2hotcoolant"), 100), - GT_ModHandler.getModItem(MagicBees.ID, "propolis", 1L, 2), + GTModHandler.getModItem(MagicBees.ID, "propolis", 1L, 2), 3000, 8); RecipeManagers.squeezerManager.addRecipe( 40, new ItemStack[] { tDrop }, new FluidStack(FluidRegistry.getFluid("ic2hotcoolant"), 100), - GT_ModHandler.getModItem(MagicBees.ID, "propolis", 1L, 2), + GTModHandler.getModItem(MagicBees.ID, "propolis", 1L, 2), 30); tDrop = getStackForType(DropType.SNOW_QUEEN); addProcessMV( tDrop, Materials.FierySteel.getFluid(200L), - GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.SnowQueenBloodDrop", 1L, 0), + GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.SnowQueenBloodDrop", 1L, 0), 1500, 48); tDrop = getStackForType(DropType.LAPIS); addProcessLV( tDrop, new FluidStack(FluidRegistry.getFluid("ic2coolant"), 200), - GT_ModHandler.getModItem(MagicBees.ID, "propolis", 1L, 3), + GTModHandler.getModItem(MagicBees.ID, "propolis", 1L, 3), 5000, 1200, 2); @@ -164,20 +164,20 @@ public class ItemDrop extends Item { 400, new ItemStack[] { tDrop }, new FluidStack(FluidRegistry.getFluid("ic2coolant"), 100), - GT_ModHandler.getModItem(MagicBees.ID, "propolis", 1L, 3), + GTModHandler.getModItem(MagicBees.ID, "propolis", 1L, 3), 30); tDrop = getStackForType(DropType.HYDRA); addProcessMV( tDrop, Materials.FierySteel.getFluid(50L), - GT_ModHandler.getModItem(MagicBees.ID, "propolis", 1L, 2), + GTModHandler.getModItem(MagicBees.ID, "propolis", 1L, 2), 3000, 8); tDrop = getStackForType(DropType.OXYGEN); addProcessLV( tDrop, new FluidStack(FluidRegistry.getFluid("liquidoxygen"), 100), - GT_ModHandler.getModItem(ExtraBees.ID, "propolis", 1L, 2), + GTModHandler.getModItem(ExtraBees.ID, "propolis", 1L, 2), 250, 1200, 8); @@ -185,15 +185,15 @@ public class ItemDrop extends Item { 400, new ItemStack[] { tDrop }, new FluidStack(FluidRegistry.getFluid("ic2coolant"), 100), - GT_ModHandler.getModItem(ExtraBees.ID, "propolis", 1L, 2), + GTModHandler.getModItem(ExtraBees.ID, "propolis", 1L, 2), 30); tDrop = getStackForType(DropType.ENDERGOO); if (HardcoreEnderExpansion.isModLoaded()) - addProcessHV(tDrop, new FluidStack(FluidRegistry.getFluid("endergoo"), 500), GT_Values.NI, 1000); + addProcessHV(tDrop, new FluidStack(FluidRegistry.getFluid("endergoo"), 500), GTValues.NI, 1000); } public void addProcessLV(ItemStack tDrop, FluidStack aOutput, ItemStack aOutput2, int aChance, int aEUt) { - GT_Values.RA.stdBuilder() + GTValues.RA.stdBuilder() .itemInputs(tDrop) .itemOutputs(aOutput2) .outputChances(aChance) @@ -205,7 +205,7 @@ public class ItemDrop extends Item { public void addProcessLV(ItemStack tDrop, FluidStack aOutput, ItemStack aOutput2, int aChance, int aDuration, int aEUt) { - GT_Values.RA.stdBuilder() + GTValues.RA.stdBuilder() .itemInputs(tDrop) .itemOutputs(aOutput2) .outputChances(aChance) @@ -216,7 +216,7 @@ public class ItemDrop extends Item { } public void addProcessMV(ItemStack tDrop, FluidStack aOutput, ItemStack aOutput2, int aChance, int aEUt) { - GT_Values.RA.stdBuilder() + GTValues.RA.stdBuilder() .itemInputs(tDrop) .itemOutputs(aOutput2) .outputChances(aChance) @@ -227,9 +227,9 @@ public class ItemDrop extends Item { } public void addProcessHV(ItemStack tDrop, FluidStack aOutput, ItemStack aOutput2, int aChance) { - GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder(); + GTRecipeBuilder recipeBuilder = GTValues.RA.stdBuilder(); recipeBuilder.itemInputs(tDrop); - if (aOutput2 != GT_Values.NI) { + if (aOutput2 != GTValues.NI) { recipeBuilder.itemOutputs(aOutput2) .outputChances(aChance); } diff --git a/src/main/java/gregtech/common/items/ItemFluidDisplay.java b/src/main/java/gregtech/common/items/ItemFluidDisplay.java new file mode 100644 index 0000000000..7063a7e1f3 --- /dev/null +++ b/src/main/java/gregtech/common/items/ItemFluidDisplay.java @@ -0,0 +1,181 @@ +package gregtech.common.items; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Stream; + +import net.minecraft.client.Minecraft; +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.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.oredict.OreDictionary; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.items.GTGenericItem; +import gregtech.api.util.GTUtility; + +public class ItemFluidDisplay extends GTGenericItem { + + private static final Map sFluidTooltips = new HashMap<>(); + + public ItemFluidDisplay() { + super("GregTech_FluidDisplay", "Fluid Display", null); + ItemList.Display_Fluid.set(this); + } + + @Override + protected void addAdditionalToolTips(List aList, ItemStack aStack, EntityPlayer aPlayer) { + if (FluidRegistry.getFluid(aStack.getItemDamage()) != null) { + String tChemicalFormula = getChemicalFormula( + new FluidStack(FluidRegistry.getFluid(aStack.getItemDamage()), 1)); + if (!tChemicalFormula.isEmpty()) + aList.add(EnumChatFormatting.YELLOW + tChemicalFormula + EnumChatFormatting.RESET); + } + NBTTagCompound aNBT = aStack.getTagCompound(); + if (GTValues.D1 || Minecraft.getMinecraft().gameSettings.advancedItemTooltips) { + Fluid tFluid = FluidRegistry.getFluid(aStack.getItemDamage()); + if (tFluid != null) { + aList.add("Registry: " + tFluid.getName()); + } + } + if (aNBT != null) { + long tToolTipAmount = aNBT.getLong("mFluidDisplayAmount"); + if (tToolTipAmount > 0L) { + aList.add( + EnumChatFormatting.BLUE + "Amount: " + + GTUtility.formatNumbers(tToolTipAmount) + + " L" + + EnumChatFormatting.GRAY); + } + aList.add( + EnumChatFormatting.RED + "Temperature: " + + GTUtility.formatNumbers(aNBT.getLong("mFluidDisplayHeat")) + + " K" + + EnumChatFormatting.GRAY); + aList.add( + EnumChatFormatting.GREEN + + String.format(transItem("018", "State: %s"), aNBT.getBoolean("mFluidState") ? "Gas" : "Liquid") + + EnumChatFormatting.GRAY); + } + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister aIconRegister) {} + + @Override + public IIcon getIconFromDamage(int aMetaData) { + return Stream.of(FluidRegistry.getFluid(aMetaData), FluidRegistry.WATER) + .filter(Objects::nonNull) + .map(Fluid::getStillIcon) + .filter(Objects::nonNull) + .findFirst() + .orElseThrow(IllegalStateException::new); + } + + @Override + @SideOnly(Side.CLIENT) + public int getColorFromItemStack(ItemStack aStack, int aRenderPass) { + Fluid tFluid = FluidRegistry.getFluid(aStack.getItemDamage()); + return tFluid == null ? 16777215 : tFluid.getColor(); + } + + @Override + public int getSpriteNumber() { + return 0; + } + + @Override + public String getUnlocalizedName(ItemStack aStack) { + if (aStack != null) { + return GTUtility.getFluidName(FluidRegistry.getFluid(aStack.getItemDamage()), false); + } + return ""; + } + + @Override + public String getItemStackDisplayName(ItemStack aStack) { + if (aStack != null) { + return GTUtility.getFluidName(FluidRegistry.getFluid(aStack.getItemDamage()), true); + } + return ""; + } + + @SideOnly(Side.CLIENT) + public static String getChemicalFormula(FluidStack aRealFluid) { + return sFluidTooltips.computeIfAbsent(aRealFluid.getFluid(), fluid -> { + for (ItemStack tContainer : GTUtility.getContainersFromFluid(aRealFluid)) { + if (isCell(tContainer)) { + Materials tMaterial = getMaterialFromCell(tContainer); + if (!tMaterial.equals(Materials._NULL)) { + if (tMaterial.mChemicalFormula.equals("?")) { + return ""; + } else { + return tMaterial.mChemicalFormula; + } + } else { + // For GT++ Fluid Display + // GT++ didn't register a Material in GT, so I have too find the Chemical Formula in its cell's + // tooltip + List tTooltip = tContainer.getTooltip(null, true); + for (String tInfo : tTooltip) { + if (!tInfo.contains(" ") && !tInfo.contains(":") && tTooltip.indexOf(tInfo) != 0) { + return tInfo; + } + } + } + } + } + return ""; + }); + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(Item aItem, CreativeTabs aTab, List aList) { + if (GTValues.D1) { + int i = 0; + for (int j = FluidRegistry.getMaxID(); i < j; i++) { + ItemStack tStack = GTUtility.getFluidDisplayStack(FluidRegistry.getFluid(i)); + if (tStack != null) { + aList.add(tStack); + } + } + } + } + + public static boolean isCell(ItemStack tItemStack) { + for (int tOreDict : OreDictionary.getOreIDs(tItemStack)) { + String tOreDictName = OreDictionary.getOreName(tOreDict); + if (tOreDictName.startsWith("cell")) return true; + } + return false; + } + + public static Materials getMaterialFromCell(ItemStack tItemStack) { + for (int tOreDict : OreDictionary.getOreIDs(tItemStack)) { + String tOreDictName = OreDictionary.getOreName(tOreDict); + if (tOreDictName.startsWith("cell")) { + return Materials.getRealMaterial( + tOreDictName.replace("cell", "") + .replace("Molten", "") + .replace("Plasma", "")); + } + } + return Materials._NULL; + } +} diff --git a/src/main/java/gregtech/common/items/ItemIntegratedCircuit.java b/src/main/java/gregtech/common/items/ItemIntegratedCircuit.java new file mode 100644 index 0000000000..b6dfa079a2 --- /dev/null +++ b/src/main/java/gregtech/common/items/ItemIntegratedCircuit.java @@ -0,0 +1,327 @@ +package gregtech.common.items; + +import static gregtech.GTMod.GT_FML_LOGGER; +import static gregtech.api.enums.Mods.GregTech; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.function.BiFunction; +import java.util.function.Predicate; + +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.util.ChatComponentText; +import net.minecraft.util.ChatComponentTranslation; +import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import net.minecraftforge.common.util.Constants; +import net.minecraftforge.common.util.FakePlayer; + +import org.apache.commons.lang3.tuple.Pair; + +import com.gtnewhorizons.modularui.api.UIInfos; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gregtech.api.GregTechAPI; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.interfaces.INetworkUpdatableItem; +import gregtech.api.items.GTGenericItem; +import gregtech.api.net.GTPacketUpdateItem; +import gregtech.api.objects.XSTR; +import gregtech.api.util.GTConfig; +import gregtech.api.util.GTLanguageManager; +import gregtech.api.util.GTLog; +import gregtech.api.util.GTModHandler; +import gregtech.api.util.GTUtility; +import gregtech.common.gui.modularui.uifactory.SelectItemUIFactory; + +public class ItemIntegratedCircuit extends GTGenericItem implements INetworkUpdatableItem { + + private static final String aTextEmptyRow = " "; + private static final List ALL_VARIANTS = new ArrayList<>(); + protected final IIcon[] mIconDamage = new IIcon[25]; + + public ItemIntegratedCircuit() { + super("integrated_circuit", "Programmed Circuit", ""); + setHasSubtypes(true); + setMaxDamage(0); + + ItemList.Circuit_Integrated.set(this); + + ALL_VARIANTS.add(new ItemStack(this, 0, 0)); + for (int i = 1; i <= 24; i++) { + ItemStack aStack = new ItemStack(this, 0, i); + GregTechAPI.registerConfigurationCircuit(aStack, 1); + ALL_VARIANTS.add(aStack); + } + + GTModHandler.addShapelessCraftingRecipe( + ItemList.Circuit_Integrated.getWithDamage(1L, 0L), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { OrePrefixes.circuit.get(Materials.LV) }); + long bits = GTModHandler.RecipeBits.BUFFERED | GTModHandler.RecipeBits.NOT_REMOVABLE; + GTModHandler.addCraftingRecipe( + ItemList.Circuit_Integrated.getWithDamage(1L, 1L), + bits, + new Object[] { "d ", " P ", aTextEmptyRow, 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); + GTModHandler.addCraftingRecipe( + ItemList.Circuit_Integrated.getWithDamage(1L, 2L), + bits, + new Object[] { " d ", " P ", aTextEmptyRow, 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); + GTModHandler.addCraftingRecipe( + ItemList.Circuit_Integrated.getWithDamage(1L, 3L), + bits, + new Object[] { " d", " P ", aTextEmptyRow, 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); + GTModHandler.addCraftingRecipe( + ItemList.Circuit_Integrated.getWithDamage(1L, 4L), + bits, + new Object[] { aTextEmptyRow, " Pd", aTextEmptyRow, 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); + GTModHandler.addCraftingRecipe( + ItemList.Circuit_Integrated.getWithDamage(1L, 5L), + bits, + new Object[] { aTextEmptyRow, " P ", " d", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); + GTModHandler.addCraftingRecipe( + ItemList.Circuit_Integrated.getWithDamage(1L, 6L), + bits, + new Object[] { aTextEmptyRow, " P ", " d ", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); + GTModHandler.addCraftingRecipe( + ItemList.Circuit_Integrated.getWithDamage(1L, 7L), + bits, + new Object[] { aTextEmptyRow, " P ", "d ", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); + GTModHandler.addCraftingRecipe( + ItemList.Circuit_Integrated.getWithDamage(1L, 8L), + bits, + new Object[] { aTextEmptyRow, "dP ", aTextEmptyRow, 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); + + GTModHandler.addCraftingRecipe( + ItemList.Circuit_Integrated.getWithDamage(1L, 9L), + bits, + new Object[] { "P d", aTextEmptyRow, aTextEmptyRow, 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); + GTModHandler.addCraftingRecipe( + ItemList.Circuit_Integrated.getWithDamage(1L, 10L), + bits, + new Object[] { "P ", " d", aTextEmptyRow, 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); + GTModHandler.addCraftingRecipe( + ItemList.Circuit_Integrated.getWithDamage(1L, 11L), + bits, + new Object[] { "P ", aTextEmptyRow, " d", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); + GTModHandler.addCraftingRecipe( + ItemList.Circuit_Integrated.getWithDamage(1L, 12L), + bits, + new Object[] { "P ", aTextEmptyRow, " d ", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); + GTModHandler.addCraftingRecipe( + ItemList.Circuit_Integrated.getWithDamage(1L, 13L), + bits, + new Object[] { " P", aTextEmptyRow, " d", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); + GTModHandler.addCraftingRecipe( + ItemList.Circuit_Integrated.getWithDamage(1L, 14L), + bits, + new Object[] { " P", aTextEmptyRow, " d ", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); + GTModHandler.addCraftingRecipe( + ItemList.Circuit_Integrated.getWithDamage(1L, 15L), + bits, + new Object[] { " P", aTextEmptyRow, "d ", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); + GTModHandler.addCraftingRecipe( + ItemList.Circuit_Integrated.getWithDamage(1L, 16L), + bits, + new Object[] { " P", "d ", aTextEmptyRow, 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); + GTModHandler.addCraftingRecipe( + ItemList.Circuit_Integrated.getWithDamage(1L, 17L), + bits, + new Object[] { aTextEmptyRow, aTextEmptyRow, "d P", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); + GTModHandler.addCraftingRecipe( + ItemList.Circuit_Integrated.getWithDamage(1L, 18L), + bits, + new Object[] { aTextEmptyRow, "d ", " P", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); + GTModHandler.addCraftingRecipe( + ItemList.Circuit_Integrated.getWithDamage(1L, 19L), + bits, + new Object[] { "d ", aTextEmptyRow, " P", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); + GTModHandler.addCraftingRecipe( + ItemList.Circuit_Integrated.getWithDamage(1L, 20L), + bits, + new Object[] { " d ", aTextEmptyRow, " P", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); + GTModHandler.addCraftingRecipe( + ItemList.Circuit_Integrated.getWithDamage(1L, 21L), + bits, + new Object[] { "d ", aTextEmptyRow, "P ", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); + GTModHandler.addCraftingRecipe( + ItemList.Circuit_Integrated.getWithDamage(1L, 22L), + bits, + new Object[] { " d ", aTextEmptyRow, "P ", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); + GTModHandler.addCraftingRecipe( + ItemList.Circuit_Integrated.getWithDamage(1L, 23L), + bits, + new Object[] { " d", aTextEmptyRow, "P ", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); + GTModHandler.addCraftingRecipe( + ItemList.Circuit_Integrated.getWithDamage(1L, 24L), + bits, + new Object[] { aTextEmptyRow, " d", "P ", 'P', ItemList.Circuit_Integrated.getWildcard(1L) }); + } + + private static String getModeString(int aMetaData) { + return switch ((byte) (aMetaData >>> 8)) { + case 0 -> "=="; + case 1 -> "<="; + case 2 -> ">="; + case 3 -> "<"; + case 4 -> ">"; + default -> ""; + }; + } + + private static String getConfigurationString(int aMetaData) { + return getModeString(aMetaData) + " " + (byte) (aMetaData & 0xFF); + } + + @Override + public void addAdditionalToolTips(List aList, ItemStack aStack, EntityPlayer aPlayer) { + super.addAdditionalToolTips(aList, aStack, aPlayer); + aList.add( + GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".configuration", "Configuration: ") + + getConfigurationString(getDamage(aStack))); + aList.add( + GTLanguageManager.addStringLocalization(getUnlocalizedName() + ".tooltip.0", "Right click to reconfigure")); + aList.add( + GTLanguageManager.addStringLocalization( + getUnlocalizedName() + ".tooltip.1", + "Needs a screwdriver or circuit programming tool")); + } + + @Override + public String getUnlocalizedName(ItemStack aStack) { + return getUnlocalizedName(); + } + + @Override + @SideOnly(Side.CLIENT) + public final void getSubItems(Item aItem, CreativeTabs aCreativeTab, List aList) { + aList.add(new ItemStack(this, 1, 0)); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister aIconRegister) { + super.registerIcons(aIconRegister); + for (int i = 0; i < mIconDamage.length; i++) { + mIconDamage[i] = aIconRegister + .registerIcon(GregTech.getResourcePath(GTConfig.troll ? "troll" : getUnlocalizedName() + "/" + i)); + } + if (GregTechAPI.sPostloadFinished) { + GTLog.out.println("GTMod: Starting Item Icon Load Phase"); + GT_FML_LOGGER.info("GTMod: Starting Item Icon Load Phase"); + GregTechAPI.sItemIcons = aIconRegister; + try { + for (Runnable tRunnable : GregTechAPI.sGTItemIconload) { + tRunnable.run(); + } + } catch (Throwable e) { + e.printStackTrace(GTLog.err); + } + GTLog.out.println("GTMod: Finished Item Icon Load Phase"); + GT_FML_LOGGER.info("GTMod: Finished Item Icon Load Phase"); + } + } + + @Override + public IIcon getIconFromDamage(int aMetaData) { + byte circuitMode = ((byte) (aMetaData & 0xFF)); // Mask out the MSB Comparison Mode Bits. See: getModeString + return mIconDamage[circuitMode < mIconDamage.length ? circuitMode : 0]; + } + + @Override + public boolean receive(ItemStack stack, EntityPlayerMP player, NBTTagCompound tag) { + int meta = tag.hasKey("meta", Constants.NBT.TAG_BYTE) ? tag.getByte("meta") : -1; + if (meta < 0 || meta > 24) return true; + + if (!player.capabilities.isCreativeMode) { + Pair> toolIndex = findConfiguratorInInv(player); + if (toolIndex == null) return true; + + ItemStack[] mainInventory = player.inventory.mainInventory; + mainInventory[toolIndex.getKey()] = toolIndex.getValue() + .apply(mainInventory[toolIndex.getKey()], player); + } + stack.setItemDamage(meta); + + return true; + } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + // nothing on server side or fake player + if (player instanceof FakePlayer || !world.isRemote) return stack; + // check if any screwdriver + ItemStack configuratorStack; + if (player.capabilities.isCreativeMode) { + configuratorStack = null; + } else { + Pair configurator = findConfiguratorInInv(player); + if (configurator == null) { + int count; + try { + count = Integer + .parseInt(StatCollector.translateToLocal("GT5U.item.programmed_circuit.no_screwdriver.count")); + } catch (NumberFormatException e) { + player.addChatComponentMessage( + new ChatComponentText( + "Error in translation GT5U.item.programmed_circuit.no_screwdriver.count: " + + e.getMessage())); + count = 1; + } + player.addChatComponentMessage( + new ChatComponentTranslation( + "GT5U.item.programmed_circuit.no_screwdriver." + XSTR.XSTR_INSTANCE.nextInt(count))); + return stack; + } + configuratorStack = player.inventory.mainInventory[configurator.getKey()]; + } + openSelectorGui(configuratorStack, stack.getItemDamage(), player); + return stack; + } + + private void openSelectorGui(ItemStack configurator, int meta, EntityPlayer player) { + UIInfos.openClientUI( + player, + buildContext -> new SelectItemUIFactory( + StatCollector.translateToLocal("GT5U.item.programmed_circuit.select.header"), + configurator, + ItemIntegratedCircuit::onConfigured, + ALL_VARIANTS, + meta, + true).createWindow(buildContext)); + } + + private static void onConfigured(ItemStack stack) { + NBTTagCompound tag = new NBTTagCompound(); + tag.setByte("meta", (byte) stack.getItemDamage()); + GTValues.NW.sendToServer(new GTPacketUpdateItem(tag)); + } + + private static Pair> findConfiguratorInInv( + EntityPlayer player) { + ItemStack[] mainInventory = player.inventory.mainInventory; + for (int j = 0, mainInventoryLength = mainInventory.length; j < mainInventoryLength; j++) { + ItemStack toolStack = mainInventory[j]; + + if (!GTUtility.isStackValid(toolStack)) continue; + + for (Map.Entry, BiFunction> p : GregTechAPI.sCircuitProgrammerList + .entrySet()) + if (p.getKey() + .test(toolStack)) return Pair.of(j, p.getValue()); + } + return null; + } +} diff --git a/src/main/java/gregtech/common/items/ItemNeutronReflector.java b/src/main/java/gregtech/common/items/ItemNeutronReflector.java new file mode 100644 index 0000000000..215bc19c59 --- /dev/null +++ b/src/main/java/gregtech/common/items/ItemNeutronReflector.java @@ -0,0 +1,54 @@ +package gregtech.common.items; + +import net.minecraft.item.ItemStack; + +import gregtech.api.items.GTGenericItem; +import ic2.api.reactor.IReactor; +import ic2.api.reactor.IReactorComponent; + +public class ItemNeutronReflector extends GTGenericItem implements IReactorComponent { + + public ItemNeutronReflector(String aUnlocalized, String aEnglish, int aMaxDamage) { + super(aUnlocalized, aEnglish, "Undestructable"); + this.setMaxStackSize(64); + this.setMaxDamage(aMaxDamage); + } + + @Override + public boolean acceptUraniumPulse(IReactor reactor, ItemStack yourStack, ItemStack pulsingStack, int youX, int youY, + int pulseX, int pulseY, boolean heatrun) { + if (!heatrun) { + ((IReactorComponent) pulsingStack.getItem()) + .acceptUraniumPulse(reactor, pulsingStack, yourStack, pulseX, pulseY, youX, youY, heatrun); + } + return true; + } + + @Override + public boolean canStoreHeat(IReactor aReactor, ItemStack aStack, int x, int y) { + return false; + } + + @Override + public int getMaxHeat(IReactor aReactor, ItemStack aStack, int x, int y) { + return 0; + } + + @Override + public int getCurrentHeat(IReactor aReactor, ItemStack aStack, int x, int y) { + return 0; + } + + @Override + public float influenceExplosion(IReactor aReactor, ItemStack aStack) { + return -1.0F; + } + + @Override + public int alterHeat(IReactor aReactor, ItemStack aStack, int x, int y, int aHeat) { + return aHeat; + } + + @Override + public void processChamber(IReactor aReactor, ItemStack aStack, int x, int y, boolean aHeatRun) {} +} diff --git a/src/main/java/gregtech/common/items/ItemPropolis.java b/src/main/java/gregtech/common/items/ItemPropolis.java index 1c0d727bda..2b4f3c3905 100644 --- a/src/main/java/gregtech/common/items/ItemPropolis.java +++ b/src/main/java/gregtech/common/items/ItemPropolis.java @@ -4,8 +4,8 @@ import static gregtech.api.enums.Mods.GregTech; import static gregtech.api.enums.Mods.HardcoreEnderExpansion; import static gregtech.api.enums.Mods.NewHorizonsCoreMod; import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; -import static gregtech.api.util.GT_RecipeBuilder.SECONDS; -import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; +import static gregtech.api.util.GTRecipeBuilder.TICKS; import java.util.List; @@ -20,12 +20,12 @@ import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.core.Tabs; -import gregtech.api.enums.GT_Values; +import gregtech.api.enums.GTValues; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TierEU; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GTModHandler; +import gregtech.api.util.GTOreDictUnificator; public class ItemPropolis extends Item { @@ -85,29 +85,29 @@ public class ItemPropolis extends Item { ItemStack tPropolis; tPropolis = getStackForType(PropolisType.End); - addProcessHV(tPropolis, GT_ModHandler.getModItem(HardcoreEnderExpansion.ID, "end_powder", 1, 0)); + addProcessHV(tPropolis, GTModHandler.getModItem(HardcoreEnderExpansion.ID, "end_powder", 1, 0)); tPropolis = getStackForType(PropolisType.Stardust); - addProcessHV(tPropolis, GT_ModHandler.getModItem(HardcoreEnderExpansion.ID, "stardust", 1, 0)); + addProcessHV(tPropolis, GTModHandler.getModItem(HardcoreEnderExpansion.ID, "stardust", 1, 0)); tPropolis = getStackForType(PropolisType.Ectoplasma); - addProcessEV(tPropolis, GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.EctoplasmaChip", 1, 0)); + addProcessEV(tPropolis, GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.EctoplasmaChip", 1, 0)); tPropolis = getStackForType(PropolisType.Arcaneshard); - addProcessEV(tPropolis, GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.ArcaneShardChip", 1, 0)); + addProcessEV(tPropolis, GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.ArcaneShardChip", 1, 0)); tPropolis = getStackForType(PropolisType.Dragonessence); - addProcessIV(tPropolis, GT_ModHandler.getModItem(HardcoreEnderExpansion.ID, "essence", 16, 0)); + addProcessIV(tPropolis, GTModHandler.getModItem(HardcoreEnderExpansion.ID, "essence", 16, 0)); tPropolis = getStackForType(PropolisType.Enderman); - addProcessIV(tPropolis, GT_ModHandler.getModItem(HardcoreEnderExpansion.ID, "enderman_head", 1, 0)); + addProcessIV(tPropolis, GTModHandler.getModItem(HardcoreEnderExpansion.ID, "enderman_head", 1, 0)); tPropolis = getStackForType(PropolisType.Silverfish); - addProcessEV(tPropolis, GT_ModHandler.getModItem(HardcoreEnderExpansion.ID, "silverfish_blood", 1, 0)); + addProcessEV(tPropolis, GTModHandler.getModItem(HardcoreEnderExpansion.ID, "silverfish_blood", 1, 0)); tPropolis = getStackForType(PropolisType.Endium); - addProcessHV(tPropolis, GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.HeeEndium, 1)); + addProcessHV(tPropolis, GTOreDictUnificator.get(OrePrefixes.dustSmall, Materials.HeeEndium, 1)); tPropolis = getStackForType(PropolisType.Fireessence); - addProcessIV(tPropolis, GT_ModHandler.getModItem(HardcoreEnderExpansion.ID, "essence", 16, 1)); + addProcessIV(tPropolis, GTModHandler.getModItem(HardcoreEnderExpansion.ID, "essence", 16, 1)); // addRecipe(tDrop, aOutput, aOutput2, aChance, aDuration, aEUt); } public void addProcessHV(ItemStack tPropolis, ItemStack aOutput2) { - GT_Values.RA.stdBuilder() + GTValues.RA.stdBuilder() .itemInputs(tPropolis) .itemOutputs(aOutput2) .outputChances(5000) @@ -118,7 +118,7 @@ public class ItemPropolis extends Item { } public void addProcessEV(ItemStack tPropolis, ItemStack aOutput2) { - GT_Values.RA.stdBuilder() + GTValues.RA.stdBuilder() .itemInputs(tPropolis) .itemOutputs(aOutput2) .outputChances(2500) @@ -129,7 +129,7 @@ public class ItemPropolis extends Item { } public void addProcessIV(ItemStack tPropolis, ItemStack aOutput2) { - GT_Values.RA.stdBuilder() + GTValues.RA.stdBuilder() .itemInputs(tPropolis) .itemOutputs(aOutput2) .outputChances(1500) diff --git a/src/main/java/gregtech/common/items/ItemSensorCard.java b/src/main/java/gregtech/common/items/ItemSensorCard.java new file mode 100644 index 0000000000..39e3d48081 --- /dev/null +++ b/src/main/java/gregtech/common/items/ItemSensorCard.java @@ -0,0 +1,111 @@ +package gregtech.common.items; + +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.UUID; + +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ChunkCoordinates; +import net.minecraft.world.World; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gregtech.api.interfaces.tileentity.IGregTechDeviceInformation; +import gregtech.api.items.GTGenericItem; +import gregtech.api.util.GTLanguageManager; +import shedar.mods.ic2.nuclearcontrol.api.CardState; +import shedar.mods.ic2.nuclearcontrol.api.ICardWrapper; +import shedar.mods.ic2.nuclearcontrol.api.IPanelDataSource; +import shedar.mods.ic2.nuclearcontrol.api.IRemoteSensor; +import shedar.mods.ic2.nuclearcontrol.api.PanelSetting; +import shedar.mods.ic2.nuclearcontrol.api.PanelString; + +public class ItemSensorCard extends GTGenericItem implements IRemoteSensor, IPanelDataSource { + + private static final UUID CARD_TYPE = new UUID(0L, 41L); + + private int strCount; + + public ItemSensorCard(String aUnlocalized, String aEnglish) { + super(aUnlocalized, aEnglish, "Insert into Display Panel"); + setMaxStackSize(1); + } + + @Override + public void addAdditionalToolTips(List aList, ItemStack aStack, EntityPlayer aPlayer) { + super.addAdditionalToolTips(aList, aStack, aPlayer); + if (aStack != null) { + NBTTagCompound tNBT = aStack.getTagCompound(); + if (tNBT == null) { + aList.add(transItem("014", "Missing Coordinates!")); + } else { + aList.add(transItem("015", "Device at:")); + aList.add( + String.format( + "x: %d, y: %d, z: %d", + tNBT.getInteger("x"), + tNBT.getInteger("y"), + tNBT.getInteger("z"))); + } + } + } + + @Override + public CardState update(TileEntity aPanel, ICardWrapper aCard, int aMaxRange) { + return update(aPanel.getWorldObj(), aCard, aMaxRange); + } + + @Override + public CardState update(World world, ICardWrapper aCard, int aMaxRange) { + ChunkCoordinates target = aCard.getTarget(); + + TileEntity tTileEntity = world.getTileEntity(target.posX, target.posY, target.posZ); + if (((tTileEntity instanceof IGregTechDeviceInformation)) + && (((IGregTechDeviceInformation) tTileEntity).isGivingInformation())) { + String[] tInfoData = ((IGregTechDeviceInformation) tTileEntity).getInfoData(); + for (int i = 0; i < tInfoData.length; i++) { + aCard.setString("mString" + i, tInfoData[i]); + } + aCard.setInt("mString", strCount = tInfoData.length); + return CardState.OK; + } + return CardState.NO_TARGET; + } + + @Override + public List getStringData(int aSettings, ICardWrapper aCard, boolean aLabels) { + List rList = new LinkedList<>(); + for (int i = 0; i < (strCount = aCard.getInt("mString")); i++) { + if ((aSettings & 1 << i) != 0) { + PanelString line = new PanelString(); + line.textLeft = GTLanguageManager.getTranslation(aCard.getString("mString" + i), "\\\\"); + rList.add(line); + } + } + return rList; + } + + @Override + public List getSettingsList() { + List rList = new ArrayList<>(); + for (int i = 0; i < strCount; i++) { + rList.add(new PanelSetting(String.valueOf((i + 1)), 1 << i, getCardType())); + } + return rList; + } + + @Override + public UUID getCardType() { + return CARD_TYPE; + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(Item aItem, CreativeTabs aCreativeTab, List aOutputSubItems) {} +} diff --git a/src/main/java/gregtech/common/items/ItemTierDrone.java b/src/main/java/gregtech/common/items/ItemTierDrone.java new file mode 100644 index 0000000000..1df4f0024d --- /dev/null +++ b/src/main/java/gregtech/common/items/ItemTierDrone.java @@ -0,0 +1,18 @@ +package gregtech.common.items; + +import gregtech.api.items.GTGenericItem; + +public class ItemTierDrone extends GTGenericItem { + + private final int level; + + public ItemTierDrone(String aUnlocalized, String aEnglish, String aEnglishTooltip, int level) { + super(aUnlocalized, aEnglish, aEnglishTooltip); + this.level = level; + this.setMaxStackSize(64); + } + + public int getLevel() { + return level; + } +} diff --git a/src/main/java/gregtech/common/items/ItemVolumetricFlask.java b/src/main/java/gregtech/common/items/ItemVolumetricFlask.java new file mode 100644 index 0000000000..a48dce38e0 --- /dev/null +++ b/src/main/java/gregtech/common/items/ItemVolumetricFlask.java @@ -0,0 +1,360 @@ +package gregtech.common.items; + +import static gregtech.api.enums.Mods.GregTech; +import static gregtech.api.util.GTUtility.formatNumbers; +import static ic2.core.util.LiquidUtil.drainContainerStack; +import static ic2.core.util.LiquidUtil.fillContainerStack; +import static ic2.core.util.LiquidUtil.placeFluid; + +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.MovingObjectPosition.MovingObjectType; +import net.minecraft.world.World; +import net.minecraftforge.common.util.FakePlayer; +import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.IFluidBlock; +import net.minecraftforge.fluids.IFluidContainerItem; +import net.minecraftforge.fluids.IFluidHandler; + +import com.gtnewhorizons.modularui.api.ModularUITextures; +import com.gtnewhorizons.modularui.api.math.Alignment; +import com.gtnewhorizons.modularui.api.math.Color; +import com.gtnewhorizons.modularui.api.screen.IItemWithModularUI; +import com.gtnewhorizons.modularui.api.screen.ModularWindow; +import com.gtnewhorizons.modularui.api.screen.UIBuildContext; +import com.gtnewhorizons.modularui.common.widget.TextWidget; +import com.gtnewhorizons.modularui.common.widget.VanillaButtonWidget; +import com.gtnewhorizons.modularui.common.widget.textfield.NumericWidget; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gregtech.api.gui.modularui.GTUIInfos; +import gregtech.api.gui.modularui.GTUITextures; +import gregtech.api.items.GTGenericItem; +import gregtech.api.util.GTUtility; +import ic2.core.util.LiquidUtil; + +public class ItemVolumetricFlask extends GTGenericItem implements IFluidContainerItem, IItemWithModularUI { + + private final int maxCapacity; + private final String unlocalFlaskName; + + @SideOnly(Side.CLIENT) + public IIcon iconWindow; + + public ItemVolumetricFlask(String unlocalized, String english, int maxCapacity) { + super(unlocalized, english, null); + this.maxCapacity = maxCapacity; + unlocalFlaskName = unlocalized; + setMaxStackSize(64); + setNoRepair(); + } + + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + if (!world.isRemote && isEmpty(stack) && getMovingObjectPositionFromPlayer(world, player, true) == null) + GTUIInfos.openPlayerHeldItemUI(player); + return super.onItemRightClick(stack, world, player); + } + + @Override + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int ordinalSide, + float xOffset, float yOffset, float zOffset) { + if (player instanceof FakePlayer) { + return false; + } + if (world.isRemote) return false; + if (interactWithTank(stack, player, world, x, y, z, ordinalSide)) { + return true; + } + MovingObjectPosition mop = getMovingObjectPositionFromPlayer(world, player, true); + if (mop == null) { + return false; + } + if (mop.typeOfHit == MovingObjectType.BLOCK) { + x = mop.blockX; + y = mop.blockY; + z = mop.blockZ; + if (!world.canMineBlock(player, x, y, z) || !player.canPlayerEdit(x, y, z, mop.sideHit, stack)) { + return false; + } + if (collectFluidBlock(stack, player, world, x, y, z)) { + return true; + } + ForgeDirection dir = ForgeDirection.VALID_DIRECTIONS[mop.sideHit]; + FluidStack fluidStack = drainContainerStack(stack, player, 1000, true); + if (placeFluid(fluidStack, world, x, y, z) + || (player.canPlayerEdit(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, mop.sideHit, stack) + && placeFluid(fluidStack, world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ))) { + if (!player.capabilities.isCreativeMode) drainContainerStack(stack, player, 1000, false); + return true; + } + } + return false; + } + + public boolean isEmpty(ItemStack stack) { + return getFluid(stack) == null; + } + + public int getFreeSpace(ItemStack stack) { + int capacity = getCapacity(stack); + if (capacity > 0) { + FluidStack fluidStack = getFluid(stack); + return fluidStack == null ? capacity : capacity - fluidStack.amount; + } + return 0; + } + + public int getMaxCapacity() { + return this.maxCapacity; + } + + @Override + public int getCapacity(ItemStack stack) { + int capacity = 1000; + if (stack.hasTagCompound()) { + NBTTagCompound nbt = stack.getTagCompound(); + if (nbt.hasKey("Capacity", 3)) capacity = nbt.getInteger("Capacity"); + } + return Math.min(getMaxCapacity(), capacity); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister aIconRegister) { + super.registerIcons(aIconRegister); + iconWindow = aIconRegister.registerIcon(GregTech.getResourcePath("gt." + unlocalFlaskName + ".window")); + } + + public void setCapacity(ItemStack stack, int capacity) { + capacity = Math.min(capacity, getMaxCapacity()); + NBTTagCompound nbt = stack.getTagCompound(); + if (nbt == null) { + stack.setTagCompound(nbt = new NBTTagCompound()); + } + nbt.setInteger("Capacity", capacity); + } + + @Override + public FluidStack getFluid(ItemStack stack) { + if (stack.hasTagCompound()) { + NBTTagCompound nbt = stack.getTagCompound(); + if (nbt.hasKey("Fluid", 10)) return FluidStack.loadFluidStackFromNBT(nbt.getCompoundTag("Fluid")); + } + return null; + } + + public void setFluid(ItemStack stack, FluidStack fluidStack) { + boolean removeFluid = (fluidStack == null) || (fluidStack.amount <= 0); + NBTTagCompound nbt = stack.getTagCompound(); + if (nbt == null) { + if (removeFluid) return; + stack.setTagCompound(nbt = new NBTTagCompound()); + } + if (removeFluid) { + nbt.removeTag("Fluid"); + if (nbt.hasNoTags()) { + stack.setTagCompound(null); + } + } else { + nbt.setTag("Fluid", fluidStack.writeToNBT(new NBTTagCompound())); + } + } + + @Override + public int fill(ItemStack stack, FluidStack resource, boolean doFill) { + if (stack.stackSize != 1) return 0; + if ((resource == null) || (resource.amount <= 0)) { + return 0; + } + FluidStack fluidStack = getFluid(stack); + if (fluidStack == null) { + fluidStack = new FluidStack(resource, 0); + } else if (!fluidStack.isFluidEqual(resource)) { + return 0; + } + int amount = Math.min(getCapacity(stack) - fluidStack.amount, resource.amount); + if ((doFill) && (amount > 0)) { + fluidStack.amount += amount; + setFluid(stack, fluidStack); + } + return amount; + } + + @Override + public FluidStack drain(ItemStack stack, int maxDrain, boolean doDrain) { + if (stack.stackSize != 1) return null; + FluidStack fluidStack = getFluid(stack); + if (fluidStack == null) return null; + maxDrain = Math.min(fluidStack.amount, maxDrain); + if (doDrain) { + fluidStack.amount -= maxDrain; + setFluid(stack, fluidStack); + } + return new FluidStack(fluidStack, maxDrain); + } + + @Override + protected void addAdditionalToolTips(List info, ItemStack stack, EntityPlayer aPlayer) { + FluidStack fs = getFluid(stack); + if (fs != null) { + info.add(String.format("< %s, %s mB >", GTUtility.getFluidName(fs, true), formatNumbers(fs.amount))); + } else { + info.add(String.format("< Empty, %s mB >", formatNumbers(getCapacity(stack)))); + } + info.add("Rightclick on air to set volume (only while empty)"); + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(Item item, CreativeTabs creativeTabs, List itemList) { + itemList.add(new ItemStack(this)); + for (Fluid fluid : FluidRegistry.getRegisteredFluids() + .values()) { + if (fluid != null) { + ItemStack stack = new ItemStack(this); + setCapacity(stack, getMaxCapacity()); + fill(stack, new FluidStack(fluid, Integer.MAX_VALUE), true); + itemList.add(stack); + } + } + } + + private boolean interactWithTank(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, + int ordinalSide) { + if (world.isRemote) { + return false; + } + TileEntity te = world.getTileEntity(x, y, z); + if (!(te instanceof IFluidHandler handler)) { + return false; + } + ForgeDirection dir = ForgeDirection.getOrientation(ordinalSide); + FluidStack fs = this.getFluid(stack); + int capacity = getCapacity(stack); + if (fs != null && (!player.isSneaking() || fs.amount >= capacity)) { + int amount = handler.fill(dir, fs, false); + if (amount > 0) { + fs = LiquidUtil.drainContainerStack(stack, player, amount, false); + if (fs != null && fs.amount > 0) { + handler.fill(dir, fs, true); + } + } + } else { + int amount = fs == null ? capacity : capacity - fs.amount; + FluidStack input = handler.drain(dir, amount, false); + if (input != null && input.amount > 0) { + amount = LiquidUtil.fillContainerStack(stack, player, input, false); + if (amount > 0) { + handler.drain(dir, amount, true); + } + } + } + return true; + } + + private boolean collectFluidBlock(ItemStack stack, EntityPlayer player, World world, int x, int y, int z) { + Block block = world.getBlock(x, y, z); + if (block instanceof IFluidBlock liquid) { + if (liquid.canDrain(world, x, y, z)) { + FluidStack fluid = liquid.drain(world, x, y, z, false); + int amount = fillContainerStack(stack, player, fluid, true); + if (amount == fluid.amount) { + fillContainerStack(stack, player, fluid, false); + liquid.drain(world, x, y, z, true); + return true; + } + } + } else if (world.getBlockMetadata(x, y, z) == 0) { + FluidStack fluid = null; + if (block != Blocks.water && block != Blocks.flowing_water) { + if (block == Blocks.lava || block == Blocks.flowing_lava) { + fluid = new FluidStack(FluidRegistry.LAVA, 1000); + } + } else { + fluid = new FluidStack(FluidRegistry.WATER, 1000); + } + + if (fluid != null) { + int amount = fillContainerStack(stack, player, fluid, true); + if (amount == fluid.amount) { + fillContainerStack(stack, player, fluid, false); + world.setBlockToAir(x, y, z); + return true; + } + } + } + return false; + } + + @Override + public ModularWindow createWindow(UIBuildContext buildContext, ItemStack stack) { + if (!(stack.getItem() instanceof ItemVolumetricFlask)) return null; + return new VolumetricFlaskUIFactory(buildContext, stack).createWindow(); + } + + private class VolumetricFlaskUIFactory { + + private final UIBuildContext buildContext; + private int capacity; + private final int maxCapacity; + + public VolumetricFlaskUIFactory(UIBuildContext buildContext, ItemStack flask) { + this.buildContext = buildContext; + ItemVolumetricFlask flaskItem = (ItemVolumetricFlask) flask.getItem(); + this.capacity = flaskItem.getCapacity(flask); + this.maxCapacity = flaskItem.getMaxCapacity(); + } + + public ModularWindow createWindow() { + ModularWindow.Builder builder = ModularWindow.builder(150, 54); + builder.setBackground(ModularUITextures.VANILLA_BACKGROUND); + + NumericWidget capacityWidget = new NumericWidget(); + builder.widget( + capacityWidget.setGetter(() -> capacity) + .setSetter(value -> setCapacity(getCurrentItem(), capacity = (int) value)) + .setBounds(1, maxCapacity) + .setScrollValues(1, 144, 1000) + .setDefaultValue(capacity) + .setTextColor(Color.WHITE.dark(1)) + .setTextAlignment(Alignment.CenterLeft) + .setFocusOnGuiOpen(true) + .setBackground(GTUITextures.BACKGROUND_TEXT_FIELD.withOffset(-1, -1, 2, 2)) + .setPos(8, 8) + .setSize(77, 12)) + .widget(new TextWidget("Capacity").setPos(88, 10)) + .widget( + new VanillaButtonWidget().setDisplayString("Confirm") + .setOnClick((clickData, widget) -> { + capacityWidget.onRemoveFocus(); + widget.getWindow() + .tryClose(); + }) + .setSynced(false, false) + .setPos(8, 26) + .setSize(48, 20)); + + return builder.build(); + } + + private ItemStack getCurrentItem() { + return buildContext.getPlayer().inventory.getCurrentItem(); + } + } +} diff --git a/src/main/java/gregtech/common/items/ItemWirelessHeadphones.java b/src/main/java/gregtech/common/items/ItemWirelessHeadphones.java new file mode 100644 index 0000000000..4852b0804d --- /dev/null +++ b/src/main/java/gregtech/common/items/ItemWirelessHeadphones.java @@ -0,0 +1,118 @@ +package gregtech.common.items; + +import java.util.List; +import java.util.UUID; + +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ChatComponentTranslation; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; +import net.minecraftforge.common.util.Constants; + +import baubles.api.BaubleType; +import baubles.api.IBauble; +import gregtech.api.enums.ItemList; +import gregtech.api.items.GTGenericItem; +import gregtech.api.metatileentity.BaseMetaTileEntity; +import gregtech.common.tileentities.machines.basic.MTEBetterJukebox; + +public class ItemWirelessHeadphones extends GTGenericItem implements IBauble { + + public static final String NBTKEY_JUKEBOX_COORDINATES = "jukeboxCoords"; + + public ItemWirelessHeadphones() { + super("WirelessHeadphones", "Wireless Headphones", null); + setMaxStackSize(1); + + ItemList.WirelessHeadphones.set(this); + } + + @Override + public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) { + if (aStack == null) { + return; + } + final NBTTagCompound tag = aStack.getTagCompound(); + if (tag == null || !tag.hasKey(NBTKEY_JUKEBOX_COORDINATES, Constants.NBT.TAG_STRING)) { + aList.add(StatCollector.translateToLocal("GT5U.machines.betterjukebox.headphonesunbound")); + } else { + aList.add(StatCollector.translateToLocal("GT5U.machines.betterjukebox.headphonesbound")); + aList.add(tag.getString(NBTKEY_JUKEBOX_COORDINATES)); + } + } + + @Override + public boolean doesSneakBypassUse(World aWorld, int aX, int aY, int aZ, EntityPlayer aPlayer) { + return false; + } + + @Override + public boolean onItemUseFirst(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, + float hitX, float hitY, float hitZ) { + final TileEntity pointedTe = world.getTileEntity(x, y, z); + if (!(pointedTe instanceof BaseMetaTileEntity mte)) { + return false; + } + if (!(mte.getMetaTileEntity() instanceof MTEBetterJukebox jukebox)) { + return false; + } + final UUID uuid = jukebox.jukeboxUuid; + if (uuid == MTEBetterJukebox.UNSET_UUID) { + return false; + } + if (!world.isRemote) { + final NBTTagCompound tag = (stack.getTagCompound() == null) ? new NBTTagCompound() : stack.getTagCompound(); + tag.setLong(MTEBetterJukebox.NBTKEY_UUID_LOW, uuid.getLeastSignificantBits()); + tag.setLong(MTEBetterJukebox.NBTKEY_UUID_HIGH, uuid.getMostSignificantBits()); + tag.setString( + NBTKEY_JUKEBOX_COORDINATES, + String.format("(%d, %d, %d) @ %d", x, y, z, world.provider.dimensionId)); + stack.setTagCompound(tag); + + player.addChatMessage(new ChatComponentTranslation("GT5U.machines.betterjukebox.headphonesbound")); + } + return true; + } + + public static UUID getBoundJukeboxUUID(ItemStack stack) { + if (stack == null || stack.getTagCompound() == null) { + return null; + } + final NBTTagCompound tag = stack.getTagCompound(); + if (!tag.hasKey(MTEBetterJukebox.NBTKEY_UUID_LOW, Constants.NBT.TAG_ANY_NUMERIC) + || !tag.hasKey(MTEBetterJukebox.NBTKEY_UUID_HIGH, Constants.NBT.TAG_ANY_NUMERIC)) { + return null; + } + final long idLow = tag.getLong(MTEBetterJukebox.NBTKEY_UUID_LOW); + final long idHigh = tag.getLong(MTEBetterJukebox.NBTKEY_UUID_HIGH); + return new UUID(idHigh, idLow); + } + + @Override + public BaubleType getBaubleType(ItemStack itemStack) { + return BaubleType.UNIVERSAL; + } + + @Override + public void onWornTick(ItemStack itemStack, EntityLivingBase entityLivingBase) {} + + @Override + public void onEquipped(ItemStack itemStack, EntityLivingBase entityLivingBase) {} + + @Override + public void onUnequipped(ItemStack itemStack, EntityLivingBase entityLivingBase) {} + + @Override + public boolean canEquip(ItemStack itemStack, EntityLivingBase entityLivingBase) { + return true; + } + + @Override + public boolean canUnequip(ItemStack itemStack, EntityLivingBase entityLivingBase) { + return true; + } +} diff --git a/src/main/java/gregtech/common/items/MetaGeneratedItem01.java b/src/main/java/gregtech/common/items/MetaGeneratedItem01.java new file mode 100644 index 0000000000..ab9917435c --- /dev/null +++ b/src/main/java/gregtech/common/items/MetaGeneratedItem01.java @@ -0,0 +1,4624 @@ +package gregtech.common.items; + +import static gregtech.api.enums.Textures.BlockIcons.COVER_WOOD_PLATE; +import static gregtech.api.enums.Textures.BlockIcons.MACHINE_CASINGS; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_ACTIVITYDETECTOR; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_ACTIVITYDETECTOR_GLOW; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_ARM; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_CONTROLLER; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_CONVEYOR; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_CRAFTING; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_DRAIN; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_ENERGYDETECTOR; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FLUIDDETECTOR; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FLUID_STORAGE_MONITOR0; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_ITEMDETECTOR; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_MAINTENANCE_DETECTOR; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_PUMP; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_REDSTONE_RECEIVER; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_REDSTONE_TRANSMITTER; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_SCREEN; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_SCREEN_GLOW; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_SHUTTER; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_VALVE; +import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL; +import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_8V; +import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_EV; +import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_HV; +import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_IV; +import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_LV; +import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_LuV; +import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_MV; +import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_UV; +import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_ZPM; +import static gregtech.client.GTTooltipHandler.Tier.ERV; +import static gregtech.client.GTTooltipHandler.Tier.EV; +import static gregtech.client.GTTooltipHandler.Tier.HV; +import static gregtech.client.GTTooltipHandler.Tier.IV; +import static gregtech.client.GTTooltipHandler.Tier.LV; +import static gregtech.client.GTTooltipHandler.Tier.LuV; +import static gregtech.client.GTTooltipHandler.Tier.MAX; +import static gregtech.client.GTTooltipHandler.Tier.MV; +import static gregtech.client.GTTooltipHandler.Tier.UEV; +import static gregtech.client.GTTooltipHandler.Tier.UHV; +import static gregtech.client.GTTooltipHandler.Tier.UIV; +import static gregtech.client.GTTooltipHandler.Tier.ULV; +import static gregtech.client.GTTooltipHandler.Tier.UMV; +import static gregtech.client.GTTooltipHandler.Tier.UV; +import static gregtech.client.GTTooltipHandler.Tier.UXV; +import static gregtech.client.GTTooltipHandler.Tier.ZPM; +import static gregtech.client.GTTooltipHandler.registerTieredTooltip; +import static gregtech.common.items.IDMetaItem01.BatteryHull_EV; +import static gregtech.common.items.IDMetaItem01.BatteryHull_EV_Full; +import static gregtech.common.items.IDMetaItem01.BatteryHull_IV; +import static gregtech.common.items.IDMetaItem01.BatteryHull_IV_Full; +import static gregtech.common.items.IDMetaItem01.BatteryHull_LuV; +import static gregtech.common.items.IDMetaItem01.BatteryHull_LuV_Full; +import static gregtech.common.items.IDMetaItem01.BatteryHull_UEV; +import static gregtech.common.items.IDMetaItem01.BatteryHull_UEV_Full; +import static gregtech.common.items.IDMetaItem01.BatteryHull_UHV; +import static gregtech.common.items.IDMetaItem01.BatteryHull_UHV_Full; +import static gregtech.common.items.IDMetaItem01.BatteryHull_UIV; +import static gregtech.common.items.IDMetaItem01.BatteryHull_UIV_Full; +import static gregtech.common.items.IDMetaItem01.BatteryHull_UMV; +import static gregtech.common.items.IDMetaItem01.BatteryHull_UMV_Full; +import static gregtech.common.items.IDMetaItem01.BatteryHull_UV; +import static gregtech.common.items.IDMetaItem01.BatteryHull_UV_Full; +import static gregtech.common.items.IDMetaItem01.BatteryHull_UxV; +import static gregtech.common.items.IDMetaItem01.BatteryHull_UxV_Full; +import static gregtech.common.items.IDMetaItem01.BatteryHull_ZPM; +import static gregtech.common.items.IDMetaItem01.BatteryHull_ZPM_Full; +import static gregtech.common.items.IDMetaItem01.Battery_Hull_HV; +import static gregtech.common.items.IDMetaItem01.Battery_Hull_LV; +import static gregtech.common.items.IDMetaItem01.Battery_Hull_MV; +import static gregtech.common.items.IDMetaItem01.Battery_RE_HV_Cadmium; +import static gregtech.common.items.IDMetaItem01.Battery_RE_HV_Lithium; +import static gregtech.common.items.IDMetaItem01.Battery_RE_HV_Sodium; +import static gregtech.common.items.IDMetaItem01.Battery_RE_LV_Cadmium; +import static gregtech.common.items.IDMetaItem01.Battery_RE_LV_Lithium; +import static gregtech.common.items.IDMetaItem01.Battery_RE_LV_Sodium; +import static gregtech.common.items.IDMetaItem01.Battery_RE_MV_Cadmium; +import static gregtech.common.items.IDMetaItem01.Battery_RE_MV_Lithium; +import static gregtech.common.items.IDMetaItem01.Battery_RE_MV_Sodium; +import static gregtech.common.items.IDMetaItem01.Battery_RE_ULV_Tantalum; +import static gregtech.common.items.IDMetaItem01.Battery_SU_HV_Mercury; +import static gregtech.common.items.IDMetaItem01.Battery_SU_HV_Sulfuric_Acid; +import static gregtech.common.items.IDMetaItem01.Battery_SU_LV_Mercury; +import static gregtech.common.items.IDMetaItem01.Battery_SU_LV_Sulfuric_Acid; +import static gregtech.common.items.IDMetaItem01.Battery_SU_MV_Mercury; +import static gregtech.common.items.IDMetaItem01.Battery_SU_MV_Sulfuric_Acid; +import static gregtech.common.items.IDMetaItem01.Black_Hole_Closer; +import static gregtech.common.items.IDMetaItem01.Black_Hole_Opener; +import static gregtech.common.items.IDMetaItem01.Book_Written_01; +import static gregtech.common.items.IDMetaItem01.Book_Written_02; +import static gregtech.common.items.IDMetaItem01.Book_Written_03; +import static gregtech.common.items.IDMetaItem01.Circuit_Advanced; +import static gregtech.common.items.IDMetaItem01.Circuit_Basic; +import static gregtech.common.items.IDMetaItem01.Circuit_Board_Advanced; +import static gregtech.common.items.IDMetaItem01.Circuit_Board_Basic; +import static gregtech.common.items.IDMetaItem01.Circuit_Board_Elite; +import static gregtech.common.items.IDMetaItem01.Circuit_Data; +import static gregtech.common.items.IDMetaItem01.Circuit_Elite; +import static gregtech.common.items.IDMetaItem01.Circuit_Good; +import static gregtech.common.items.IDMetaItem01.Circuit_Master; +import static gregtech.common.items.IDMetaItem01.Circuit_Parts_Advanced; +import static gregtech.common.items.IDMetaItem01.Circuit_Parts_Crystal_Chip_Elite; +import static gregtech.common.items.IDMetaItem01.Circuit_Parts_Crystal_Chip_Master; +import static gregtech.common.items.IDMetaItem01.Circuit_Parts_Crystal_Chip_Wetware; +import static gregtech.common.items.IDMetaItem01.Circuit_Parts_Wiring_Advanced; +import static gregtech.common.items.IDMetaItem01.Circuit_Parts_Wiring_Basic; +import static gregtech.common.items.IDMetaItem01.Circuit_Parts_Wiring_Elite; +import static gregtech.common.items.IDMetaItem01.Circuit_Primitive; +import static gregtech.common.items.IDMetaItem01.Component_Filter; +import static gregtech.common.items.IDMetaItem01.Component_Grinder_Diamond; +import static gregtech.common.items.IDMetaItem01.Component_Grinder_Tungsten; +import static gregtech.common.items.IDMetaItem01.Component_Minecraft_Wheels_Iron; +import static gregtech.common.items.IDMetaItem01.Component_Minecraft_Wheels_Steel; +import static gregtech.common.items.IDMetaItem01.Component_Sawblade_Diamond; +import static gregtech.common.items.IDMetaItem01.Compressed_Fireclay; +import static gregtech.common.items.IDMetaItem01.Conveyor_Module_EV; +import static gregtech.common.items.IDMetaItem01.Conveyor_Module_HV; +import static gregtech.common.items.IDMetaItem01.Conveyor_Module_IV; +import static gregtech.common.items.IDMetaItem01.Conveyor_Module_LV; +import static gregtech.common.items.IDMetaItem01.Conveyor_Module_LuV; +import static gregtech.common.items.IDMetaItem01.Conveyor_Module_MAX; +import static gregtech.common.items.IDMetaItem01.Conveyor_Module_MV; +import static gregtech.common.items.IDMetaItem01.Conveyor_Module_UEV; +import static gregtech.common.items.IDMetaItem01.Conveyor_Module_UHV; +import static gregtech.common.items.IDMetaItem01.Conveyor_Module_UIV; +import static gregtech.common.items.IDMetaItem01.Conveyor_Module_UMV; +import static gregtech.common.items.IDMetaItem01.Conveyor_Module_UV; +import static gregtech.common.items.IDMetaItem01.Conveyor_Module_UXV; +import static gregtech.common.items.IDMetaItem01.Conveyor_Module_ZPM; +import static gregtech.common.items.IDMetaItem01.Cover_ActivityDetector; +import static gregtech.common.items.IDMetaItem01.Cover_Chest_Advanced; +import static gregtech.common.items.IDMetaItem01.Cover_Chest_Basic; +import static gregtech.common.items.IDMetaItem01.Cover_Chest_Good; +import static gregtech.common.items.IDMetaItem01.Cover_Controller; +import static gregtech.common.items.IDMetaItem01.Cover_Crafting; +import static gregtech.common.items.IDMetaItem01.Cover_Drain; +import static gregtech.common.items.IDMetaItem01.Cover_EnergyDetector; +import static gregtech.common.items.IDMetaItem01.Cover_FLuidStorageMonitor; +import static gregtech.common.items.IDMetaItem01.Cover_FluidDetector; +import static gregtech.common.items.IDMetaItem01.Cover_FluidLimiter; +import static gregtech.common.items.IDMetaItem01.Cover_ItemDetector; +import static gregtech.common.items.IDMetaItem01.Cover_NeedsMaintenance; +import static gregtech.common.items.IDMetaItem01.Cover_PlayerDetector; +import static gregtech.common.items.IDMetaItem01.Cover_RedstoneReceiverExternal; +import static gregtech.common.items.IDMetaItem01.Cover_RedstoneReceiverInternal; +import static gregtech.common.items.IDMetaItem01.Cover_RedstoneTransmitterExternal; +import static gregtech.common.items.IDMetaItem01.Cover_RedstoneTransmitterInternal; +import static gregtech.common.items.IDMetaItem01.Cover_Screen; +import static gregtech.common.items.IDMetaItem01.Cover_Shutter; +import static gregtech.common.items.IDMetaItem01.Cover_SolarPanel; +import static gregtech.common.items.IDMetaItem01.Cover_SolarPanel_8V; +import static gregtech.common.items.IDMetaItem01.Cover_SolarPanel_EV; +import static gregtech.common.items.IDMetaItem01.Cover_SolarPanel_HV; +import static gregtech.common.items.IDMetaItem01.Cover_SolarPanel_IV; +import static gregtech.common.items.IDMetaItem01.Cover_SolarPanel_LV; +import static gregtech.common.items.IDMetaItem01.Cover_SolarPanel_LuV; +import static gregtech.common.items.IDMetaItem01.Cover_SolarPanel_MV; +import static gregtech.common.items.IDMetaItem01.Cover_SolarPanel_UV; +import static gregtech.common.items.IDMetaItem01.Cover_SolarPanel_ZPM; +import static gregtech.common.items.IDMetaItem01.Crate_Empty; +import static gregtech.common.items.IDMetaItem01.Duct_Tape; +import static gregtech.common.items.IDMetaItem01.Electric_Motor_EV; +import static gregtech.common.items.IDMetaItem01.Electric_Motor_HV; +import static gregtech.common.items.IDMetaItem01.Electric_Motor_IV; +import static gregtech.common.items.IDMetaItem01.Electric_Motor_LV; +import static gregtech.common.items.IDMetaItem01.Electric_Motor_LuV; +import static gregtech.common.items.IDMetaItem01.Electric_Motor_MAX; +import static gregtech.common.items.IDMetaItem01.Electric_Motor_MV; +import static gregtech.common.items.IDMetaItem01.Electric_Motor_UEV; +import static gregtech.common.items.IDMetaItem01.Electric_Motor_UHV; +import static gregtech.common.items.IDMetaItem01.Electric_Motor_UIV; +import static gregtech.common.items.IDMetaItem01.Electric_Motor_UMV; +import static gregtech.common.items.IDMetaItem01.Electric_Motor_UV; +import static gregtech.common.items.IDMetaItem01.Electric_Motor_UXV; +import static gregtech.common.items.IDMetaItem01.Electric_Motor_ZPM; +import static gregtech.common.items.IDMetaItem01.Electric_Piston_EV; +import static gregtech.common.items.IDMetaItem01.Electric_Piston_HV; +import static gregtech.common.items.IDMetaItem01.Electric_Piston_IV; +import static gregtech.common.items.IDMetaItem01.Electric_Piston_LV; +import static gregtech.common.items.IDMetaItem01.Electric_Piston_LuV; +import static gregtech.common.items.IDMetaItem01.Electric_Piston_MAX; +import static gregtech.common.items.IDMetaItem01.Electric_Piston_MV; +import static gregtech.common.items.IDMetaItem01.Electric_Piston_UEV; +import static gregtech.common.items.IDMetaItem01.Electric_Piston_UHV; +import static gregtech.common.items.IDMetaItem01.Electric_Piston_UIV; +import static gregtech.common.items.IDMetaItem01.Electric_Piston_UMV; +import static gregtech.common.items.IDMetaItem01.Electric_Piston_UV; +import static gregtech.common.items.IDMetaItem01.Electric_Piston_UXV; +import static gregtech.common.items.IDMetaItem01.Electric_Piston_ZPM; +import static gregtech.common.items.IDMetaItem01.Electric_Pump_EV; +import static gregtech.common.items.IDMetaItem01.Electric_Pump_HV; +import static gregtech.common.items.IDMetaItem01.Electric_Pump_IV; +import static gregtech.common.items.IDMetaItem01.Electric_Pump_LV; +import static gregtech.common.items.IDMetaItem01.Electric_Pump_LuV; +import static gregtech.common.items.IDMetaItem01.Electric_Pump_MAX; +import static gregtech.common.items.IDMetaItem01.Electric_Pump_MV; +import static gregtech.common.items.IDMetaItem01.Electric_Pump_UEV; +import static gregtech.common.items.IDMetaItem01.Electric_Pump_UHV; +import static gregtech.common.items.IDMetaItem01.Electric_Pump_UIV; +import static gregtech.common.items.IDMetaItem01.Electric_Pump_UMV; +import static gregtech.common.items.IDMetaItem01.Electric_Pump_UV; +import static gregtech.common.items.IDMetaItem01.Electric_Pump_UXV; +import static gregtech.common.items.IDMetaItem01.Electric_Pump_ZPM; +import static gregtech.common.items.IDMetaItem01.Electromagnet_Iron; +import static gregtech.common.items.IDMetaItem01.Electromagnet_Neodymium; +import static gregtech.common.items.IDMetaItem01.Electromagnet_Samarium; +import static gregtech.common.items.IDMetaItem01.Electromagnet_Steel; +import static gregtech.common.items.IDMetaItem01.Electromagnet_Tengam; +import static gregtech.common.items.IDMetaItem01.Emitter_EV; +import static gregtech.common.items.IDMetaItem01.Emitter_HV; +import static gregtech.common.items.IDMetaItem01.Emitter_IV; +import static gregtech.common.items.IDMetaItem01.Emitter_LV; +import static gregtech.common.items.IDMetaItem01.Emitter_LuV; +import static gregtech.common.items.IDMetaItem01.Emitter_MAX; +import static gregtech.common.items.IDMetaItem01.Emitter_MV; +import static gregtech.common.items.IDMetaItem01.Emitter_UEV; +import static gregtech.common.items.IDMetaItem01.Emitter_UHV; +import static gregtech.common.items.IDMetaItem01.Emitter_UIV; +import static gregtech.common.items.IDMetaItem01.Emitter_UMV; +import static gregtech.common.items.IDMetaItem01.Emitter_UV; +import static gregtech.common.items.IDMetaItem01.Emitter_UXV; +import static gregtech.common.items.IDMetaItem01.Emitter_ZPM; +import static gregtech.common.items.IDMetaItem01.Empty_Board_Basic; +import static gregtech.common.items.IDMetaItem01.Empty_Board_Elite; +import static gregtech.common.items.IDMetaItem01.EnergisedTesseract; +import static gregtech.common.items.IDMetaItem01.Energy_Cluster; +import static gregtech.common.items.IDMetaItem01.Energy_Lapotronic_Orb; +import static gregtech.common.items.IDMetaItem01.Energy_Lapotronic_orb_2; +import static gregtech.common.items.IDMetaItem01.Energy_Module; +import static gregtech.common.items.IDMetaItem01.Field_Generator_EV; +import static gregtech.common.items.IDMetaItem01.Field_Generator_HV; +import static gregtech.common.items.IDMetaItem01.Field_Generator_IV; +import static gregtech.common.items.IDMetaItem01.Field_Generator_LV; +import static gregtech.common.items.IDMetaItem01.Field_Generator_LuV; +import static gregtech.common.items.IDMetaItem01.Field_Generator_MAX; +import static gregtech.common.items.IDMetaItem01.Field_Generator_MV; +import static gregtech.common.items.IDMetaItem01.Field_Generator_UEV; +import static gregtech.common.items.IDMetaItem01.Field_Generator_UHV; +import static gregtech.common.items.IDMetaItem01.Field_Generator_UIV; +import static gregtech.common.items.IDMetaItem01.Field_Generator_UMV; +import static gregtech.common.items.IDMetaItem01.Field_Generator_UV; +import static gregtech.common.items.IDMetaItem01.Field_Generator_UXV; +import static gregtech.common.items.IDMetaItem01.Field_Generator_ZPM; +import static gregtech.common.items.IDMetaItem01.Firebrick; +import static gregtech.common.items.IDMetaItem01.FluidFilter; +import static gregtech.common.items.IDMetaItem01.FluidRegulator_EV; +import static gregtech.common.items.IDMetaItem01.FluidRegulator_HV; +import static gregtech.common.items.IDMetaItem01.FluidRegulator_IV; +import static gregtech.common.items.IDMetaItem01.FluidRegulator_LV; +import static gregtech.common.items.IDMetaItem01.FluidRegulator_LuV; +import static gregtech.common.items.IDMetaItem01.FluidRegulator_MV; +import static gregtech.common.items.IDMetaItem01.FluidRegulator_UV; +import static gregtech.common.items.IDMetaItem01.FluidRegulator_ZPM; +import static gregtech.common.items.IDMetaItem01.Fuel_Can_Plastic_Empty; +import static gregtech.common.items.IDMetaItem01.Fuel_Can_Plastic_Filled; +import static gregtech.common.items.IDMetaItem01.GigaChad; +import static gregtech.common.items.IDMetaItem01.Gravistar; +import static gregtech.common.items.IDMetaItem01.Ingot_Heavy1; +import static gregtech.common.items.IDMetaItem01.Ingot_Heavy2; +import static gregtech.common.items.IDMetaItem01.Ingot_Heavy3; +import static gregtech.common.items.IDMetaItem01.Ingot_Iridium_Alloy; +import static gregtech.common.items.IDMetaItem01.ItemFilter_Export; +import static gregtech.common.items.IDMetaItem01.ItemFilter_Import; +import static gregtech.common.items.IDMetaItem01.Large_Fluid_Cell_Aluminium; +import static gregtech.common.items.IDMetaItem01.Large_Fluid_Cell_Chrome; +import static gregtech.common.items.IDMetaItem01.Large_Fluid_Cell_Iridium; +import static gregtech.common.items.IDMetaItem01.Large_Fluid_Cell_Neutronium; +import static gregtech.common.items.IDMetaItem01.Large_Fluid_Cell_Osmium; +import static gregtech.common.items.IDMetaItem01.Large_Fluid_Cell_StainlessSteel; +import static gregtech.common.items.IDMetaItem01.Large_Fluid_Cell_Steel; +import static gregtech.common.items.IDMetaItem01.Large_Fluid_Cell_Titanium; +import static gregtech.common.items.IDMetaItem01.Large_Fluid_Cell_TungstenSteel; +import static gregtech.common.items.IDMetaItem01.McGuffium_239; +import static gregtech.common.items.IDMetaItem01.NC_SensorKit; +import static gregtech.common.items.IDMetaItem01.NaquadriaSupersolid; +import static gregtech.common.items.IDMetaItem01.Paper_Magic_Empty; +import static gregtech.common.items.IDMetaItem01.Paper_Magic_Page; +import static gregtech.common.items.IDMetaItem01.Paper_Magic_Pages; +import static gregtech.common.items.IDMetaItem01.Paper_Printed_Pages; +import static gregtech.common.items.IDMetaItem01.Paper_Punch_Card_Empty; +import static gregtech.common.items.IDMetaItem01.Paper_Punch_Card_Encoded; +import static gregtech.common.items.IDMetaItem01.QuantumEye; +import static gregtech.common.items.IDMetaItem01.QuantumStar; +import static gregtech.common.items.IDMetaItem01.Robot_Arm_EV; +import static gregtech.common.items.IDMetaItem01.Robot_Arm_HV; +import static gregtech.common.items.IDMetaItem01.Robot_Arm_IV; +import static gregtech.common.items.IDMetaItem01.Robot_Arm_LV; +import static gregtech.common.items.IDMetaItem01.Robot_Arm_LuV; +import static gregtech.common.items.IDMetaItem01.Robot_Arm_MAX; +import static gregtech.common.items.IDMetaItem01.Robot_Arm_MV; +import static gregtech.common.items.IDMetaItem01.Robot_Arm_UEV; +import static gregtech.common.items.IDMetaItem01.Robot_Arm_UHV; +import static gregtech.common.items.IDMetaItem01.Robot_Arm_UIV; +import static gregtech.common.items.IDMetaItem01.Robot_Arm_UMV; +import static gregtech.common.items.IDMetaItem01.Robot_Arm_UV; +import static gregtech.common.items.IDMetaItem01.Robot_Arm_UXV; +import static gregtech.common.items.IDMetaItem01.Robot_Arm_ZPM; +import static gregtech.common.items.IDMetaItem01.Schematic; +import static gregtech.common.items.IDMetaItem01.Schematic_1by1; +import static gregtech.common.items.IDMetaItem01.Schematic_2by2; +import static gregtech.common.items.IDMetaItem01.Schematic_3by3; +import static gregtech.common.items.IDMetaItem01.Schematic_Crafting; +import static gregtech.common.items.IDMetaItem01.Schematic_Dust; +import static gregtech.common.items.IDMetaItem01.Sensor_EV; +import static gregtech.common.items.IDMetaItem01.Sensor_HV; +import static gregtech.common.items.IDMetaItem01.Sensor_IV; +import static gregtech.common.items.IDMetaItem01.Sensor_LV; +import static gregtech.common.items.IDMetaItem01.Sensor_LuV; +import static gregtech.common.items.IDMetaItem01.Sensor_MAX; +import static gregtech.common.items.IDMetaItem01.Sensor_MV; +import static gregtech.common.items.IDMetaItem01.Sensor_UEV; +import static gregtech.common.items.IDMetaItem01.Sensor_UHV; +import static gregtech.common.items.IDMetaItem01.Sensor_UIV; +import static gregtech.common.items.IDMetaItem01.Sensor_UMV; +import static gregtech.common.items.IDMetaItem01.Sensor_UV; +import static gregtech.common.items.IDMetaItem01.Sensor_UXV; +import static gregtech.common.items.IDMetaItem01.Sensor_ZPM; +import static gregtech.common.items.IDMetaItem01.Shape_Empty; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_Axe; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_Block; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_Bolt; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_Bottle; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_Casing; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_Cell; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_File; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_Gear; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_Hammer; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_Hoe; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_Ingot; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_Pickaxe; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_Pipe_Huge; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_Pipe_Large; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_Pipe_Medium; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_Pipe_Small; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_Pipe_Tiny; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_Plate; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_Ring; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_Rod; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_Rotor; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_Saw; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_Shovel; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_Small_Gear; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_Sword; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_Tool_Head_Drill; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_Turbine_Blade; +import static gregtech.common.items.IDMetaItem01.Shape_Extruder_Wire; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Anvil; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Arrow; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Baguette; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Ball; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Block; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Bolt; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Bottle; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Bread; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Bun; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Casing; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Credit; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Cylinder; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Gear; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Gear_Small; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Ingot; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Name; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Nugget; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Pipe_Huge; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Pipe_Large; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Pipe_Medium; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Pipe_Small; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Pipe_Tiny; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Plate; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Ring; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Rod; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Rod_Long; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Rotor; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Round; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Screw; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Tool_Head_Drill; +import static gregtech.common.items.IDMetaItem01.Shape_Mold_Turbine_Blade; +import static gregtech.common.items.IDMetaItem01.Shape_Slicer_Flat; +import static gregtech.common.items.IDMetaItem01.Shape_Slicer_Stripes; +import static gregtech.common.items.IDMetaItem01.Spray_Color_0; +import static gregtech.common.items.IDMetaItem01.Spray_Color_1; +import static gregtech.common.items.IDMetaItem01.Spray_Color_10; +import static gregtech.common.items.IDMetaItem01.Spray_Color_11; +import static gregtech.common.items.IDMetaItem01.Spray_Color_12; +import static gregtech.common.items.IDMetaItem01.Spray_Color_13; +import static gregtech.common.items.IDMetaItem01.Spray_Color_14; +import static gregtech.common.items.IDMetaItem01.Spray_Color_15; +import static gregtech.common.items.IDMetaItem01.Spray_Color_2; +import static gregtech.common.items.IDMetaItem01.Spray_Color_3; +import static gregtech.common.items.IDMetaItem01.Spray_Color_4; +import static gregtech.common.items.IDMetaItem01.Spray_Color_5; +import static gregtech.common.items.IDMetaItem01.Spray_Color_6; +import static gregtech.common.items.IDMetaItem01.Spray_Color_7; +import static gregtech.common.items.IDMetaItem01.Spray_Color_8; +import static gregtech.common.items.IDMetaItem01.Spray_Color_9; +import static gregtech.common.items.IDMetaItem01.Spray_Color_Remover; +import static gregtech.common.items.IDMetaItem01.Spray_Color_Remover_Empty; +import static gregtech.common.items.IDMetaItem01.Spray_Color_Used_0; +import static gregtech.common.items.IDMetaItem01.Spray_Color_Used_1; +import static gregtech.common.items.IDMetaItem01.Spray_Color_Used_10; +import static gregtech.common.items.IDMetaItem01.Spray_Color_Used_11; +import static gregtech.common.items.IDMetaItem01.Spray_Color_Used_12; +import static gregtech.common.items.IDMetaItem01.Spray_Color_Used_13; +import static gregtech.common.items.IDMetaItem01.Spray_Color_Used_14; +import static gregtech.common.items.IDMetaItem01.Spray_Color_Used_15; +import static gregtech.common.items.IDMetaItem01.Spray_Color_Used_2; +import static gregtech.common.items.IDMetaItem01.Spray_Color_Used_3; +import static gregtech.common.items.IDMetaItem01.Spray_Color_Used_4; +import static gregtech.common.items.IDMetaItem01.Spray_Color_Used_5; +import static gregtech.common.items.IDMetaItem01.Spray_Color_Used_6; +import static gregtech.common.items.IDMetaItem01.Spray_Color_Used_7; +import static gregtech.common.items.IDMetaItem01.Spray_Color_Used_8; +import static gregtech.common.items.IDMetaItem01.Spray_Color_Used_9; +import static gregtech.common.items.IDMetaItem01.Spray_Color_Used_Remover; +import static gregtech.common.items.IDMetaItem01.Spray_Empty; +import static gregtech.common.items.IDMetaItem01.StableAdhesive; +import static gregtech.common.items.IDMetaItem01.Steam_Regulator_EV; +import static gregtech.common.items.IDMetaItem01.Steam_Regulator_HV; +import static gregtech.common.items.IDMetaItem01.Steam_Regulator_IV; +import static gregtech.common.items.IDMetaItem01.Steam_Regulator_LV; +import static gregtech.common.items.IDMetaItem01.Steam_Regulator_MV; +import static gregtech.common.items.IDMetaItem01.Steam_Valve_EV; +import static gregtech.common.items.IDMetaItem01.Steam_Valve_HV; +import static gregtech.common.items.IDMetaItem01.Steam_Valve_IV; +import static gregtech.common.items.IDMetaItem01.Steam_Valve_LV; +import static gregtech.common.items.IDMetaItem01.Steam_Valve_MV; +import static gregtech.common.items.IDMetaItem01.SuperconductorComposite; +import static gregtech.common.items.IDMetaItem01.Tesseract; +import static gregtech.common.items.IDMetaItem01.Thermos_Can_Empty; +import static gregtech.common.items.IDMetaItem01.Tool_Cheat; +import static gregtech.common.items.IDMetaItem01.Tool_Cover_Copy_Paste; +import static gregtech.common.items.IDMetaItem01.Tool_DataOrb; +import static gregtech.common.items.IDMetaItem01.Tool_DataStick; +import static gregtech.common.items.IDMetaItem01.Tool_Lighter_Invar_Empty; +import static gregtech.common.items.IDMetaItem01.Tool_Lighter_Invar_Full; +import static gregtech.common.items.IDMetaItem01.Tool_Lighter_Invar_Used; +import static gregtech.common.items.IDMetaItem01.Tool_Lighter_Platinum_Empty; +import static gregtech.common.items.IDMetaItem01.Tool_Lighter_Platinum_Full; +import static gregtech.common.items.IDMetaItem01.Tool_Lighter_Platinum_Used; +import static gregtech.common.items.IDMetaItem01.Tool_MatchBox_Full; +import static gregtech.common.items.IDMetaItem01.Tool_MatchBox_Used; +import static gregtech.common.items.IDMetaItem01.Tool_Matches; +import static gregtech.common.items.IDMetaItem01.Tool_Scanner; +import static gregtech.common.items.IDMetaItem01.Tool_Sonictron; +import static gregtech.common.items.IDMetaItem01.Upgrade_Lock; +import static gregtech.common.items.IDMetaItem01.Upgrade_Muffler; +import static gregtech.common.items.IDMetaItem01.ZPM2; +import static gregtech.common.items.IDMetaItem01.ZPM3; +import static gregtech.common.items.IDMetaItem01.ZPM4; +import static gregtech.common.items.IDMetaItem01.ZPM5; +import static gregtech.common.items.IDMetaItem01.ZPM6; + +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import net.minecraft.block.Block; +import net.minecraft.enchantment.Enchantment; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.EnumAction; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.MathHelper; + +import gregtech.api.GregTechAPI; +import gregtech.api.enums.Dyes; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OreDictNames; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.SubTag; +import gregtech.api.enums.TCAspects; +import gregtech.api.enums.Textures; +import gregtech.api.interfaces.IItemBehaviour; +import gregtech.api.interfaces.ITexture; +import gregtech.api.items.MetaBaseItem; +import gregtech.api.items.MetaGeneratedItemX32; +import gregtech.api.objects.ItemData; +import gregtech.api.objects.MaterialStack; +import gregtech.api.recipe.RecipeMaps; +import gregtech.api.render.TextureFactory; +import gregtech.api.util.GTFoodStat; +import gregtech.api.util.GTLanguageManager; +import gregtech.api.util.GTModHandler; +import gregtech.api.util.GTOreDictUnificator; +import gregtech.api.util.GTRecipe; +import gregtech.api.util.GTUtility; +import gregtech.common.config.other.ConfigGeneral; +import gregtech.common.covers.CoverArm; +import gregtech.common.covers.CoverChest; +import gregtech.common.covers.CoverControlsWork; +import gregtech.common.covers.CoverConveyor; +import gregtech.common.covers.CoverCrafting; +import gregtech.common.covers.CoverDoesWork; +import gregtech.common.covers.CoverDrain; +import gregtech.common.covers.CoverEUMeter; +import gregtech.common.covers.CoverFluidLimiter; +import gregtech.common.covers.CoverFluidRegulator; +import gregtech.common.covers.CoverFluidStorageMonitor; +import gregtech.common.covers.CoverFluidfilter; +import gregtech.common.covers.CoverItemFilter; +import gregtech.common.covers.CoverItemMeter; +import gregtech.common.covers.CoverLiquidMeter; +import gregtech.common.covers.CoverNeedMaintainance; +import gregtech.common.covers.CoverPlayerDetector; +import gregtech.common.covers.CoverPump; +import gregtech.common.covers.CoverRedstoneReceiverExternal; +import gregtech.common.covers.CoverRedstoneReceiverInternal; +import gregtech.common.covers.CoverRedstoneTransmitterExternal; +import gregtech.common.covers.CoverRedstoneTransmitterInternal; +import gregtech.common.covers.CoverScreen; +import gregtech.common.covers.CoverShutter; +import gregtech.common.covers.CoverSolarPanel; +import gregtech.common.covers.CoverSteamRegulator; +import gregtech.common.covers.CoverSteamValve; +import gregtech.common.items.behaviors.BehaviourCoverTool; +import gregtech.common.items.behaviors.BehaviourDataOrb; +import gregtech.common.items.behaviors.BehaviourDataStick; +import gregtech.common.items.behaviors.BehaviourLighter; +import gregtech.common.items.behaviors.BehaviourPrintedPages; +import gregtech.common.items.behaviors.BehaviourScanner; +import gregtech.common.items.behaviors.BehaviourSensorKit; +import gregtech.common.items.behaviors.BehaviourSonictron; +import gregtech.common.items.behaviors.BehaviourSprayColor; +import gregtech.common.items.behaviors.BehaviourSprayColorRemover; +import gregtech.common.items.behaviors.BehaviourWrittenBook; +import gregtech.common.tileentities.machines.multi.MTEIndustrialElectromagneticSeparator.MagnetTiers; + +public class MetaGeneratedItem01 extends MetaGeneratedItemX32 { + + public static MetaGeneratedItem01 INSTANCE; + private final String mToolTipPurify = GTLanguageManager + .addStringLocalization("metaitem.01.tooltip.purify", "Throw into Cauldron to get clean Dust"); + private static final String aTextEmptyRow = " "; + private static final String aTextShape = " P "; + private static final String PartCoverText = " L/t ("; + private static final String PartCoverText2 = " L/s) as Cover"; + private static final String PartNotCoverText = "Cannot be used as a Cover"; + private static final String RAText = "Grabs from and inserts into specific slots"; + private static final String FRText1 = "Configurable up to "; + private static final String FRText2 = " L/sec (as Cover)/n Rightclick/Screwdriver-rightclick/Shift-screwdriver-rightclick/n to adjust the pump speed by 1/16/256 L/sec per click"; + + private static final int[] Spray_Colors = new int[] { Spray_Color_0.ID, Spray_Color_1.ID, Spray_Color_2.ID, + Spray_Color_3.ID, Spray_Color_4.ID, Spray_Color_5.ID, Spray_Color_6.ID, Spray_Color_7.ID, Spray_Color_8.ID, + Spray_Color_9.ID, Spray_Color_10.ID, Spray_Color_11.ID, Spray_Color_12.ID, Spray_Color_13.ID, Spray_Color_14.ID, + Spray_Color_15.ID }; + private static final int[] Spray_Colors_Used = new int[] { Spray_Color_Used_0.ID, Spray_Color_Used_1.ID, + Spray_Color_Used_2.ID, Spray_Color_Used_3.ID, Spray_Color_Used_4.ID, Spray_Color_Used_5.ID, + Spray_Color_Used_6.ID, Spray_Color_Used_7.ID, Spray_Color_Used_8.ID, Spray_Color_Used_9.ID, + Spray_Color_Used_10.ID, Spray_Color_Used_11.ID, Spray_Color_Used_12.ID, Spray_Color_Used_13.ID, + Spray_Color_Used_14.ID, Spray_Color_Used_15.ID }; + + public MetaGeneratedItem01() { + super( + "metaitem.01", + OrePrefixes.dustTiny, + OrePrefixes.dustSmall, + OrePrefixes.dust, + OrePrefixes.dustImpure, + OrePrefixes.dustPure, + OrePrefixes.crushed, + OrePrefixes.crushedPurified, + OrePrefixes.crushedCentrifuged, + OrePrefixes.gem, + OrePrefixes.nugget, + null, + OrePrefixes.ingot, + OrePrefixes.ingotHot, + OrePrefixes.ingotDouble, + OrePrefixes.ingotTriple, + OrePrefixes.ingotQuadruple, + OrePrefixes.ingotQuintuple, + OrePrefixes.plate, + OrePrefixes.plateDouble, + OrePrefixes.plateTriple, + OrePrefixes.plateQuadruple, + OrePrefixes.plateQuintuple, + OrePrefixes.plateDense, + OrePrefixes.stick, + OrePrefixes.lens, + OrePrefixes.round, + OrePrefixes.bolt, + OrePrefixes.screw, + OrePrefixes.ring, + OrePrefixes.foil, + OrePrefixes.cell, + OrePrefixes.cellPlasma); + INSTANCE = this; + + ItemList.Credit_Greg_Copper + .set(addItem(IDMetaItem01.Credit_Greg_Copper.ID, "Copper GT Credit", "0.125 Credits")); + ItemList.Credit_Greg_Cupronickel.set( + addItem( + IDMetaItem01.Credit_Greg_Cupronickel.ID, + "Cupronickel GT Credit", + "1 Credit", + new ItemData(Materials.Cupronickel, 907200L))); + ItemList.Credit_Greg_Silver.set( + addItem( + IDMetaItem01.Credit_Greg_Silver.ID, + "Silver GT Credit", + "8 Credits", + new TCAspects.TC_AspectStack(TCAspects.LUCRUM, 1L))); + ItemList.Credit_Greg_Gold.set(addItem(IDMetaItem01.Credit_Greg_Gold.ID, "Gold GT Credit", "64 Credits")); + ItemList.Credit_Greg_Platinum + .set(addItem(IDMetaItem01.Credit_Greg_Platinum.ID, "Platinum GT Credit", "512 Credits")); + ItemList.Credit_Greg_Osmium + .set(addItem(IDMetaItem01.Credit_Greg_Osmium.ID, "Osmium GT Credit", "4,096 Credits")); + ItemList.Credit_Greg_Naquadah + .set(addItem(IDMetaItem01.Credit_Greg_Naquadah.ID, "Naquadah GT Credit", "32,768 Credits")); + ItemList.Credit_Greg_Neutronium + .set(addItem(IDMetaItem01.Credit_Greg_Neutronium.ID, "Neutronium GT Credit", "262,144 Credits")); + ItemList.Coin_Gold_Ancient.set( + addItem( + IDMetaItem01.Coin_Gold_Ancient.ID, + "Ancient Gold Coin", + "Found in ancient Ruins", + new ItemData(Materials.Gold, 907200L), + new TCAspects.TC_AspectStack(TCAspects.LUCRUM, 8L))); + ItemList.Coin_Doge.set( + addItem( + IDMetaItem01.Coin_Doge.ID, + "Doge Coin", + "wow much coin how money so crypto plz mine v rich very currency wow", + new ItemData(Materials.Brass, 907200L), + new TCAspects.TC_AspectStack(TCAspects.LUCRUM, 1L))); + ItemList.Coin_Chocolate.set( + addItem( + IDMetaItem01.Coin_Chocolate.ID, + "Chocolate Coin", + "Wrapped in Gold", + new ItemData(Materials.Gold, OrePrefixes.foil.mMaterialAmount), + new GTFoodStat( + 1, + 0.1F, + EnumAction.eat, + GTOreDictUnificator.get(OrePrefixes.foil, Materials.Gold, 1L), + true, + false, + false, + Potion.moveSpeed.id, + 200, + 1, + 100))); + ItemList.Credit_Copper.set(addItem(IDMetaItem01.Credit_Copper.ID, "Industrial Copper Credit", "0.125 Credits")); + + ItemList.Credit_Silver.set( + addItem( + IDMetaItem01.Credit_Silver.ID, + "Industrial Silver Credit", + "8 Credits", + new TCAspects.TC_AspectStack(TCAspects.LUCRUM, 1L))); + ItemList.Credit_Gold.set(addItem(IDMetaItem01.Credit_Gold.ID, "Industrial Gold Credit", "64 Credits")); + ItemList.Credit_Platinum + .set(addItem(IDMetaItem01.Credit_Platinum.ID, "Industrial Platinum Credit", "512 Credits")); + ItemList.Credit_Osmium.set(addItem(IDMetaItem01.Credit_Osmium.ID, "Industrial Osmium Credit", "4096 Credits")); + + ItemList.Component_Minecart_Wheels_Iron.set( + addItem( + Component_Minecraft_Wheels_Iron.ID, + "Iron Minecart Wheels", + "To get things rolling", + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 2L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 2L))); + ItemList.Component_Minecart_Wheels_Steel.set( + addItem( + Component_Minecraft_Wheels_Steel.ID, + "Steel Minecart Wheels", + "To get things rolling", + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 2L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 2L))); + + GTModHandler.addCraftingRecipe( + ItemList.Component_Minecart_Wheels_Iron.get(1L), + GTModHandler.RecipeBits.BUFFERED | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { " h ", "RSR", " w ", 'R', OrePrefixes.ring.get(Materials.AnyIron), 'S', + OrePrefixes.stick.get(Materials.AnyIron) }); + GTModHandler.addCraftingRecipe( + ItemList.Component_Minecart_Wheels_Steel.get(1L), + GTModHandler.RecipeBits.BUFFERED | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { " h ", "RSR", " w ", 'R', OrePrefixes.ring.get(Materials.Steel), 'S', + OrePrefixes.stick.get(Materials.Steel) }); + + ItemList.CompressedFireclay.set(addItem(Compressed_Fireclay.ID, "Compressed Fireclay", "Brick-shaped")); + GTOreDictUnificator.addItemDataFromInputs(ItemList.CompressedFireclay.get(1), Materials.Fireclay.getDust(1)); + + ItemList.Firebrick.set(addItem(Firebrick.ID, "Firebrick", "Heat resistant")); + GTOreDictUnificator.addItemDataFromInputs(ItemList.Firebrick.get(1), Materials.Fireclay.getDust(1)); + + ItemList.Shape_Empty.set( + addItem( + Shape_Empty.ID, + "Empty Shape Plate", + "Raw Plate to make Molds and Extruder Shapes", + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 4L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 4L))); + + ItemList.Shape_Mold_Plate.set(addItem(Shape_Mold_Plate.ID, "Mold (Plate)", "Mold for making Plates")); + ItemList.Shape_Mold_Casing.set(addItem(Shape_Mold_Casing.ID, "Mold (Casing)", "Mold for making Item Casings")); + ItemList.Shape_Mold_Gear.set(addItem(Shape_Mold_Gear.ID, "Mold (Gear)", "Mold for making Gears")); + ItemList.Shape_Mold_Credit + .set(addItem(Shape_Mold_Credit.ID, "Mold (Coinage)", "Secure Mold for making Coins (Don't lose it!)")); + ItemList.Shape_Mold_Bottle.set(addItem(Shape_Mold_Bottle.ID, "Mold (Bottle)", "Mold for making Bottles")); + ItemList.Shape_Mold_Ingot.set(addItem(Shape_Mold_Ingot.ID, "Mold (Ingot)", "Mold for making Ingots")); + ItemList.Shape_Mold_Ball.set(addItem(Shape_Mold_Ball.ID, "Mold (Ball)", "Mold for making Balls")); + ItemList.Shape_Mold_Block.set(addItem(Shape_Mold_Block.ID, "Mold (Block)", "Mold for making Blocks")); + ItemList.Shape_Mold_Nugget.set(addItem(Shape_Mold_Nugget.ID, "Mold (Nuggets)", "Mold for making Nuggets")); + ItemList.Shape_Mold_Bun.set(addItem(Shape_Mold_Bun.ID, "Mold (Buns)", "Mold for shaping Buns")); + ItemList.Shape_Mold_Bread.set(addItem(Shape_Mold_Bread.ID, "Mold (Bread)", "Mold for shaping Breads")); + ItemList.Shape_Mold_Baguette + .set(addItem(Shape_Mold_Baguette.ID, "Mold (Baguette)", "Mold for shaping Baguettes")); + ItemList.Shape_Mold_Cylinder + .set(addItem(Shape_Mold_Cylinder.ID, "Mold (Cylinder)", "Mold for shaping Cylinders")); + ItemList.Shape_Mold_Anvil.set(addItem(Shape_Mold_Anvil.ID, "Mold (Anvil)", "Mold for shaping Anvils")); + ItemList.Shape_Mold_Name + .set(addItem(Shape_Mold_Name.ID, "Mold (Name)", "Mold for naming Items (rename Mold with Anvil)")); + ItemList.Shape_Mold_Arrow.set(addItem(Shape_Mold_Arrow.ID, "Mold (Arrow Head)", "Mold for making Arrow Heads")); + ItemList.Shape_Mold_Gear_Small + .set(addItem(Shape_Mold_Gear_Small.ID, "Mold (Small Gear)", "Mold for making small Gears")); + ItemList.Shape_Mold_Rod.set(addItem(Shape_Mold_Rod.ID, "Mold (Rod)", "Mold for making Rods")); + ItemList.Shape_Mold_Bolt.set(addItem(Shape_Mold_Bolt.ID, "Mold (Bolt)", "Mold for making Bolts")); + ItemList.Shape_Mold_Round.set(addItem(Shape_Mold_Round.ID, "Mold (Round)", "Mold for making Rounds")); + ItemList.Shape_Mold_Screw.set(addItem(Shape_Mold_Screw.ID, "Mold (Screw)", "Mold for making Screws")); + ItemList.Shape_Mold_Ring.set(addItem(Shape_Mold_Ring.ID, "Mold (Ring)", "Mold for making Rings")); + ItemList.Shape_Mold_Rod_Long + .set(addItem(Shape_Mold_Rod_Long.ID, "Mold (Long Rod)", "Mold for making Long Rods")); + ItemList.Shape_Mold_Rotor.set(addItem(Shape_Mold_Rotor.ID, "Mold (Rotor)", "Mold for making a Rotor")); + ItemList.Shape_Mold_Turbine_Blade + .set(addItem(Shape_Mold_Turbine_Blade.ID, "Mold (Turbine Blade)", "Mold for making a Turbine Blade")); + ItemList.Shape_Mold_Pipe_Tiny + .set(addItem(Shape_Mold_Pipe_Tiny.ID, "Mold (Tiny Pipe)", "Mold for making tiny Pipes")); + ItemList.Shape_Mold_Pipe_Small + .set(addItem(Shape_Mold_Pipe_Small.ID, "Mold (Small Pipe)", "Mold for making small Pipes")); + ItemList.Shape_Mold_Pipe_Medium + .set(addItem(Shape_Mold_Pipe_Medium.ID, "Mold (Normal Pipe)", "Mold for making Pipes")); + ItemList.Shape_Mold_Pipe_Large + .set(addItem(Shape_Mold_Pipe_Large.ID, "Mold (Large Pipe)", "Mold for making large Pipes")); + ItemList.Shape_Mold_Pipe_Huge + .set(addItem(Shape_Mold_Pipe_Huge.ID, "Mold (Huge Pipe)", "Mold for making full Block Pipes")); + ItemList.Shape_Mold_ToolHeadDrill + .set(addItem(Shape_Mold_Tool_Head_Drill.ID, "Mold (Drill Head)", "Mold for making Drill Heads")); + + ItemList.Shape_Extruder_Plate + .set(addItem(Shape_Extruder_Plate.ID, "Extruder Shape (Plate)", "Extruder Shape for making Plates")); + ItemList.Shape_Extruder_Rod + .set(addItem(Shape_Extruder_Rod.ID, "Extruder Shape (Rod)", "Extruder Shape for making Rods")); + ItemList.Shape_Extruder_Bolt + .set(addItem(Shape_Extruder_Bolt.ID, "Extruder Shape (Bolt)", "Extruder Shape for making Bolts")); + ItemList.Shape_Extruder_Ring + .set(addItem(Shape_Extruder_Ring.ID, "Extruder Shape (Ring)", "Extruder Shape for making Rings")); + ItemList.Shape_Extruder_Cell + .set(addItem(Shape_Extruder_Cell.ID, "Extruder Shape (Cell)", "Extruder Shape for making Cells")); + ItemList.Shape_Extruder_Ingot.set( + addItem( + Shape_Extruder_Ingot.ID, + "Extruder Shape (Ingot)", + "Extruder Shape for, wait, can't we just use a Furnace?")); + ItemList.Shape_Extruder_Wire + .set(addItem(Shape_Extruder_Wire.ID, "Extruder Shape (Wire)", "Extruder Shape for making Wires")); + ItemList.Shape_Extruder_Casing.set( + addItem(Shape_Extruder_Casing.ID, "Extruder Shape (Casing)", "Extruder Shape for making Item Casings")); + ItemList.Shape_Extruder_Pipe_Tiny.set( + addItem(Shape_Extruder_Pipe_Tiny.ID, "Extruder Shape (Tiny Pipe)", "Extruder Shape for making tiny Pipes")); + ItemList.Shape_Extruder_Pipe_Small.set( + addItem( + Shape_Extruder_Pipe_Small.ID, + "Extruder Shape (Small Pipe)", + "Extruder Shape for making small Pipes")); + ItemList.Shape_Extruder_Pipe_Medium.set( + addItem(Shape_Extruder_Pipe_Medium.ID, "Extruder Shape (Normal Pipe)", "Extruder Shape for making Pipes")); + ItemList.Shape_Extruder_Pipe_Large.set( + addItem( + Shape_Extruder_Pipe_Large.ID, + "Extruder Shape (Large Pipe)", + "Extruder Shape for making large Pipes")); + ItemList.Shape_Extruder_Pipe_Huge.set( + addItem( + Shape_Extruder_Pipe_Huge.ID, + "Extruder Shape (Huge Pipe)", + "Extruder Shape for making full Block Pipes")); + ItemList.Shape_Extruder_Block + .set(addItem(Shape_Extruder_Block.ID, "Extruder Shape (Block)", "Extruder Shape for making Blocks")); + ItemList.Shape_Extruder_Sword + .set(addItem(Shape_Extruder_Sword.ID, "Extruder Shape (Sword Blade)", "Extruder Shape for making Swords")); + ItemList.Shape_Extruder_Pickaxe.set( + addItem(Shape_Extruder_Pickaxe.ID, "Extruder Shape (Pickaxe Head)", "Extruder Shape for making Pickaxes")); + ItemList.Shape_Extruder_Shovel.set( + addItem(Shape_Extruder_Shovel.ID, "Extruder Shape (Shovel Head)", "Extruder Shape for making Shovels")); + ItemList.Shape_Extruder_Axe + .set(addItem(Shape_Extruder_Axe.ID, "Extruder Shape (Axe Head)", "Extruder Shape for making Axes")); + ItemList.Shape_Extruder_Hoe + .set(addItem(Shape_Extruder_Hoe.ID, "Extruder Shape (Hoe Head)", "Extruder Shape for making Hoes")); + ItemList.Shape_Extruder_Hammer.set( + addItem(Shape_Extruder_Hammer.ID, "Extruder Shape (Hammer Head)", "Extruder Shape for making Hammers")); + ItemList.Shape_Extruder_File + .set(addItem(Shape_Extruder_File.ID, "Extruder Shape (File Head)", "Extruder Shape for making Files")); + ItemList.Shape_Extruder_Saw + .set(addItem(Shape_Extruder_Saw.ID, "Extruder Shape (Saw Blade)", "Extruder Shape for making Saws")); + ItemList.Shape_Extruder_Gear + .set(addItem(Shape_Extruder_Gear.ID, "Extruder Shape (Gear)", "Extruder Shape for making Gears")); + ItemList.Shape_Extruder_Bottle + .set(addItem(Shape_Extruder_Bottle.ID, "Extruder Shape (Bottle)", "Extruder Shape for making Bottles")); + ItemList.Shape_Extruder_Rotor + .set(addItem(Shape_Extruder_Rotor.ID, "Extruder Shape (Rotor)", "Extruder Shape for a Rotor")); + ItemList.Shape_Extruder_Small_Gear.set( + addItem(Shape_Extruder_Small_Gear.ID, "Extruder Shape (Small Gear)", "Extruder Shape for a Small Gear")); + ItemList.Shape_Extruder_Turbine_Blade.set( + addItem( + Shape_Extruder_Turbine_Blade.ID, + "Extruder Shape (Turbine Blade)", + "Extruder Shape for a Turbine Blade")); + ItemList.Shape_Extruder_ToolHeadDrill.set( + addItem( + Shape_Extruder_Tool_Head_Drill.ID, + "Extruder Shape (Drill Head)", + "Extruder Shape for a Drill Head")); + + ItemList.Shape_Slicer_Flat + .set(addItem(Shape_Slicer_Flat.ID, "Slicer Blade (Flat)", "Slicer Blade for cutting Flat")); + ItemList.Shape_Slicer_Stripes + .set(addItem(Shape_Slicer_Stripes.ID, "Slicer Blade (Stripes)", "Slicer Blade for cutting Stripes")); + + ItemList.Fuel_Can_Plastic_Empty.set( + addItem( + Fuel_Can_Plastic_Empty.ID, + "Empty Plastic Fuel Can", + "Used to store Fuels", + new ItemData(Materials.Plastic, OrePrefixes.plate.mMaterialAmount * 1L), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 1L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 1L))); + ItemList.Fuel_Can_Plastic_Filled.set( + addItem( + Fuel_Can_Plastic_Filled.ID, + "Plastic Fuel Can", + "Burns well in Diesel Generators", + new ItemData(Materials.Plastic, OrePrefixes.plate.mMaterialAmount * 1L), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 1L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 1L))); + + ItemList.Spray_Empty.set( + addItem( + Spray_Empty.ID, + "Empty Spray Can", + "Used for making Sprays", + new ItemData( + Materials.Tin, + OrePrefixes.plate.mMaterialAmount * 2L, + Materials.Redstone, + OrePrefixes.dust.mMaterialAmount), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 1L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 1L))); + + ItemList.Crate_Empty.set( + addItem( + Crate_Empty.ID, + "Empty Crate", + "To Package lots of Material", + new ItemData(Materials.Wood, 3628800L, Materials.Iron, OrePrefixes.screw.mMaterialAmount), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 1L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 2L))); + + ItemList.ThermosCan_Empty.set( + addItem( + Thermos_Can_Empty.ID, + "Empty Thermos Can", + "Keeping hot things hot and cold things cold", + new ItemData( + Materials.Aluminium, + OrePrefixes.plateDouble.mMaterialAmount * 1L + 2L * OrePrefixes.ring.mMaterialAmount), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.GELUM, 1L))); + + ItemList.Large_Fluid_Cell_Steel.set( + addItem( + Large_Fluid_Cell_Steel.ID, + "Large Steel Fluid Cell", + "", + new ItemData( + Materials.Steel, + OrePrefixes.plateDouble.mMaterialAmount * 4L, + new MaterialStack(Materials.Bronze, OrePrefixes.ring.mMaterialAmount * 4L)), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 4L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 2L))); + + ItemList.Large_Fluid_Cell_TungstenSteel.set( + addItem( + Large_Fluid_Cell_TungstenSteel.ID, + "Large Tungstensteel Fluid Cell", + "", + new ItemData( + Materials.TungstenSteel, + OrePrefixes.plateDouble.mMaterialAmount * 4L, + new MaterialStack(Materials.Platinum, OrePrefixes.ring.mMaterialAmount * 4L)), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 9L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 7L))); + + ItemList.Large_Fluid_Cell_Aluminium.set( + addItem( + Large_Fluid_Cell_Aluminium.ID, + "Large Aluminium Fluid Cell", + "", + new ItemData( + Materials.Aluminium, + OrePrefixes.plateDouble.mMaterialAmount * 4L, + new MaterialStack(Materials.Silver, OrePrefixes.ring.mMaterialAmount * 4L)), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 5L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 3L))); + + ItemList.Large_Fluid_Cell_StainlessSteel.set( + addItem( + Large_Fluid_Cell_StainlessSteel.ID, + "Large Stainless Steel Fluid Cell", + "", + new ItemData( + Materials.StainlessSteel, + OrePrefixes.plateDouble.mMaterialAmount * 4L, + new MaterialStack(Materials.Electrum, OrePrefixes.ring.mMaterialAmount * 4L)), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 6L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 4L))); + + ItemList.Large_Fluid_Cell_Titanium.set( + addItem( + Large_Fluid_Cell_Titanium.ID, + "Large Titanium Fluid Cell", + "", + new ItemData( + Materials.Titanium, + OrePrefixes.plateDouble.mMaterialAmount * 4L, + new MaterialStack(Materials.RoseGold, OrePrefixes.ring.mMaterialAmount * 4L)), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 7L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 5L))); + + ItemList.Large_Fluid_Cell_Chrome.set( + addItem( + Large_Fluid_Cell_Chrome.ID, + "Large Chrome Fluid Cell", + "", + new ItemData( + Materials.Chrome, + OrePrefixes.plateDouble.mMaterialAmount * 4L, + new MaterialStack(Materials.Palladium, OrePrefixes.ring.mMaterialAmount * 4L)), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 8L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 6L))); + + ItemList.Large_Fluid_Cell_Iridium.set( + addItem( + Large_Fluid_Cell_Iridium.ID, + "Large Iridium Fluid Cell", + "", + new ItemData( + Materials.Iridium, + OrePrefixes.plateDouble.mMaterialAmount * 4L, + new MaterialStack(Materials.Naquadah, OrePrefixes.ring.mMaterialAmount * 4L)), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 10L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 8L))); + + ItemList.Large_Fluid_Cell_Osmium.set( + addItem( + Large_Fluid_Cell_Osmium.ID, + "Large Osmium Fluid Cell", + "", + new ItemData( + Materials.Osmium, + OrePrefixes.plateDouble.mMaterialAmount * 4L, + new MaterialStack(Materials.ElectrumFlux, OrePrefixes.ring.mMaterialAmount * 4L)), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 11L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 9L))); + + ItemList.Large_Fluid_Cell_Neutronium.set( + addItem( + Large_Fluid_Cell_Neutronium.ID, + "Large Neutronium Fluid Cell", + "", + new ItemData( + Materials.Neutronium, + OrePrefixes.plateDouble.mMaterialAmount * 4L, + new MaterialStack(Materials.Draconium, OrePrefixes.ring.mMaterialAmount * 4L)), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 12L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 10L))); + + for (byte i = 0; i < 16; i = (byte) (i + 1)) { + ItemList.SPRAY_CAN_DYES[i].set( + addItem( + Spray_Colors[i], + "Spray Can (" + Dyes.get(i).mName + ")", + "Full", + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 4L))); + ItemList.SPRAY_CAN_DYES_USED[i].set( + addItem( + Spray_Colors_Used[i], + "Spray Can (" + Dyes.get(i).mName + ")", + "Used", + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 3L), + SubTag.INVISIBLE)); + } + + ItemList.Spray_Color_Remover.set( + addItem( + Spray_Color_Remover.ID, + "Spray Can Solvent", + "Full", + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 4L), + new TCAspects.TC_AspectStack(TCAspects.PERDITIO, 8L))); + ItemList.Spray_Color_Used_Remover.set( + addItem( + Spray_Color_Used_Remover.ID, + "Spray Can Solvent", + "Used", + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 3L), + new TCAspects.TC_AspectStack(TCAspects.PERDITIO, 6L), + SubTag.INVISIBLE)); + + ItemList.Spray_Color_Remover_Empty.set( + addItem( + Spray_Color_Remover_Empty.ID, + "Empty Spray Can Solvent Cannister", + "Used for making Spray Can Solvent", + new ItemData( + Materials.Aluminium, + OrePrefixes.plateDouble.mMaterialAmount * 4L, + Materials.Redstone, + OrePrefixes.dust.mMaterialAmount), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 1L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 1L))); + + ItemList.Tool_Matches.set( + addItem( + Tool_Matches.ID, + "Match", + "", + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 1L))); + + ItemList.Tool_MatchBox_Used.set( + addItem( + Tool_MatchBox_Used.ID, + "Match Box", + "This is not a Car", + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 2L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 1L), + SubTag.INVISIBLE)); + + ItemList.Tool_MatchBox_Full.set( + addItem( + Tool_MatchBox_Full.ID, + "Match Box (Full)", + "This is not a Car", + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 2L))); + + ItemList.Tool_Lighter_Invar_Empty.set( + addItem( + Tool_Lighter_Invar_Empty.ID, + "Lighter (Empty)", + "", + new ItemData(Materials.Invar, OrePrefixes.plate.mMaterialAmount * 2L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 1L))); + ItemList.Tool_Lighter_Invar_Used.set( + addItem( + Tool_Lighter_Invar_Used.ID, + "Lighter", + "", + new ItemData(Materials.Invar, OrePrefixes.plate.mMaterialAmount * 2L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 2L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 1L), + SubTag.INVISIBLE)); + ItemList.Tool_Lighter_Invar_Full.set( + addItem( + Tool_Lighter_Invar_Full.ID, + "Lighter (Full)", + "", + new ItemData(Materials.Invar, OrePrefixes.plate.mMaterialAmount * 2L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 2L))); + + ItemList.Tool_Lighter_Platinum_Empty.set( + addItem( + Tool_Lighter_Platinum_Empty.ID, + "Platinum Lighter (Empty)", + "A known Prank Master is engraved on it", + new ItemData(Materials.Platinum, OrePrefixes.plate.mMaterialAmount * 2L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.NEBRISUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 1L))); + ItemList.Tool_Lighter_Platinum_Used.set( + addItem( + Tool_Lighter_Platinum_Used.ID, + "Platinum Lighter", + "A known Prank Master is engraved on it", + new ItemData(Materials.Platinum, OrePrefixes.plate.mMaterialAmount * 2L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 2L), + new TCAspects.TC_AspectStack(TCAspects.NEBRISUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 1L), + SubTag.INVISIBLE)); + ItemList.Tool_Lighter_Platinum_Full.set( + addItem( + Tool_Lighter_Platinum_Full.ID, + "Platinum Lighter (Full)", + "A known Prank Master is engraved on it", + new ItemData(Materials.Platinum, OrePrefixes.plate.mMaterialAmount * 2L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.NEBRISUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 2L))); + + ItemList.Ingot_Heavy1 + .set(addItem(Ingot_Heavy1.ID, "Heavy Duty Alloy Ingot T1", "Used to make Heavy Duty Plates T1")); + ItemList.Ingot_Heavy2 + .set(addItem(Ingot_Heavy2.ID, "Heavy Duty Alloy Ingot T2", "Used to make Heavy Duty Plates T2")); + ItemList.Ingot_Heavy3 + .set(addItem(Ingot_Heavy3.ID, "Heavy Duty Alloy Ingot T3", "Used to make Heavy Duty Plates T3")); + + ItemList.Ingot_IridiumAlloy.set( + addItem( + Ingot_Iridium_Alloy.ID, + "Iridium Alloy Ingot", + "Used to make Iridium Plates", + new TCAspects.TC_AspectStack(TCAspects.TUTAMEN, 4L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 4L))); + + ItemList.Paper_Printed_Pages.set( + addItem( + Paper_Printed_Pages.ID, + "Printed Pages", + "Used to make written Books", + new ItemData(Materials.Paper, 10886400L), + new BehaviourPrintedPages(), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 2L))); + ItemList.Paper_Magic_Empty.set( + addItem( + Paper_Magic_Empty.ID, + "Magic Paper", + "", + SubTag.INVISIBLE, + new ItemData(Materials.Paper, 3628800L), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 1L), + new TCAspects.TC_AspectStack(TCAspects.PRAECANTATIO, 1L))); + ItemList.Paper_Magic_Page.set( + addItem( + Paper_Magic_Page.ID, + "Enchanted Page", + "", + SubTag.INVISIBLE, + new ItemData(Materials.Paper, 3628800L), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 1L), + new TCAspects.TC_AspectStack(TCAspects.PRAECANTATIO, 2L))); + ItemList.Paper_Magic_Pages.set( + addItem( + Paper_Magic_Pages.ID, + "Enchanted Pages", + "", + SubTag.INVISIBLE, + new ItemData(Materials.Paper, 10886400L), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 2L), + new TCAspects.TC_AspectStack(TCAspects.PRAECANTATIO, 4L))); + ItemList.Paper_Punch_Card_Empty.set( + addItem( + Paper_Punch_Card_Empty.ID, + "Punch Card", + "", + SubTag.INVISIBLE, + new ItemData(Materials.Paper, 7257600L), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 1L))); + ItemList.Paper_Punch_Card_Encoded.set( + addItem( + Paper_Punch_Card_Encoded.ID, + "Punched Card", + "", + SubTag.INVISIBLE, + new ItemData(Materials.Paper, 7257600L), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 2L))); + ItemList.Book_Written_01.set( + addItem( + Book_Written_01.ID, + "Book", + "", + new ItemData(Materials.Paper, 10886400L), + "bookWritten", + OreDictNames.craftingBook, + new BehaviourWrittenBook(), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 2L))); + ItemList.Book_Written_02.set( + addItem( + Book_Written_02.ID, + "Book", + "", + new ItemData(Materials.Paper, 10886400L), + "bookWritten", + OreDictNames.craftingBook, + new BehaviourWrittenBook(), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 2L))); + ItemList.Book_Written_03.set( + addItem( + Book_Written_03.ID, + "Book", + "", + new ItemData(Materials.Paper, 10886400L), + "bookWritten", + OreDictNames.craftingBook, + new BehaviourWrittenBook(), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 2L))); + + ItemList.Schematic.set( + addItem( + Schematic.ID, + "Schematic", + "EMPTY", + new ItemData(Materials.Steel, 7257600L), + new TCAspects.TC_AspectStack(TCAspects.STRONTIO, 1L))); + ItemList.Schematic_Crafting.set( + addItem( + Schematic_Crafting.ID, + "Schematic (Crafting)", + "Crafts the Programmed Recipe", + new ItemData(Materials.Steel, 7257600L), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 1L), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 1L))); + ItemList.Schematic_1by1.set( + addItem( + Schematic_1by1.ID, + "Schematic (1x1)", + "Crafts 1 Items as 1x1 (use in Packager)", + new ItemData(Materials.Steel, 7257600L), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 1L), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 1L))); + ItemList.Schematic_2by2.set( + addItem( + Schematic_2by2.ID, + "Schematic (2x2)", + "Crafts 4 Items as 2x2 (use in Packager)", + new ItemData(Materials.Steel, 7257600L), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 1L), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 1L))); + ItemList.Schematic_3by3.set( + addItem( + Schematic_3by3.ID, + "Schematic (3x3)", + "Crafts 9 Items as 3x3 (use in Packager)", + new ItemData(Materials.Steel, 7257600L), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 1L), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 1L))); + ItemList.Schematic_Dust.set( + addItem( + Schematic_Dust.ID, + "Schematic (Dusts)", + "Combines Dusts (use in Packager)", + new ItemData(Materials.Steel, 7257600L), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 1L), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 1L))); + + ItemList.Battery_Hull_LV.set( + addItem( + Battery_Hull_LV.ID, + "Small Battery Hull", + "An empty LV Battery Hull", + new ItemData(Materials.BatteryAlloy, OrePrefixes.plate.mMaterialAmount * 1L), + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 1L))); + ItemList.Battery_Hull_MV.set( + addItem( + Battery_Hull_MV.ID, + "Medium Battery Hull", + "An empty MV Battery Hull", + new ItemData(Materials.BatteryAlloy, OrePrefixes.plate.mMaterialAmount * 3L), + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 1L))); + ItemList.Battery_Hull_HV.set( + addItem( + Battery_Hull_HV.ID, + "Large Battery Hull", + "An empty HV Battery Hull", + new ItemData(Materials.BatteryAlloy, OrePrefixes.plate.mMaterialAmount * 9L), + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 4L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 4L), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 1L))); + + // ULV Batteries + ItemList.Battery_RE_ULV_Tantalum.set( + addItem( + Battery_RE_ULV_Tantalum.ID, + "Tantalum Capacitor", + "Reusable", + "batteryULV", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 1L))); + + // LV Batteries + ItemList.Battery_SU_LV_SulfuricAcid.set( + addItem( + Battery_SU_LV_Sulfuric_Acid.ID, + "Small Acid Battery", + "Single Use", + "batteryLV", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 2L))); + + ItemList.Battery_SU_LV_Mercury.set( + addItem( + Battery_SU_LV_Mercury.ID, + "Small Mercury Battery", + "Single Use", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 2L))); + + ItemList.Battery_RE_LV_Cadmium.set( + addItem( + Battery_RE_LV_Cadmium.ID, + "Small Cadmium Battery", + "Reusable", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 1L), + "batteryLV")); + + ItemList.Battery_RE_LV_Lithium.set( + addItem( + Battery_RE_LV_Lithium.ID, + "Small Lithium Battery", + "Reusable", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 1L), + "batteryLV")); + + ItemList.Battery_RE_LV_Sodium.set( + addItem( + Battery_RE_LV_Sodium.ID, + "Small Sodium Battery", + "Reusable", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 1L), + "batteryLV")); + + // MV Batteries + ItemList.Battery_SU_MV_SulfuricAcid.set( + addItem( + Battery_SU_MV_Sulfuric_Acid.ID, + "Medium Acid Battery", + "Single Use", + "batteryMV", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 4L))); + + ItemList.Battery_SU_MV_Mercury.set( + addItem( + Battery_SU_MV_Mercury.ID, + "Medium Mercury Battery", + "Single Use", + "batteryMV", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 4L))); + + ItemList.Battery_RE_MV_Cadmium.set( + addItem( + Battery_RE_MV_Cadmium.ID, + "Medium Cadmium Battery", + "Reusable", + "batteryMV", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 2L))); + + ItemList.Battery_RE_MV_Lithium.set( + addItem( + Battery_RE_MV_Lithium.ID, + "Medium Lithium Battery", + "Reusable", + "batteryMV", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 2L))); + + ItemList.Battery_RE_MV_Sodium.set( + addItem( + Battery_RE_MV_Sodium.ID, + "Medium Sodium Battery", + "Reusable", + "batteryMV", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 2L))); + + // HV Batteries + ItemList.Battery_SU_HV_SulfuricAcid.set( + addItem( + Battery_SU_HV_Sulfuric_Acid.ID, + "Large Acid Battery", + "Single Use", + "batteryHV", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 4L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 4L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 8L))); + + ItemList.Battery_SU_HV_Mercury.set( + addItem( + Battery_SU_HV_Mercury.ID, + "Large Mercury Battery", + "Single Use", + "batteryHV", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 4L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 4L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 8L))); + + ItemList.Battery_RE_HV_Cadmium.set( + addItem( + Battery_RE_HV_Cadmium.ID, + "Large Cadmium Battery", + "Reusable", + "batteryHV", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 4L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 4L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 4L))); + + ItemList.Battery_RE_HV_Lithium.set( + addItem( + Battery_RE_HV_Lithium.ID, + "Large Lithium Battery", + "Reusable", + "batteryHV", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 4L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 4L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 4L))); + + ItemList.Battery_RE_HV_Sodium.set( + addItem( + Battery_RE_HV_Sodium.ID, + "Large Sodium Battery", + "Reusable", + "batteryHV", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 4L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 4L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 4L))); + + // IV Battery + ItemList.Energy_LapotronicOrb.set( + addItem( + Energy_Lapotronic_Orb.ID, + "Lapotronic Energy Orb", + "Reusable battery", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 16L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 16L), + OrePrefixes.battery.get(Materials.IV))); + + // ZPM Module + ItemList.ZPM.set( + addItem( + IDMetaItem01.ZPM.ID, + "Zero Point Module", + "Single use battery", + "batteryZPM", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 64L), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 16L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 64L))); + + // LuV Lapotron orb cluster battery + ItemList.Energy_LapotronicOrb2.set( + addItem( + Energy_Lapotronic_orb_2.ID, + "Lapotronic Energy Orb Cluster", + "Reusable battery", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 16L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 16L), + OrePrefixes.battery.get(Materials.LuV))); + + // UV Battery + ItemList.ZPM2.set( + addItem( + ZPM2.ID, + "Ultimate Battery", + "Fill this to win minecraft", + "batteryUV", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 64L), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 16L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 64L))); + + // UMV Battery + ItemList.ZPM3.set( + addItem( + ZPM3.ID, + "Really Ultimate Battery", + "Fill this to be way older", + "batteryUMV", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 64L), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 16L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 64L))); + + // UXV Battery + ItemList.ZPM4.set( + addItem( + ZPM4.ID, + "Extremely Ultimate Battery", + "Fill this to be older", + "batteryUXV", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 64L), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 16L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 64L))); + + // MAX Battery + ItemList.ZPM5.set( + addItem( + ZPM5.ID, + "Insanely Ultimate Battery", + "Fill this for fun", + "batteryMAX", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 64L), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 16L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 64L))); + + // ERROR Battery + ItemList.ZPM6.set( + addItem( + ZPM6.ID, + "Mega Ultimate Battery", + "Fill the capacitor to reach enlightenment", + "batteryERV", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 64L), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 16L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 64L))); + + // ZPM Cluster + ItemList.Energy_Module.set( + addItem( + Energy_Module.ID, + "Energy Module", + "Reusable battery", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 16L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 16L), + OrePrefixes.battery.get(Materials.ZPM))); + + // UV Cluster + ItemList.Energy_Cluster.set( + addItem( + Energy_Cluster.ID, + "Energy Cluster", + "Reusable battery", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 64L), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 16L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 64L), + OrePrefixes.battery.get(Materials.UV))); + + // UIV, UMV, UXV and MAX component textures backported from gregicality. + ItemList.Electric_Motor_LV.set( + addItem( + Electric_Motor_LV.ID, + "Electric Motor (LV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 1L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 1L))); + ItemList.Electric_Motor_MV.set( + addItem( + Electric_Motor_MV.ID, + "Electric Motor (MV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 2L))); + ItemList.Electric_Motor_HV.set( + addItem( + Electric_Motor_HV.ID, + "Electric Motor (HV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 4L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 4L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 4L))); + ItemList.Electric_Motor_EV.set( + addItem( + Electric_Motor_EV.ID, + "Electric Motor (EV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 8L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 8L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 8L))); + ItemList.Electric_Motor_IV.set( + addItem( + Electric_Motor_IV.ID, + "Electric Motor (IV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 16L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 16L))); + ItemList.Electric_Motor_LuV.set( + addItem( + Electric_Motor_LuV.ID, + "Electric Motor (LuV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 32L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 32L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 32L))); + ItemList.Electric_Motor_ZPM.set( + addItem( + Electric_Motor_ZPM.ID, + "Electric Motor (ZPM)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 64L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 64L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 64L))); + ItemList.Electric_Motor_UV.set( + addItem( + Electric_Motor_UV.ID, + "Electric Motor (UV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 128L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 128L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 128L))); + ItemList.Electric_Motor_UHV.set( + addItem( + Electric_Motor_UHV.ID, + "Electric Motor (UHV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 256L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 256L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 256L))); + ItemList.Electric_Motor_UEV.set( + addItem( + Electric_Motor_UEV.ID, + "Electric Motor (UEV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 512L))); + ItemList.Electric_Motor_UIV.set( + addItem( + Electric_Motor_UIV.ID, + "Electric Motor (UIV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 512L))); + ItemList.Electric_Motor_UMV.set( + addItem( + Electric_Motor_UMV.ID, + "Electric Motor (UMV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 512L))); + ItemList.Electric_Motor_UXV.set( + addItem( + Electric_Motor_UXV.ID, + "Electric Motor (UXV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 512L))); + ItemList.Electric_Motor_MAX.set( + addItem( + Electric_Motor_MAX.ID, + "Electric Motor (MAX)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 512L))); + + GTModHandler.addCraftingRecipe( + ItemList.Electric_Motor_LV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.IronMagnetic), 'R', + OrePrefixes.stick.get(Materials.AnyIron), 'W', OrePrefixes.wireGt01.get(Materials.AnyCopper), 'C', + OrePrefixes.cableGt01.get(Materials.Tin) }); + GTModHandler.addCraftingRecipe( + ItemList.Electric_Motor_LV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.SteelMagnetic), 'R', + OrePrefixes.stick.get(Materials.Steel), 'W', OrePrefixes.wireGt01.get(Materials.AnyCopper), 'C', + OrePrefixes.cableGt01.get(Materials.Tin) }); + GTModHandler.addCraftingRecipe( + ItemList.Electric_Motor_MV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.SteelMagnetic), 'R', + OrePrefixes.stick.get(Materials.Aluminium), 'W', OrePrefixes.wireGt02.get(Materials.Cupronickel), 'C', + OrePrefixes.cableGt01.get(Materials.AnyCopper) }); + GTModHandler.addCraftingRecipe( + ItemList.Electric_Motor_HV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.SteelMagnetic), 'R', + OrePrefixes.stick.get(Materials.StainlessSteel), 'W', OrePrefixes.wireGt04.get(Materials.Electrum), 'C', + OrePrefixes.cableGt02.get(Materials.Silver) }); + GTModHandler.addCraftingRecipe( + ItemList.Electric_Motor_EV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.NeodymiumMagnetic), 'R', + OrePrefixes.stick.get(Materials.Titanium), 'W', OrePrefixes.wireGt04.get(Materials.BlackSteel), 'C', + OrePrefixes.cableGt02.get(Materials.Aluminium) }); + GTModHandler.addCraftingRecipe( + ItemList.Electric_Motor_IV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.NeodymiumMagnetic), 'R', + OrePrefixes.stick.get(Materials.TungstenSteel), 'W', OrePrefixes.wireGt04.get(Materials.Graphene), 'C', + OrePrefixes.cableGt02.get(Materials.Tungsten) }); + + ItemList.ElectronicsLump.set( + addItem( + 414, + "Lump of Electronics", + "How did they even produce this?", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 1L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 1L))); + + ItemList.Tesseract.set( + addItem( + Tesseract.ID, + "Raw Tesseract", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 1L))); + ItemList.GigaChad.set( + addItem( + GigaChad.ID, + "Giga Chad Token", + "You are worthy", + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 1000L))); + ItemList.EnergisedTesseract.set( + addItem( + EnergisedTesseract.ID, + "Energised Tesseract", + "Higher dimensional engineering", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 10L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 1L))); + + ItemList.Electric_Piston_LV.set( + addItem( + Electric_Piston_LV.ID, + "Electric Piston (LV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 1L))); + ItemList.Electric_Piston_MV.set( + addItem( + Electric_Piston_MV.ID, + "Electric Piston (MV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 4L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 2L))); + ItemList.Electric_Piston_HV.set( + addItem( + Electric_Piston_HV.ID, + "Electric Piston (HV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 4L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 8L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 4L))); + ItemList.Electric_Piston_EV.set( + addItem( + Electric_Piston_EV.ID, + "Electric Piston (EV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 8L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 16L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 8L))); + ItemList.Electric_Piston_IV.set( + addItem( + Electric_Piston_IV.ID, + "Electric Piston (IV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 32L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 16L))); + ItemList.Electric_Piston_LuV.set( + addItem( + Electric_Piston_LuV.ID, + "Electric Piston (LuV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 32L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 64L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 32L))); + ItemList.Electric_Piston_ZPM.set( + addItem( + Electric_Piston_ZPM.ID, + "Electric Piston (ZPM)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 64L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 64L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 64L))); + ItemList.Electric_Piston_UV.set( + addItem( + Electric_Piston_UV.ID, + "Electric Piston (UV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 128L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 128L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 128L))); + ItemList.Electric_Piston_UHV.set( + addItem( + Electric_Piston_UHV.ID, + "Electric Piston (UHV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 256L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 256L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 256L))); + ItemList.Electric_Piston_UEV.set( + addItem( + Electric_Piston_UEV.ID, + "Electric Piston (UEV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 512L))); + ItemList.Electric_Piston_UIV.set( + addItem( + Electric_Piston_UIV.ID, + "Electric Piston (UIV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 512L))); + ItemList.Electric_Piston_UMV.set( + addItem( + Electric_Piston_UMV.ID, + "Electric Piston (UMV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 512L))); + ItemList.Electric_Piston_UXV.set( + addItem( + Electric_Piston_UXV.ID, + "Electric Piston (UXV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 512L))); + ItemList.Electric_Piston_MAX.set( + addItem( + Electric_Piston_MAX.ID, + "Electric Piston (MAX)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 512L))); + + ItemList.Electric_Pump_LV.set( + addItem( + Electric_Pump_LV.ID, + "Electric Pump (LV)", + GTUtility.formatNumbers(32) + PartCoverText + GTUtility.formatNumbers(32 * 20) + PartCoverText2, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 1L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L))); + ItemList.Electric_Pump_MV.set( + addItem( + Electric_Pump_MV.ID, + "Electric Pump (MV)", + GTUtility.formatNumbers(128) + PartCoverText + GTUtility.formatNumbers(128 * 20) + PartCoverText2, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 2L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 2L))); + ItemList.Electric_Pump_HV.set( + addItem( + Electric_Pump_HV.ID, + "Electric Pump (HV)", + GTUtility.formatNumbers(512) + PartCoverText + GTUtility.formatNumbers(512 * 20) + PartCoverText2, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 4L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 4L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 4L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 4L))); + ItemList.Electric_Pump_EV.set( + addItem( + Electric_Pump_EV.ID, + "Electric Pump (EV)", + GTUtility.formatNumbers(2048) + PartCoverText + GTUtility.formatNumbers(2048 * 20) + PartCoverText2, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 8L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 8L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 8L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 8L))); + ItemList.Electric_Pump_IV.set( + addItem( + Electric_Pump_IV.ID, + "Electric Pump (IV)", + GTUtility.formatNumbers(8192) + PartCoverText + GTUtility.formatNumbers(8192 * 20) + PartCoverText2, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 16L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 16L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 16L))); + ItemList.Electric_Pump_LuV.set( + addItem( + Electric_Pump_LuV.ID, + "Electric Pump (LuV)", + GTUtility.formatNumbers(32768) + PartCoverText + GTUtility.formatNumbers(32768 * 20) + PartCoverText2, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 32L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 32L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 32L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 32L))); + ItemList.Electric_Pump_ZPM.set( + addItem( + Electric_Pump_ZPM.ID, + "Electric Pump (ZPM)", + GTUtility.formatNumbers(131072) + PartCoverText + GTUtility.formatNumbers(131072 * 20) + PartCoverText2, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 64L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 64L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 64L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 64L))); + ItemList.Electric_Pump_UV.set( + addItem( + Electric_Pump_UV.ID, + "Electric Pump (UV)", + GTUtility.formatNumbers(524288) + PartCoverText + GTUtility.formatNumbers(524288 * 20) + PartCoverText2, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 128L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 128L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 128L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 128L))); + ItemList.Electric_Pump_UHV.set( + addItem( + Electric_Pump_UHV.ID, + "Electric Pump (UHV)", + GTUtility.formatNumbers(1048576) + PartCoverText + + GTUtility.formatNumbers(1048576 * 20) + + PartCoverText2, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 256L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 256L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 256L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 256L))); + ItemList.Electric_Pump_UEV.set( + addItem( + Electric_Pump_UEV.ID, + "Electric Pump (UEV)", + GTUtility.formatNumbers(2097152) + PartCoverText + + GTUtility.formatNumbers(2097152 * 20) + + PartCoverText2, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 512L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 512L))); + ItemList.Electric_Pump_UIV.set( + addItem( + Electric_Pump_UIV.ID, + "Electric Pump (UIV)", + PartNotCoverText, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 512L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 512L))); + ItemList.Electric_Pump_UMV.set( + addItem( + Electric_Pump_UMV.ID, + "Electric Pump (UMV)", + PartNotCoverText, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 512L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 512L))); + ItemList.Electric_Pump_UXV.set( + addItem( + Electric_Pump_UXV.ID, + "Electric Pump (UXV)", + PartNotCoverText, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 512L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 512L))); + ItemList.Electric_Pump_MAX.set( + addItem( + Electric_Pump_MAX.ID, + "Electric Pump (MAX)", + PartNotCoverText, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 512L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 512L))); + + ItemList.Steam_Valve_LV.set( + addItem( + Steam_Valve_LV.ID, + "Steam Valve (LV)", + GTUtility.formatNumbers(1024) + PartCoverText + GTUtility.formatNumbers(1024 * 20) + PartCoverText2, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 1L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L))); + ItemList.Steam_Valve_MV.set( + addItem( + Steam_Valve_MV.ID, + "Steam Valve (MV)", + GTUtility.formatNumbers(2048) + PartCoverText + GTUtility.formatNumbers(2048 * 20) + PartCoverText2, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 2L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 2L))); + ItemList.Steam_Valve_HV.set( + addItem( + Steam_Valve_HV.ID, + "Steam Valve (HV)", + GTUtility.formatNumbers(4096) + PartCoverText + GTUtility.formatNumbers(4096 * 20) + PartCoverText2, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 4L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 4L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 4L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 4L))); + ItemList.Steam_Valve_EV.set( + addItem( + Steam_Valve_EV.ID, + "Steam Valve (EV)", + GTUtility.formatNumbers(8192) + PartCoverText + GTUtility.formatNumbers(8192 * 20) + PartCoverText2, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 8L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 8L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 8L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 8L))); + ItemList.Steam_Valve_IV.set( + addItem( + Steam_Valve_IV.ID, + "Steam Valve (IV)", + GTUtility.formatNumbers(16384) + PartCoverText + GTUtility.formatNumbers(16384 * 20) + PartCoverText2, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 16L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 16L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 16L))); + + ItemList.FluidRegulator_LV.set( + addItem(FluidRegulator_LV.ID, "Fluid Regulator (LV)", FRText1 + GTUtility.formatNumbers(640) + FRText2)); + ItemList.FluidRegulator_MV.set( + addItem(FluidRegulator_MV.ID, "Fluid Regulator (MV)", FRText1 + GTUtility.formatNumbers(2560) + FRText2)); + ItemList.FluidRegulator_HV.set( + addItem(FluidRegulator_HV.ID, "Fluid Regulator (HV)", FRText1 + GTUtility.formatNumbers(10240) + FRText2)); + ItemList.FluidRegulator_EV.set( + addItem(FluidRegulator_EV.ID, "Fluid Regulator (EV)", FRText1 + GTUtility.formatNumbers(40960) + FRText2)); + ItemList.FluidRegulator_IV.set( + addItem(FluidRegulator_IV.ID, "Fluid Regulator (IV)", FRText1 + GTUtility.formatNumbers(163840) + FRText2)); + ItemList.FluidRegulator_LuV.set( + addItem( + FluidRegulator_LuV.ID, + "Fluid Regulator (LuV)", + FRText1 + GTUtility.formatNumbers(655360) + FRText2)); + ItemList.FluidRegulator_ZPM.set( + addItem( + FluidRegulator_ZPM.ID, + "Fluid Regulator (ZPM)", + FRText1 + GTUtility.formatNumbers(2621440) + FRText2)); + ItemList.FluidRegulator_UV.set( + addItem( + FluidRegulator_UV.ID, + "Fluid Regulator (UV)", + FRText1 + GTUtility.formatNumbers(10485760) + FRText2)); + + ItemList.FluidFilter.set( + addItem(FluidFilter.ID, "Fluid Filter Cover", "Set with Fluid Container to only accept one Fluid Type")); + + ItemList.ItemFilter_Export.set( + addItem( + ItemFilter_Export.ID, + "Filtered Conveyor Cover (Export)", + "Right click with an item to set filter (Only supports Export Mode)")); + + ItemList.ItemFilter_Import.set( + addItem( + ItemFilter_Import.ID, + "Filtered Conveyor Cover (Import)", + "Right click with an item to set filter (Only supports Import Mode)")); + + ItemList.Cover_FluidLimiter + .set(addItem(Cover_FluidLimiter.ID, "Fluid Limiter Cover", "Limits fluid input depending on fill level")); + + ItemList.Conveyor_Module_LV.set( + addItem( + Conveyor_Module_LV.ID, + "Conveyor Module (LV)", + "1 stack every 20 secs (as Cover)", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 1L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 1L))); + ItemList.Conveyor_Module_MV.set( + addItem( + Conveyor_Module_MV.ID, + "Conveyor Module (MV)", + "1 stack every 5 secs (as Cover)", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 2L))); + ItemList.Conveyor_Module_HV.set( + addItem( + Conveyor_Module_HV.ID, + "Conveyor Module (HV)", + "1 stack every 1 sec (as Cover)", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 4L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 4L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 4L))); + ItemList.Conveyor_Module_EV.set( + addItem( + Conveyor_Module_EV.ID, + "Conveyor Module (EV)", + "1 stack every 1/5 sec (as Cover)", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 8L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 8L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 8L))); + ItemList.Conveyor_Module_IV.set( + addItem( + Conveyor_Module_IV.ID, + "Conveyor Module (IV)", + "1 stack every 1/20 sec (as Cover)", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 16L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 16L))); + ItemList.Conveyor_Module_LuV.set( + addItem( + Conveyor_Module_LuV.ID, + "Conveyor Module (LuV)", + "2 stacks every 1/20 sec (as Cover)", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 32L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 32L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 32L))); + ItemList.Conveyor_Module_ZPM.set( + addItem( + Conveyor_Module_ZPM.ID, + "Conveyor Module (ZPM)", + "4 stacks every 1/20 sec (as Cover)", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 64L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 64L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 64L))); + ItemList.Conveyor_Module_UV.set( + addItem( + Conveyor_Module_UV.ID, + "Conveyor Module (UV)", + "8 stacks every 1/20 sec (as Cover)", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 128L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 128L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 128L))); + ItemList.Conveyor_Module_UHV.set( + addItem( + Conveyor_Module_UHV.ID, + "Conveyor Module (UHV)", + "16 stacks every 1/20 sec (as Cover)", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 256L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 256L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 256L))); + ItemList.Conveyor_Module_UEV.set( + addItem( + Conveyor_Module_UEV.ID, + "Conveyor Module (UEV)", + "32 stacks every 1/20 sec (as Cover)", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 512L))); + ItemList.Conveyor_Module_UIV.set( + addItem( + Conveyor_Module_UIV.ID, + "Conveyor Module (UIV)", + PartNotCoverText, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 512L))); + ItemList.Conveyor_Module_UMV.set( + addItem( + Conveyor_Module_UMV.ID, + "Conveyor Module (UMV)", + PartNotCoverText, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 512L))); + ItemList.Conveyor_Module_UXV.set( + addItem( + Conveyor_Module_UXV.ID, + "Conveyor Module (UXV)", + PartNotCoverText, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 512L))); + ItemList.Conveyor_Module_MAX.set( + addItem( + Conveyor_Module_MAX.ID, + "Conveyor Module (MAX)", + PartNotCoverText, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 512L))); + + ItemList.Robot_Arm_LV.set( + addItem( + Robot_Arm_LV.ID, + "Robot Arm (LV)", + "1 stack every 20 secs (as Cover)/n " + RAText, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 1L))); + ItemList.Robot_Arm_MV.set( + addItem( + Robot_Arm_MV.ID, + "Robot Arm (MV)", + "1 stack every 5 secs (as Cover)/n " + RAText, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 4L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 2L), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 2L))); + ItemList.Robot_Arm_HV.set( + addItem( + Robot_Arm_HV.ID, + "Robot Arm (HV)", + "1 stack every 1 sec (as Cover)/n " + RAText, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 4L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 8L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 4L), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 4L))); + ItemList.Robot_Arm_EV.set( + addItem( + Robot_Arm_EV.ID, + "Robot Arm (EV)", + "1 stack every 1/5 sec (as Cover)/n " + RAText, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 8L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 16L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 8L), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 8L))); + ItemList.Robot_Arm_IV.set( + addItem( + Robot_Arm_IV.ID, + "Robot Arm (IV)", + "1 stack every 1/20 sec (as Cover)/n " + RAText, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 32L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 16L), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 16L))); + ItemList.Robot_Arm_LuV.set( + addItem( + Robot_Arm_LuV.ID, + "Robot Arm (LuV)", + PartNotCoverText, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 32L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 64L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 32L), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 32L))); + ItemList.Robot_Arm_ZPM.set( + addItem( + Robot_Arm_ZPM.ID, + "Robot Arm (ZPM)", + PartNotCoverText, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 64L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 128L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 64L), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 64L))); + ItemList.Robot_Arm_UV.set( + addItem( + Robot_Arm_UV.ID, + "Robot Arm (UV)", + PartNotCoverText, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 128L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 256L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 128L), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 128L))); + ItemList.Robot_Arm_UHV.set( + addItem( + Robot_Arm_UHV.ID, + "Robot Arm (UHV)", + PartNotCoverText, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 256L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 256L), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 256L))); + ItemList.Robot_Arm_UEV.set( + addItem( + Robot_Arm_UEV.ID, + "Robot Arm (UEV)", + PartNotCoverText, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 1024L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 512L), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 512L))); + ItemList.Robot_Arm_UIV.set( + addItem( + Robot_Arm_UIV.ID, + "Robot Arm (UIV)", + PartNotCoverText, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 1024L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 512L), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 512L))); + ItemList.Robot_Arm_UMV.set( + addItem( + Robot_Arm_UMV.ID, + "Robot Arm (UMV)", + PartNotCoverText, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 1024L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 512L), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 512L))); + ItemList.Robot_Arm_UXV.set( + addItem( + Robot_Arm_UXV.ID, + "Robot Arm (UXV)", + PartNotCoverText, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 1024L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 512L), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 512L))); + ItemList.Robot_Arm_MAX.set( + addItem( + Robot_Arm_MAX.ID, + "Robot Arm (MAX)", + PartNotCoverText, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 1024L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 512L), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 512L))); + + ItemList.QuantumEye.set(addItem(QuantumEye.ID, "Quantum Eye", "Improved Ender Eye")); + ItemList.QuantumStar.set(addItem(QuantumStar.ID, "Quantum Star", "Improved Nether Star")); + ItemList.Gravistar.set(addItem(Gravistar.ID, "Gravi Star", "Ultimate Nether Star")); + + ItemList.Emitter_LV.set( + addItem( + Emitter_LV.ID, + "Emitter (LV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 1L), + new TCAspects.TC_AspectStack(TCAspects.LUX, 1L))); + ItemList.Emitter_MV.set( + addItem( + Emitter_MV.ID, + "Emitter (MV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.LUX, 2L))); + ItemList.Emitter_HV.set( + addItem( + Emitter_HV.ID, + "Emitter (HV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 4L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 4L), + new TCAspects.TC_AspectStack(TCAspects.LUX, 4L))); + ItemList.Emitter_EV.set( + addItem( + Emitter_EV.ID, + "Emitter (EV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 8L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 8L), + new TCAspects.TC_AspectStack(TCAspects.LUX, 8L))); + ItemList.Emitter_IV.set( + addItem( + Emitter_IV.ID, + "Emitter (IV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 16L), + new TCAspects.TC_AspectStack(TCAspects.LUX, 16L))); + ItemList.Emitter_LuV.set( + addItem( + Emitter_LuV.ID, + "Emitter (LuV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 32L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 32L), + new TCAspects.TC_AspectStack(TCAspects.LUX, 32L))); + ItemList.Emitter_ZPM.set( + addItem( + Emitter_ZPM.ID, + "Emitter (ZPM)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 64L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 64L), + new TCAspects.TC_AspectStack(TCAspects.LUX, 64L))); + ItemList.Emitter_UV.set( + addItem( + Emitter_UV.ID, + "Emitter (UV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 128L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 128L), + new TCAspects.TC_AspectStack(TCAspects.LUX, 128L))); + ItemList.Emitter_UHV.set( + addItem( + Emitter_UHV.ID, + "Emitter (UHV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 256L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 256L), + new TCAspects.TC_AspectStack(TCAspects.LUX, 256L))); + ItemList.Emitter_UEV.set( + addItem( + Emitter_UEV.ID, + "Emitter (UEV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.LUX, 512L))); + ItemList.Emitter_UIV.set( + addItem( + Emitter_UIV.ID, + "Emitter (UIV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.LUX, 512L))); + ItemList.Emitter_UMV.set( + addItem( + Emitter_UMV.ID, + "Emitter (UMV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.LUX, 512L))); + ItemList.Emitter_UXV.set( + addItem( + Emitter_UXV.ID, + "Emitter (UXV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.LUX, 512L))); + ItemList.Emitter_MAX.set( + addItem( + Emitter_MAX.ID, + "Emitter (MAX)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.LUX, 512L))); + + ItemList.Sensor_LV.set( + addItem( + Sensor_LV.ID, + "Sensor (LV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 1L), + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 1L))); + + ItemList.Sensor_MV.set( + addItem( + Sensor_MV.ID, + "Sensor (MV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 2L))); + ItemList.Sensor_HV.set( + addItem( + Sensor_HV.ID, + "Sensor (HV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 4L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 4L), + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 4L))); + ItemList.Sensor_EV.set( + addItem( + Sensor_EV.ID, + "Sensor (EV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 8L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 8L), + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 8L))); + ItemList.Sensor_IV.set( + addItem( + Sensor_IV.ID, + "Sensor (IV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 16L), + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 16L))); + ItemList.Sensor_LuV.set( + addItem( + Sensor_LuV.ID, + "Sensor (LuV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 32L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 32L), + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 32L))); + ItemList.Sensor_ZPM.set( + addItem( + Sensor_ZPM.ID, + "Sensor (ZPM)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 64L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 64L), + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 64L))); + ItemList.Sensor_UV.set( + addItem( + Sensor_UV.ID, + "Sensor (UV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 128L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 128L), + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 128L))); + ItemList.Sensor_UHV.set( + addItem( + Sensor_UHV.ID, + "Sensor (UHV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 256L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 256L), + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 256L))); + ItemList.Sensor_UEV.set( + addItem( + Sensor_UEV.ID, + "Sensor (UEV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 512L))); + ItemList.Sensor_UIV.set( + addItem( + Sensor_UIV.ID, + "Sensor (UIV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 512L))); + ItemList.Sensor_UMV.set( + addItem( + Sensor_UMV.ID, + "Sensor (UMV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 512L))); + ItemList.Sensor_UXV.set( + addItem( + Sensor_UXV.ID, + "Sensor (UXV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 512L))); + ItemList.Sensor_MAX.set( + addItem( + Sensor_MAX.ID, + "Sensor (MAX)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 512L))); + + ItemList.Field_Generator_LV.set( + addItem( + Field_Generator_LV.ID, + "Field Generator (LV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 1L), + new TCAspects.TC_AspectStack(TCAspects.TUTAMEN, 1L))); + ItemList.Field_Generator_MV.set( + addItem( + Field_Generator_MV.ID, + "Field Generator (MV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 4L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.TUTAMEN, 2L))); + ItemList.Field_Generator_HV.set( + addItem( + Field_Generator_HV.ID, + "Field Generator (HV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 8L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 4L), + new TCAspects.TC_AspectStack(TCAspects.TUTAMEN, 4L))); + ItemList.Field_Generator_EV.set( + addItem( + Field_Generator_EV.ID, + "Field Generator (EV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 8L), + new TCAspects.TC_AspectStack(TCAspects.TUTAMEN, 8L))); + ItemList.Field_Generator_IV.set( + addItem( + Field_Generator_IV.ID, + "Field Generator (IV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 32L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 16L), + new TCAspects.TC_AspectStack(TCAspects.TUTAMEN, 16L))); + ItemList.Field_Generator_LuV.set( + addItem( + Field_Generator_LuV.ID, + "Field Generator (LuV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 64L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 32L), + new TCAspects.TC_AspectStack(TCAspects.TUTAMEN, 32L))); + ItemList.Field_Generator_ZPM.set( + addItem( + Field_Generator_ZPM.ID, + "Field Generator (ZPM)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 128L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 64L), + new TCAspects.TC_AspectStack(TCAspects.TUTAMEN, 64L))); + ItemList.Field_Generator_UV.set( + addItem( + Field_Generator_UV.ID, + "Field Generator (UV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 256L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 128L), + new TCAspects.TC_AspectStack(TCAspects.TUTAMEN, 128L))); + ItemList.Field_Generator_UHV.set( + addItem( + Field_Generator_UHV.ID, + "Field Generator (UHV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 256L), + new TCAspects.TC_AspectStack(TCAspects.TUTAMEN, 256L))); + ItemList.Field_Generator_UEV.set( + addItem( + Field_Generator_UEV.ID, + "Field Generator (UEV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 1024L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.TUTAMEN, 512L))); + ItemList.Field_Generator_UIV.set( + addItem( + Field_Generator_UIV.ID, + "Field Generator (UIV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 1024L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.TUTAMEN, 512L))); + ItemList.Field_Generator_UMV.set( + addItem( + Field_Generator_UMV.ID, + "Field Generator (UMV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 1024L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.TUTAMEN, 512L))); + ItemList.Field_Generator_UXV.set( + addItem( + Field_Generator_UXV.ID, + "Field Generator (UXV)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 1024L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.TUTAMEN, 512L))); + ItemList.Field_Generator_MAX.set( + addItem( + Field_Generator_MAX.ID, + "Field Generator (MAX)", + "", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 1024L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 512L), + new TCAspects.TC_AspectStack(TCAspects.TUTAMEN, 512L))); + + ItemList.StableAdhesive.set( + addItem( + StableAdhesive.ID, + "Hyper-Stable Self-Healing Adhesive", + "Complete and selective adhesion, even when torn or damaged", + new TCAspects.TC_AspectStack(TCAspects.ORDO, 30L), + new TCAspects.TC_AspectStack(TCAspects.SANO, 20L), + new TCAspects.TC_AspectStack(TCAspects.LIMUS, 10L), + new TCAspects.TC_AspectStack(TCAspects.VINCULUM, 5L))); + ItemList.SuperconductorComposite.set( + addItem( + SuperconductorComposite.ID, + "Superconductor Rare-Earth Composite", + "Zero resistance to electrical and quantum flow, regardless of temperature", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 50L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 25L), + new TCAspects.TC_AspectStack(TCAspects.TERRA, 15L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 10L))); + ItemList.NaquadriaSupersolid.set( + addItem( + NaquadriaSupersolid.ID, + "Black Body Naquadria Supersolid", + "Flows like a fluid and reflects nothing, perfect absorption and transfer", + new TCAspects.TC_AspectStack(TCAspects.TENEBRAE, 100L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 60L), + new TCAspects.TC_AspectStack(TCAspects.PERMUTATIO, 40L), + new TCAspects.TC_AspectStack(TCAspects.RADIO, 20L), + new TCAspects.TC_AspectStack(TCAspects.ALIENIS, 10L))); + + // Circuits ULV - LuV. + ItemList.Circuit_Primitive.set( + addItem( + Circuit_Primitive.ID, + "Vacuum Tube", + "A very simple Circuit", + OrePrefixes.circuit.get(Materials.ULV), + SubTag.NO_UNIFICATION)); + ItemList.Circuit_Basic.set( + addItem( + Circuit_Basic.ID, + "Integrated Logic Circuit", + "A Basic Circuit", + OrePrefixes.circuit.get(Materials.LV), + SubTag.NO_UNIFICATION)); + ItemList.Circuit_Good.set( + addItem( + Circuit_Good.ID, + "Good Electronic Circuit", + "A Good Circuit", + OrePrefixes.circuit.get(Materials.MV), + SubTag.NO_UNIFICATION)); + ItemList.Circuit_Advanced.set( + addItem( + Circuit_Advanced.ID, + "Processor Assembly", + "An Advanced Circuit", + OrePrefixes.circuit.get(Materials.HV), + SubTag.NO_UNIFICATION)); + ItemList.Circuit_Data.set( + addItem( + Circuit_Data.ID, + "Workstation", + "An Extreme Circuit", + OrePrefixes.circuit.get(Materials.EV), + SubTag.NO_UNIFICATION)); + ItemList.Circuit_Elite.set( + addItem( + Circuit_Elite.ID, + "Mainframe", + "An Elite Circuit", + OrePrefixes.circuit.get(Materials.IV), + SubTag.NO_UNIFICATION)); + ItemList.Circuit_Master.set( + addItem( + Circuit_Master.ID, + "Nanoprocessor Mainframe", + "A Master Circuit", + OrePrefixes.circuit.get(Materials.LuV), + SubTag.NO_UNIFICATION)); + + // Backwards compatibility. + ItemList.Circuit_Parts_Vacuum_Tube.set(ItemList.Circuit_Primitive.get(1)); + ItemList.Circuit_Computer.set(ItemList.Circuit_Advanced.get(1)); + + ItemList.Tool_DataOrb.set( + addItem( + Tool_DataOrb.ID, + "Data Orb", + "A High Capacity Data Storage", + SubTag.NO_UNIFICATION, + new BehaviourDataOrb())); + + ItemList.Tool_DataStick.set( + addItem( + Tool_DataStick.ID, + "Data Stick", + "A Low Capacity Data Storage", + SubTag.NO_UNIFICATION, + new BehaviourDataStick())); + + ItemList.Tool_Cover_Copy_Paste.set( + addItem( + Tool_Cover_Copy_Paste.ID, + "Cover Copy/Paste tool", + "Set Cover Massively.", + BehaviourCoverTool.INSTANCE, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 6L), + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 6L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 6L))); + + ItemList.Circuit_Board_Basic.set(addItem(Circuit_Board_Basic.ID, "Coated Circuit Board", "A Basic Board")); + ItemList.Circuit_Board_Coated.set(ItemList.Circuit_Board_Basic.get(1)); + ItemList.Circuit_Board_Advanced + .set(addItem(Circuit_Board_Advanced.ID, "Epoxy Circuit Board", "An Advanced Board")); + ItemList.Circuit_Board_Epoxy.set(ItemList.Circuit_Board_Advanced.get(1)); + ItemList.Circuit_Board_Elite + .set(addItem(Circuit_Board_Elite.ID, "Multilayer Fiber-Reinforced Circuit Board", "An Elite Board")); + ItemList.Circuit_Board_Multifiberglass.set(ItemList.Circuit_Board_Elite.get(1)); + ItemList.Circuit_Parts_Crystal_Chip_Elite + .set(addItem(Circuit_Parts_Crystal_Chip_Elite.ID, "Engraved Crystal Chip", "Needed for Circuits")); + ItemList.Circuit_Parts_Crystal_Chip_Master + .set(addItem(Circuit_Parts_Crystal_Chip_Master.ID, "Engraved Lapotron Chip", "Needed for Circuits")); + ItemList.Circuit_Parts_Crystal_Chip_Wetware + .set(addItem(Circuit_Parts_Crystal_Chip_Wetware.ID, "Living Crystal Chip", "Needed for Circuits")); + ItemList.Circuit_Parts_Advanced.set(addItem(Circuit_Parts_Advanced.ID, "Diode", "Basic Electronic Component")); + ItemList.Circuit_Parts_Diode.set(ItemList.Circuit_Parts_Advanced.get(1)); + ItemList.Circuit_Parts_Wiring_Basic + .set(addItem(Circuit_Parts_Wiring_Basic.ID, "Resistor", "Basic Electronic Component")); + ItemList.Circuit_Parts_Resistor.set(ItemList.Circuit_Parts_Wiring_Basic.get(1)); + ItemList.Circuit_Parts_Wiring_Advanced + .set(addItem(Circuit_Parts_Wiring_Advanced.ID, "Transistor", "Basic Electronic Component")); + ItemList.Circuit_Parts_Transistor.set(ItemList.Circuit_Parts_Wiring_Advanced.get(1)); + ItemList.Circuit_Parts_Wiring_Elite + .set(addItem(Circuit_Parts_Wiring_Elite.ID, "Capacitor", "Electronic Component")); + ItemList.Circuit_Parts_Capacitor.set(ItemList.Circuit_Parts_Wiring_Elite.get(1)); + ItemList.Empty_Board_Basic.set(addItem(Empty_Board_Basic.ID, "Phenolic Circuit Board", "A Good Board")); + ItemList.Circuit_Board_Phenolic.set(ItemList.Empty_Board_Basic.get(1)); + ItemList.Empty_Board_Elite + .set(addItem(Empty_Board_Elite.ID, "Fiber-Reinforced Circuit Board", "An Extreme Board")); + ItemList.Circuit_Board_Fiberglass.set(ItemList.Empty_Board_Elite.get(1)); + + ItemList.Component_Sawblade_Diamond.set( + addItem( + Component_Sawblade_Diamond.ID, + "Diamond Sawblade", + "", + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.PERDITIO, 2L), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 4L), + OreDictNames.craftingDiamondBlade)); + ItemList.Component_Grinder_Diamond.set( + addItem( + Component_Grinder_Diamond.ID, + "Diamond Grinding Head", + "", + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.PERDITIO, 2L), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 6L), + OreDictNames.craftingGrinder)); + ItemList.Component_Grinder_Tungsten.set( + addItem( + Component_Grinder_Tungsten.ID, + "Tungsten Grinding Head", + "", + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.PERDITIO, 2L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 6L), + OreDictNames.craftingGrinder)); + + ItemList.Upgrade_Muffler.set( + addItem( + Upgrade_Muffler.ID, + "Muffler Upgrade", + "Makes Machines silent", + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 2L), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 2L))); + ItemList.Upgrade_Lock.set( + addItem( + Upgrade_Lock.ID, + "Lock Upgrade", + "Protects your Machines", + new TCAspects.TC_AspectStack(TCAspects.TUTAMEN, 4L))); + + ItemList.Component_Filter.set( + addItem( + Component_Filter.ID, + "Item Filter", + "", + new ItemData(Materials.Zinc, OrePrefixes.foil.mMaterialAmount * 16L), + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 1L), + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 1L), + OreDictNames.craftingFilter)); + + ItemList.Cover_Controller.set( + addItem( + Cover_Controller.ID, + "Machine Controller Cover", + "Turns Machines ON/OFF", + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 1L))); + ItemList.Cover_ActivityDetector.set( + addItem( + Cover_ActivityDetector.ID, + "Activity Detector Cover", + "Gives out Activity as Redstone", + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 2L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 1L))); + ItemList.Cover_FluidDetector.set( + addItem( + Cover_FluidDetector.ID, + "Fluid Detector Cover", + "Gives out Fluid Amount as Redstone", + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 2L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L))); + ItemList.Cover_ItemDetector.set( + addItem( + Cover_ItemDetector.ID, + "Item Detector Cover", + "Gives out Item Amount as Redstone", + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 2L), + new TCAspects.TC_AspectStack(TCAspects.TERRA, 1L))); + ItemList.Cover_EnergyDetector.set( + addItem( + Cover_EnergyDetector.ID, + "Energy Detector Cover", + "Gives out Energy Amount as Redstone", + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 2L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 1L))); + ItemList.Cover_PlayerDetector.set( + addItem( + Cover_PlayerDetector.ID, + "Player Detector Cover", + "Gives out close Players as Redstone", + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 2L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 1L))); + ItemList.Cover_FluidStorageMonitor.set( + addItem( + Cover_FLuidStorageMonitor.ID, + "Fluid Storage Monitor Cover", + "Displays the fluid stored in the Tank", + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 2L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L))); + ItemList.Cover_Chest_Basic.set( + addItem( + Cover_Chest_Basic.ID, + "Basic Item Holder", + "Hold a few item for use within machine GUI", + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 2L))); + ItemList.Cover_Chest_Good.set( + addItem( + Cover_Chest_Good.ID, + "Good Item Holder", + "Hold a few item for use within machine GUI", + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 2L))); + ItemList.Cover_Chest_Advanced.set( + addItem( + Cover_Chest_Advanced.ID, + "Advanced Item Holder", + "Hold a few item for use within machine GUI", + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 2L))); + + ItemList.Cover_Screen.set( + addItem( + Cover_Screen.ID, + "Computer Monitor Cover", + "Displays Data and GUI", + new TCAspects.TC_AspectStack(TCAspects.COGNITIO, 2L), + new TCAspects.TC_AspectStack(TCAspects.LUX, 2L), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L))); + ItemList.Cover_Crafting.set( + addItem( + Cover_Crafting.ID, + "Crafting Table Cover", + "Better than a wooden Workbench", + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 4L))); + ItemList.Cover_Drain.set( + addItem( + Cover_Drain.ID, + "Drain Module Cover", + "Absorbs Fluids and collects Rain", + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 2L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 2L))); + + ItemList.Cover_Shutter.set( + addItem( + Cover_Shutter.ID, + "Shutter Module Cover", + "Blocks Inventory/Tank Side. Use together with Machine Controller.", + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 1L))); + + ItemList.Cover_SolarPanel.set( + addItem( + Cover_SolarPanel.ID, + "Solar Panel", + "May the Sun be with you (Needs cleaning with right click)", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 1L), + new TCAspects.TC_AspectStack(TCAspects.TENEBRAE, 1L))); + ItemList.Cover_SolarPanel_8V.set( + addItem( + Cover_SolarPanel_8V.ID, + "Solar Panel (8V)", + "8 Volt Solar Panel (Needs cleaning with right click)", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 2L), + new TCAspects.TC_AspectStack(TCAspects.TENEBRAE, 2L))); + ItemList.Cover_SolarPanel_LV.set( + addItem( + Cover_SolarPanel_LV.ID, + "Solar Panel (LV)", + "Low Voltage Solar Panel (Needs cleaning with right click)", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 4L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 4L), + new TCAspects.TC_AspectStack(TCAspects.TENEBRAE, 4L))); + ItemList.Cover_SolarPanel_MV.set( + addItem( + Cover_SolarPanel_MV.ID, + "Solar Panel (MV)", + "Medium Voltage Solar Panel (Needs cleaning with right click)", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 8L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 8L), + new TCAspects.TC_AspectStack(TCAspects.TENEBRAE, 8L))); + ItemList.Cover_SolarPanel_HV.set( + addItem( + Cover_SolarPanel_HV.ID, + "Solar Panel (HV)", + "High Voltage Solar Panel (Needs cleaning with right click)", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 16L), + new TCAspects.TC_AspectStack(TCAspects.TENEBRAE, 16L))); + ItemList.Cover_SolarPanel_EV.set( + addItem( + Cover_SolarPanel_EV.ID, + "Solar Panel (EV)", + "Extreme Solar Panel (Needs cleaning with right click)", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 32L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 32L), + new TCAspects.TC_AspectStack(TCAspects.TENEBRAE, 32L))); + ItemList.Cover_SolarPanel_IV.set( + addItem( + Cover_SolarPanel_IV.ID, + "Solar Panel (IV)", + "Insane Solar Panel (Needs cleaning with right click)", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 64L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 64L), + new TCAspects.TC_AspectStack(TCAspects.TENEBRAE, 64L))); + ItemList.Cover_SolarPanel_LuV.set( + addItem( + Cover_SolarPanel_LuV.ID, + "Solar Panel (LuV)", + "Ludicrous Solar Panel (Needs cleaning with right click)", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 64L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 64L), + new TCAspects.TC_AspectStack(TCAspects.TENEBRAE, 64L))); + ItemList.Cover_SolarPanel_ZPM.set( + addItem( + Cover_SolarPanel_ZPM.ID, + "Solar Panel (ZPM)", + "ZPM Voltage Solar Panel (Needs cleaning with right click)", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 64L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 64L), + new TCAspects.TC_AspectStack(TCAspects.TENEBRAE, 64L))); + ItemList.Cover_SolarPanel_UV.set( + addItem( + Cover_SolarPanel_UV.ID, + "Solar Panel (UV)", + "Ultimate Solar Panel (Needs cleaning with right click)", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 64L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 64L), + new TCAspects.TC_AspectStack(TCAspects.TENEBRAE, 64L))); + + ItemList.Tool_Sonictron.set( + addItem( + Tool_Sonictron.ID, + "Sonictron", + "Bring your Music with you", + BehaviourSonictron.INSTANCE, + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 4L))); + ItemList.Tool_Cheat.set( + addItem( + Tool_Cheat.ID, + "Debug Scanner", + "Also an Infinite Energy Source", + BehaviourScanner.INSTANCE, + new TCAspects.TC_AspectStack(TCAspects.NEBRISUM, 64L))); + ItemList.Tool_Scanner.set( + addItem( + Tool_Scanner.ID, + "Portable Scanner", + "Tricorder", + BehaviourScanner.INSTANCE, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 6L), + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 6L))); + + ItemList.NC_SensorKit.set(addItem(NC_SensorKit.ID, "GregTech Sensor Kit", "", new BehaviourSensorKit())); + ItemList.Duct_Tape.set( + addItem( + Duct_Tape.ID, + "BrainTech Aerospace Advanced Reinforced Duct Tape FAL-84", + "If you can't fix it with this, use more of it!", + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L), + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), + OreDictNames.craftingDuctTape)); + ItemList.McGuffium_239.set( + addItem( + McGuffium_239.ID, + "Mc Guffium 239", + "42% better than Phlebotnium", + new TCAspects.TC_AspectStack(TCAspects.ALIENIS, 8L), + new TCAspects.TC_AspectStack(TCAspects.PERMUTATIO, 8L), + new TCAspects.TC_AspectStack(TCAspects.SPIRITUS, 8L), + new TCAspects.TC_AspectStack(TCAspects.AURAM, 8L), + new TCAspects.TC_AspectStack(TCAspects.VITIUM, 8L), + new TCAspects.TC_AspectStack(TCAspects.RADIO, 8L), + new TCAspects.TC_AspectStack(TCAspects.MAGNETO, 8L), + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 8L), + new TCAspects.TC_AspectStack(TCAspects.NEBRISUM, 8L), + new TCAspects.TC_AspectStack(TCAspects.STRONTIO, 8L))); + + ItemList.Cover_RedstoneTransmitterExternal.set( + addItem( + Cover_RedstoneTransmitterExternal.ID, + "Redstone Transmitter (External)", + "Transfers Redstone signals wireless", + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 1L))); + ItemList.Cover_RedstoneTransmitterInternal.set( + addItem( + Cover_RedstoneTransmitterInternal.ID, + "Redstone Transmitter (Internal)", + "Transfers Redstone signals wireless", + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 1L))); + ItemList.Cover_RedstoneReceiverExternal.set( + addItem( + Cover_RedstoneReceiverExternal.ID, + "Redstone Receiver (External)", + "Transfers Redstone signals wireless", + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 1L))); + ItemList.Cover_RedstoneReceiverInternal.set( + addItem( + Cover_RedstoneReceiverInternal.ID, + "Redstone Receiver (Internal)", + "Transfers Redstone signals wireless", + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 1L))); + + ItemList.Cover_NeedsMaintainance.set( + addItem( + Cover_NeedsMaintenance.ID, + "Needs Maintenance Cover", + "Attach to Multiblock Controller. Emits Redstone Signal if needs Maintenance", + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 1L))); + + ItemList.Steam_Regulator_LV.set( + addItem( + Steam_Regulator_LV.ID, + "Steam Regulator (LV)", + GTUtility.formatNumbers(1024) + PartCoverText + GTUtility.formatNumbers(1024 * 20) + PartCoverText2, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 1L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L))); + ItemList.Steam_Regulator_MV.set( + addItem( + Steam_Regulator_MV.ID, + "Steam Regulator (MV)", + GTUtility.formatNumbers(2048) + PartCoverText + GTUtility.formatNumbers(2048 * 20) + PartCoverText2, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 2L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 2L))); + ItemList.Steam_Regulator_HV.set( + addItem( + Steam_Regulator_HV.ID, + "Steam Regulator (HV)", + GTUtility.formatNumbers(4096) + PartCoverText + GTUtility.formatNumbers(4096 * 20) + PartCoverText2, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 4L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 4L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 4L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 4L))); + ItemList.Steam_Regulator_EV.set( + addItem( + Steam_Regulator_EV.ID, + "Steam Regulator (EV)", + GTUtility.formatNumbers(8192) + PartCoverText + GTUtility.formatNumbers(8192 * 20) + PartCoverText2, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 8L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 8L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 8L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 8L))); + ItemList.Steam_Regulator_IV.set( + addItem( + Steam_Regulator_IV.ID, + "Steam Regulator (IV)", + GTUtility.formatNumbers(16384) + PartCoverText + GTUtility.formatNumbers(16384 * 20) + PartCoverText2, + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 16L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 16L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 16L))); + ItemList.Electromagnet_Iron.set( + addItem( + Electromagnet_Iron.ID, + "Iron Electromagnet", + MagnetTiers.buildMagnetTooltip(MagnetTiers.Iron), + new TCAspects.TC_AspectStack(TCAspects.MAGNETO, 8))); + ItemList.Electromagnet_Steel.set( + addItem( + Electromagnet_Steel.ID, + "Steel Electromagnet", + MagnetTiers.buildMagnetTooltip(MagnetTiers.Steel), + new TCAspects.TC_AspectStack(TCAspects.MAGNETO, 16))); + ItemList.Electromagnet_Neodymium.set( + addItem( + Electromagnet_Neodymium.ID, + "Neodymium Electromagnet", + MagnetTiers.buildMagnetTooltip(MagnetTiers.Neodymium), + new TCAspects.TC_AspectStack(TCAspects.MAGNETO, 24))); + ItemList.Electromagnet_Samarium.set( + addItem( + Electromagnet_Samarium.ID, + EnumChatFormatting.YELLOW + "Samarium Electromagnet", + MagnetTiers.buildMagnetTooltip(MagnetTiers.Samarium), + new TCAspects.TC_AspectStack(TCAspects.MAGNETO, 32))); + ItemList.Electromagnet_Tengam.set( + addItem( + Electromagnet_Tengam.ID, + EnumChatFormatting.GREEN + "Tengam Electromagnet", + MagnetTiers.buildMagnetTooltip(MagnetTiers.Tengam), + new TCAspects.TC_AspectStack(TCAspects.MAGNETO, 40))); + ItemList.Black_Hole_Opener.set( + addItem( + Black_Hole_Opener.ID, + "Black Hole Activation Catalyst", + "Opens a semi-stable black hole", + new TCAspects.TC_AspectStack(TCAspects.ALIENIS, 32), + new TCAspects.TC_AspectStack(TCAspects.ORDO, 64))); + ItemList.Black_Hole_Closer.set( + addItem( + Black_Hole_Closer.ID, + "Black Hole Deactivation Catalyst", + "Safely closes a semi-stable black hole", + new TCAspects.TC_AspectStack(TCAspects.ALIENIS, 32), + new TCAspects.TC_AspectStack(TCAspects.PERDITIO, 64))); + + // Empty battery hulls + ItemList.BatteryHull_EV.set( + addItem( + BatteryHull_EV.ID, + "Small Sunnarium Battery (Empty)", + "An empty EV Battery Container", + new ItemData(Materials.BlueSteel, OrePrefixes.plate.mMaterialAmount * 2L), + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 8L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 8L), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 8L))); + ItemList.BatteryHull_IV.set( + addItem( + BatteryHull_IV.ID, + "Medium Sunnarium Battery (Empty)", + "An empty IV Battery Container", + new ItemData(Materials.RoseGold, OrePrefixes.plate.mMaterialAmount * 6L), + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 16L))); + ItemList.BatteryHull_LuV.set( + addItem( + BatteryHull_LuV.ID, + "Large Sunnarium Battery (Empty)", + "An empty LuV Battery Container", + new ItemData(Materials.RedSteel, OrePrefixes.plate.mMaterialAmount * 18L), + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 32L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 32L), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 32L))); + ItemList.BatteryHull_ZPM.set( + addItem( + BatteryHull_ZPM.ID, + "Medium Naquadria Battery (Empty)", + "An empty ZPM Energy Storage", + new ItemData(Materials.Europium, OrePrefixes.plate.mMaterialAmount * 6L), + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 64L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 64L), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 64L))); + ItemList.BatteryHull_UV.set( + addItem( + BatteryHull_UV.ID, + "Large Naquadria Battery (Empty)", + "An empty UV Energy Storage", + new ItemData(Materials.Americium, OrePrefixes.plate.mMaterialAmount * 18L), + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 128L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 128L), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 128L))); + ItemList.BatteryHull_UHV.set( + addItem( + BatteryHull_UHV.ID, + "Small Neutronium Battery (Empty)", + "An empty UHV Energy Storage", + new ItemData(Materials.Naquadah, OrePrefixes.plate.mMaterialAmount * 24L), + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 256L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 256L), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 256L))); + ItemList.BatteryHull_UEV.set( + addItem( + BatteryHull_UEV.ID, + "Medium Neutronium Battery (Empty)", + "An empty UEV Energy Storage", + new ItemData(Materials.NaquadahEnriched, OrePrefixes.plate.mMaterialAmount * 36L), + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 512L))); + ItemList.BatteryHull_UIV.set( + addItem( + BatteryHull_UIV.ID, + "Large Neutronium Battery (Empty)", + "An empty UIV Energy Storage", + new ItemData(Materials.NaquadahAlloy, OrePrefixes.plate.mMaterialAmount * 48L), + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 1024L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 1024L), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 1024L))); + ItemList.BatteryHull_UMV.set( + addItem( + BatteryHull_UMV.ID, + "Medium Plasma Battery (Empty)", + "An empty UMV Energy Storage", + new ItemData(Materials.Neutronium, OrePrefixes.plate.mMaterialAmount * 56L), + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 2048L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 2048L), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 2048L))); + ItemList.BatteryHull_UxV.set( + addItem( + BatteryHull_UxV.ID, + "Large Plasma Battery (Empty)", + "An empty UXV Energy Storage", + new ItemData(Materials.DraconiumAwakened, OrePrefixes.plate.mMaterialAmount * 64L), + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 4096L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 4096L), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 4096L))); + + ItemList.BatteryHull_EV_Full.set( + addItem( + BatteryHull_EV_Full.ID, + "Small Sunnarium Battery", + "Reusable", + "batteryEV", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 32L))); + + ItemList.BatteryHull_IV_Full.set( + addItem( + BatteryHull_IV_Full.ID, + "Medium Sunnarium Battery", + "Reusable", + "batteryIV", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 32L))); + + ItemList.BatteryHull_LuV_Full.set( + addItem( + BatteryHull_LuV_Full.ID, + "Large Sunnarium Battery", + "Reusable", + "batteryLuV", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 32L))); + + ItemList.BatteryHull_ZPM_Full.set( + addItem( + BatteryHull_ZPM_Full.ID, + "Medium Naquadria Battery", + "Reusable", + "batteryZPM", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 32L))); + + ItemList.BatteryHull_UV_Full.set( + addItem( + BatteryHull_UV_Full.ID, + "Large Naquadria Battery", + "Reusable", + "batteryUV", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 32L))); + + ItemList.BatteryHull_UHV_Full.set( + addItem( + BatteryHull_UHV_Full.ID, + "Small Neutronium Battery", + "Reusable", + "batteryUHV", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 32L))); + + ItemList.BatteryHull_UEV_Full.set( + addItem( + BatteryHull_UEV_Full.ID, + "Medium Neutronium Battery", + "Reusable", + "batteryUEV", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 32L))); + + ItemList.BatteryHull_UIV_Full.set( + addItem( + BatteryHull_UIV_Full.ID, + "Large Neutronium Battery", + "Reusable", + "batteryUIV", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 32L))); + + ItemList.BatteryHull_UMV_Full.set( + addItem( + BatteryHull_UMV_Full.ID, + "Medium Infinity Battery", + "Reusable", + "batteryUMV", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 32L))); + + ItemList.BatteryHull_UxV_Full.set( + addItem( + BatteryHull_UxV_Full.ID, + "Large Infinity Battery", + "Reusable", + "batteryUXV", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 16L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 32L))); + + removeRecipes(); + setBurnValues(); + oredictBlacklistEntries(); + registerCovers(); + registerBehaviors(); + setAllFluidContainerStats(); + setAllElectricStats(); + registerTieredTooltips(); + + craftingShapedRecipes(); + craftingShapelessRecipes(); + } + + private static final Map cauldronRemap = new HashMap<>(); + + public static void registerCauldronCleaningFor(Materials in, Materials out) { + cauldronRemap.put(in, out); + } + + @Override + public boolean onEntityItemUpdate(EntityItem aItemEntity) { + int aDamage = aItemEntity.getEntityItem() + .getItemDamage(); + if ((aDamage < 32000) && (aDamage >= 0) && (!aItemEntity.worldObj.isRemote)) { + Materials aMaterial = GregTechAPI.sGeneratedMaterials[(aDamage % 1000)]; + if ((aMaterial != null) && (aMaterial != Materials.Empty) && (aMaterial != Materials._NULL)) { + int tX = MathHelper.floor_double(aItemEntity.posX); + int tY = MathHelper.floor_double(aItemEntity.posY); + int tZ = MathHelper.floor_double(aItemEntity.posZ); + OrePrefixes aPrefix = this.mGeneratedPrefixList[(aDamage / 1000)]; + if ((aPrefix == OrePrefixes.dustImpure) || (aPrefix == OrePrefixes.dustPure)) { + Block tBlock = aItemEntity.worldObj.getBlock(tX, tY, tZ); + byte tMetaData = (byte) aItemEntity.worldObj.getBlockMetadata(tX, tY, tZ); + if ((tBlock == Blocks.cauldron) && (tMetaData > 0)) { + + aMaterial = cauldronRemap.getOrDefault(aMaterial, aMaterial); + + aItemEntity.setEntityItemStack( + GTOreDictUnificator + .get(OrePrefixes.dust, aMaterial, aItemEntity.getEntityItem().stackSize)); + aItemEntity.worldObj.setBlockMetadataWithNotify(tX, tY, tZ, tMetaData - 1, 3); + return true; + } + } else if (aPrefix == OrePrefixes.crushed) { + Block tBlock = aItemEntity.worldObj.getBlock(tX, tY, tZ); + byte tMetaData = (byte) aItemEntity.worldObj.getBlockMetadata(tX, tY, tZ); + if ((tBlock == Blocks.cauldron) && (tMetaData > 0)) { + aItemEntity.setEntityItemStack( + GTOreDictUnificator + .get(OrePrefixes.crushedPurified, aMaterial, aItemEntity.getEntityItem().stackSize)); + aItemEntity.worldObj.setBlockMetadataWithNotify(tX, tY, tZ, tMetaData - 1, 3); + return true; + } + } else if (aPrefix == OrePrefixes.dust && aMaterial == Materials.Wheat) { + Block tBlock = aItemEntity.worldObj.getBlock(tX, tY, tZ); + byte tMetaData = (byte) aItemEntity.worldObj.getBlockMetadata(tX, tY, tZ); + if ((tBlock == Blocks.cauldron) && (tMetaData > 0)) { + aItemEntity.setEntityItemStack(ItemList.Food_Dough.get(aItemEntity.getEntityItem().stackSize)); + aItemEntity.worldObj.setBlockMetadataWithNotify(tX, tY, tZ, tMetaData - 1, 3); + return true; + } + } + } + } + return false; + } + + @Override + protected void addAdditionalToolTips(List aList, ItemStack aStack, EntityPlayer aPlayer) { + super.addAdditionalToolTips(aList, aStack, aPlayer); + int aDamage = aStack.getItemDamage(); + if ((aDamage < 32000) && (aDamage >= 0)) { + Materials aMaterial = GregTechAPI.sGeneratedMaterials[(aDamage % 1000)]; + if ((aMaterial != null) && (aMaterial != Materials.Empty) && (aMaterial != Materials._NULL)) { + OrePrefixes aPrefix = this.mGeneratedPrefixList[(aDamage / 1000)]; + if ((aPrefix == OrePrefixes.dustImpure) || (aPrefix == OrePrefixes.dustPure)) { + aList.add(this.mToolTipPurify); + } + } + } + } + + public boolean isPlasmaCellUsed(OrePrefixes aPrefix, Materials aMaterial) { + Collection fusionRecipes = RecipeMaps.fusionRecipes.getAllRecipes(); + if (aPrefix == OrePrefixes.cellPlasma && aMaterial.getPlasma(1L) != null) { // Materials has a plasma fluid + for (GTRecipe recipe : fusionRecipes) { // Loop through fusion recipes + if (recipe.getFluidOutput(0) != null) { // Make sure fluid output can't be null (not sure if possible) + if (recipe.getFluidOutput(0) + .isFluidEqual(aMaterial.getPlasma(1L))) return true; // Fusion recipe + // output matches + // current plasma + // cell fluid + } + } + } + return false; + } + + @Override + public boolean doesShowInCreative(OrePrefixes aPrefix, Materials aMaterial, boolean aDoShowAllItems) { + return (aDoShowAllItems) || (((aPrefix != OrePrefixes.gem) || (!aMaterial.mName.startsWith("Infused"))) + && (aPrefix != OrePrefixes.dustTiny) + && (aPrefix != OrePrefixes.dustSmall) + && (aPrefix != OrePrefixes.dustImpure) + && (aPrefix != OrePrefixes.dustPure) + && (aPrefix != OrePrefixes.crushed) + && (aPrefix != OrePrefixes.crushedPurified) + && (aPrefix != OrePrefixes.crushedCentrifuged) + && (aPrefix != OrePrefixes.ingotHot) + && !(aPrefix == OrePrefixes.cellPlasma && !isPlasmaCellUsed(aPrefix, aMaterial))); + } + + @Override + public ItemStack getContainerItem(ItemStack aStack) { + int aDamage = aStack.getItemDamage(); + if (((aDamage >= 32430) && (aDamage <= 32461)) || (aDamage == 32465 || aDamage == 32466)) { + return ItemList.Spray_Empty.get(1L); + } + if ((aDamage == 32479) || (aDamage == 32476)) { + return new ItemStack(this, 1, aDamage - 2); + } + if (aDamage == 32401) { + return new ItemStack(this, 1, aDamage - 1); + } + return super.getContainerItem(aStack); + } + + @Override + public boolean doesMaterialAllowGeneration(OrePrefixes aPrefix, Materials aMaterial) { + return (super.doesMaterialAllowGeneration(aPrefix, aMaterial)); + } + + private void setBurnValues() { + setBurnValue(17000 + Materials.Wood.mMetaItemSubID, 1600); + } + + private void setAllFluidContainerStats() { + setFluidContainerStats(32000 + Large_Fluid_Cell_Steel.ID, 8_000L, 64L); + setFluidContainerStats(32000 + Large_Fluid_Cell_TungstenSteel.ID, 512_000L, 32L); + setFluidContainerStats(32000 + Large_Fluid_Cell_Aluminium.ID, 32_000L, 64L); + setFluidContainerStats(32000 + Large_Fluid_Cell_StainlessSteel.ID, 64_000L, 64L); + setFluidContainerStats(32000 + Large_Fluid_Cell_Titanium.ID, 128_000L, 64L); + setFluidContainerStats(32000 + Large_Fluid_Cell_Chrome.ID, 2_048_000L, 8L); + setFluidContainerStats(32000 + Large_Fluid_Cell_Iridium.ID, 8_192_000L, 2L); + setFluidContainerStats(32000 + Large_Fluid_Cell_Osmium.ID, 32_768_000L, 1L); + setFluidContainerStats(32000 + Large_Fluid_Cell_Neutronium.ID, 131_072_000L, 1L); + setFluidContainerStats(32000 + Electromagnet_Iron.ID, 0L, 1L); + setFluidContainerStats(32000 + Electromagnet_Steel.ID, 0L, 1L); + setFluidContainerStats(32000 + Electromagnet_Neodymium.ID, 0L, 1L); + setFluidContainerStats(32000 + Electromagnet_Samarium.ID, 0L, 1L); + setFluidContainerStats(32000 + Electromagnet_Tengam.ID, 0L, 1L); + } + + private void oredictBlacklistEntries() { + GTOreDictUnificator.addToBlacklist(new ItemStack(this, 1, 17000 + Materials.Wood.mMetaItemSubID)); + } + + private void registerCovers() { + final ITexture doesWorkCoverTexture = TextureFactory.of( + TextureFactory.of(OVERLAY_ACTIVITYDETECTOR), + TextureFactory.builder() + .addIcon(OVERLAY_ACTIVITYDETECTOR_GLOW) + .glow() + .build()); + + final ITexture playerDectectorCoverTexture = TextureFactory.of( + TextureFactory.of(OVERLAY_ACTIVITYDETECTOR), + TextureFactory.builder() + .addIcon(OVERLAY_ACTIVITYDETECTOR_GLOW) + .glow() + .build()); + final ITexture screenCoverTexture = TextureFactory.of( + TextureFactory.of(OVERLAY_SCREEN), + TextureFactory.builder() + .addIcon(OVERLAY_SCREEN_GLOW) + .glow() + .build()); + + GregTechAPI.registerCover( + new ItemStack(this, 1, 17000 + Materials.Wood.mMetaItemSubID), + TextureFactory.of(COVER_WOOD_PLATE), + null); + + GregTechAPI.registerCover( + ItemList.Electric_Pump_LV.get(1L), + TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_PUMP)), + new CoverPump(32, TextureFactory.of(OVERLAY_PUMP))); + GregTechAPI.registerCover( + ItemList.Electric_Pump_MV.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_PUMP)), + new CoverPump(128, TextureFactory.of(OVERLAY_PUMP))); + GregTechAPI.registerCover( + ItemList.Electric_Pump_HV.get(1L), + TextureFactory.of(MACHINE_CASINGS[3][0], TextureFactory.of(OVERLAY_PUMP)), + new CoverPump(512, TextureFactory.of(OVERLAY_PUMP))); + GregTechAPI.registerCover( + ItemList.Electric_Pump_EV.get(1L), + TextureFactory.of(MACHINE_CASINGS[4][0], TextureFactory.of(OVERLAY_PUMP)), + new CoverPump(2048, TextureFactory.of(OVERLAY_PUMP))); + GregTechAPI.registerCover( + ItemList.Electric_Pump_IV.get(1L), + TextureFactory.of(MACHINE_CASINGS[5][0], TextureFactory.of(OVERLAY_PUMP)), + new CoverPump(8192, TextureFactory.of(OVERLAY_PUMP))); + GregTechAPI.registerCover( + ItemList.Electric_Pump_LuV.get(1L), + TextureFactory.of(MACHINE_CASINGS[6][0], TextureFactory.of(OVERLAY_PUMP)), + new CoverPump(32768, TextureFactory.of(OVERLAY_PUMP))); + GregTechAPI.registerCover( + ItemList.Electric_Pump_ZPM.get(1L), + TextureFactory.of(MACHINE_CASINGS[7][0], TextureFactory.of(OVERLAY_PUMP)), + new CoverPump(131072, TextureFactory.of(OVERLAY_PUMP))); + GregTechAPI.registerCover( + ItemList.Electric_Pump_UV.get(1L), + TextureFactory.of(MACHINE_CASINGS[8][0], TextureFactory.of(OVERLAY_PUMP)), + new CoverPump(524288, TextureFactory.of(OVERLAY_PUMP))); + GregTechAPI.registerCover( + ItemList.Electric_Pump_UHV.get(1L), + TextureFactory.of(MACHINE_CASINGS[9][0], TextureFactory.of(OVERLAY_PUMP)), + new CoverPump(1048576, TextureFactory.of(OVERLAY_PUMP))); + GregTechAPI.registerCover( + ItemList.Electric_Pump_UEV.get(1L), + TextureFactory.of(MACHINE_CASINGS[10][0], TextureFactory.of(OVERLAY_PUMP)), + new CoverPump(2097152, TextureFactory.of(OVERLAY_PUMP))); + + GregTechAPI.registerCover( + ItemList.Steam_Valve_LV.get(1L), + TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_VALVE)), + new CoverSteamValve(1024, TextureFactory.of(OVERLAY_VALVE))); + GregTechAPI.registerCover( + ItemList.Steam_Valve_MV.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_VALVE)), + new CoverSteamValve(2048, TextureFactory.of(OVERLAY_VALVE))); + GregTechAPI.registerCover( + ItemList.Steam_Valve_HV.get(1L), + TextureFactory.of(MACHINE_CASINGS[3][0], TextureFactory.of(OVERLAY_VALVE)), + new CoverSteamValve(4096, TextureFactory.of(OVERLAY_VALVE))); + GregTechAPI.registerCover( + ItemList.Steam_Valve_EV.get(1L), + TextureFactory.of(MACHINE_CASINGS[4][0], TextureFactory.of(OVERLAY_VALVE)), + new CoverSteamValve(8192, TextureFactory.of(OVERLAY_VALVE))); + GregTechAPI.registerCover( + ItemList.Steam_Valve_IV.get(1L), + TextureFactory.of(MACHINE_CASINGS[5][0], TextureFactory.of(OVERLAY_VALVE)), + new CoverSteamValve(16384, TextureFactory.of(OVERLAY_VALVE))); + + GregTechAPI.registerCover( + ItemList.FluidRegulator_LV.get(1L), + TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_PUMP)), + new CoverFluidRegulator(32, TextureFactory.of(OVERLAY_PUMP))); + GregTechAPI.registerCover( + ItemList.FluidRegulator_MV.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_PUMP)), + new CoverFluidRegulator(128, TextureFactory.of(OVERLAY_PUMP))); + GregTechAPI.registerCover( + ItemList.FluidRegulator_HV.get(1L), + TextureFactory.of(MACHINE_CASINGS[3][0], TextureFactory.of(OVERLAY_PUMP)), + new CoverFluidRegulator(512, TextureFactory.of(OVERLAY_PUMP))); + GregTechAPI.registerCover( + ItemList.FluidRegulator_EV.get(1L), + TextureFactory.of(MACHINE_CASINGS[4][0], TextureFactory.of(OVERLAY_PUMP)), + new CoverFluidRegulator(2048, TextureFactory.of(OVERLAY_PUMP))); + GregTechAPI.registerCover( + ItemList.FluidRegulator_IV.get(1L), + TextureFactory.of(MACHINE_CASINGS[5][0], TextureFactory.of(OVERLAY_PUMP)), + new CoverFluidRegulator(8192, TextureFactory.of(OVERLAY_PUMP))); + GregTechAPI.registerCover( + ItemList.FluidRegulator_LuV.get(1L), + TextureFactory.of(MACHINE_CASINGS[6][0], TextureFactory.of(OVERLAY_PUMP)), + new CoverFluidRegulator(32768, TextureFactory.of(OVERLAY_PUMP))); + GregTechAPI.registerCover( + ItemList.FluidRegulator_ZPM.get(1L), + TextureFactory.of(MACHINE_CASINGS[7][0], TextureFactory.of(OVERLAY_PUMP)), + new CoverFluidRegulator(131072, TextureFactory.of(OVERLAY_PUMP))); + GregTechAPI.registerCover( + ItemList.FluidRegulator_UV.get(1L), + TextureFactory.of(MACHINE_CASINGS[8][0], TextureFactory.of(OVERLAY_PUMP)), + new CoverFluidRegulator(524288, TextureFactory.of(OVERLAY_PUMP))); + + GregTechAPI.registerCover( + ItemList.FluidFilter.get(1L), + TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_SHUTTER)), + new CoverFluidfilter(TextureFactory.of(OVERLAY_SHUTTER))); + + GregTechAPI.registerCover( + ItemList.ItemFilter_Export.get(1L), + TextureFactory.of(MACHINE_CASINGS[5][0], TextureFactory.of(OVERLAY_CONVEYOR)), + new CoverItemFilter(true, TextureFactory.of(OVERLAY_CONVEYOR))); + + GregTechAPI.registerCover( + ItemList.ItemFilter_Import.get(1L), + TextureFactory.of(MACHINE_CASINGS[5][0], TextureFactory.of(OVERLAY_CONVEYOR)), + new CoverItemFilter(false, TextureFactory.of(OVERLAY_CONVEYOR))); + + GregTechAPI.registerCover( + ItemList.Cover_FluidLimiter.get(1L), + TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_SHUTTER)), + new CoverFluidLimiter(TextureFactory.of(OVERLAY_SHUTTER))); + + GregTechAPI.registerCover( + ItemList.Conveyor_Module_LV.get(1L), + TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_CONVEYOR)), + new CoverConveyor(400, 1, TextureFactory.of(OVERLAY_CONVEYOR))); + GregTechAPI.registerCover( + ItemList.Conveyor_Module_MV.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_CONVEYOR)), + new CoverConveyor(100, 1, TextureFactory.of(OVERLAY_CONVEYOR))); + GregTechAPI.registerCover( + ItemList.Conveyor_Module_HV.get(1L), + TextureFactory.of(MACHINE_CASINGS[3][0], TextureFactory.of(OVERLAY_CONVEYOR)), + new CoverConveyor(20, 1, TextureFactory.of(OVERLAY_CONVEYOR))); + GregTechAPI.registerCover( + ItemList.Conveyor_Module_EV.get(1L), + TextureFactory.of(MACHINE_CASINGS[4][0], TextureFactory.of(OVERLAY_CONVEYOR)), + new CoverConveyor(4, 1, TextureFactory.of(OVERLAY_CONVEYOR))); + GregTechAPI.registerCover( + ItemList.Conveyor_Module_IV.get(1L), + TextureFactory.of(MACHINE_CASINGS[5][0], TextureFactory.of(OVERLAY_CONVEYOR)), + new CoverConveyor(1, 1, TextureFactory.of(OVERLAY_CONVEYOR))); + GregTechAPI.registerCover( + ItemList.Conveyor_Module_LuV.get(1L), + TextureFactory.of(MACHINE_CASINGS[6][0], TextureFactory.of(OVERLAY_CONVEYOR)), + new CoverConveyor(1, 2, TextureFactory.of(OVERLAY_CONVEYOR))); + GregTechAPI.registerCover( + ItemList.Conveyor_Module_ZPM.get(1L), + TextureFactory.of(MACHINE_CASINGS[7][0], TextureFactory.of(OVERLAY_CONVEYOR)), + new CoverConveyor(1, 4, TextureFactory.of(OVERLAY_CONVEYOR))); + GregTechAPI.registerCover( + ItemList.Conveyor_Module_UV.get(1L), + TextureFactory.of(MACHINE_CASINGS[8][0], TextureFactory.of(OVERLAY_CONVEYOR)), + new CoverConveyor(1, 8, TextureFactory.of(OVERLAY_CONVEYOR))); + GregTechAPI.registerCover( + ItemList.Conveyor_Module_UHV.get(1L), + TextureFactory.of(MACHINE_CASINGS[9][0], TextureFactory.of(OVERLAY_CONVEYOR)), + new CoverConveyor(1, 16, TextureFactory.of(OVERLAY_CONVEYOR))); + GregTechAPI.registerCover( + ItemList.Conveyor_Module_UEV.get(1L), + TextureFactory.of(MACHINE_CASINGS[10][0], TextureFactory.of(OVERLAY_CONVEYOR)), + new CoverConveyor(1, 32, TextureFactory.of(OVERLAY_CONVEYOR))); + + GregTechAPI.registerCover( + ItemList.Robot_Arm_LV.get(1L), + TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_ARM)), + new CoverArm(400, TextureFactory.of(OVERLAY_ARM))); + GregTechAPI.registerCover( + ItemList.Robot_Arm_MV.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_ARM)), + new CoverArm(100, TextureFactory.of(OVERLAY_ARM))); + GregTechAPI.registerCover( + ItemList.Robot_Arm_HV.get(1L), + TextureFactory.of(MACHINE_CASINGS[3][0], TextureFactory.of(OVERLAY_ARM)), + new CoverArm(20, TextureFactory.of(OVERLAY_ARM))); + GregTechAPI.registerCover( + ItemList.Robot_Arm_EV.get(1L), + TextureFactory.of(MACHINE_CASINGS[4][0], TextureFactory.of(OVERLAY_ARM)), + new CoverArm(4, TextureFactory.of(OVERLAY_ARM))); + GregTechAPI.registerCover( + ItemList.Robot_Arm_IV.get(1L), + TextureFactory.of(MACHINE_CASINGS[5][0], TextureFactory.of(OVERLAY_ARM)), + new CoverArm(1, TextureFactory.of(OVERLAY_ARM))); + + GregTechAPI.registerCover( + ItemList.Cover_Controller.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_CONTROLLER)), + new CoverControlsWork(TextureFactory.of(OVERLAY_CONTROLLER))); + + GregTechAPI.registerCover( + ItemList.Cover_Chest_Basic.get(1L), + TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(Textures.BlockIcons.OVERLAY_COVER_CHEST_1)), + new CoverChest(9, TextureFactory.of(Textures.BlockIcons.OVERLAY_COVER_CHEST_1))); + GregTechAPI.registerCover( + ItemList.Cover_Chest_Good.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(Textures.BlockIcons.OVERLAY_COVER_CHEST_2)), + new CoverChest(12, TextureFactory.of(Textures.BlockIcons.OVERLAY_COVER_CHEST_2))); + GregTechAPI.registerCover( + ItemList.Cover_Chest_Advanced.get(1L), + TextureFactory.of(MACHINE_CASINGS[3][0], TextureFactory.of(Textures.BlockIcons.OVERLAY_COVER_CHEST_3)), + new CoverChest(15, TextureFactory.of(Textures.BlockIcons.OVERLAY_COVER_CHEST_3))); + GregTechAPI.registerCover( + ItemList.Cover_ActivityDetector.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], doesWorkCoverTexture), + new CoverDoesWork(doesWorkCoverTexture)); + GregTechAPI.registerCover( + ItemList.Cover_FluidDetector.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_FLUIDDETECTOR)), + new CoverLiquidMeter(TextureFactory.of(OVERLAY_FLUIDDETECTOR))); + GregTechAPI.registerCover( + ItemList.Cover_ItemDetector.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_ITEMDETECTOR)), + new CoverItemMeter(TextureFactory.of(OVERLAY_ITEMDETECTOR))); + GregTechAPI.registerCover( + ItemList.Cover_EnergyDetector.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_ENERGYDETECTOR)), + new CoverEUMeter(TextureFactory.of(OVERLAY_ENERGYDETECTOR))); + + GregTechAPI.registerCover( + ItemList.Cover_PlayerDetector.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], playerDectectorCoverTexture), + new CoverPlayerDetector(playerDectectorCoverTexture)); + GregTechAPI.registerCover( + ItemList.Cover_FluidStorageMonitor.get(1L), + TextureFactory.of(OVERLAY_FLUID_STORAGE_MONITOR0), + new CoverFluidStorageMonitor()); + + GregTechAPI.registerCover( + ItemList.Cover_Screen.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], screenCoverTexture), + new CoverScreen(screenCoverTexture)); + GregTechAPI.registerCover( + ItemList.Cover_Crafting.get(1L), + TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_CRAFTING)), + new CoverCrafting(TextureFactory.of(OVERLAY_CRAFTING))); + GregTechAPI.registerCover( + ItemList.Cover_Drain.get(1L), + TextureFactory.of(MACHINE_CASINGS[0][0], TextureFactory.of(OVERLAY_DRAIN)), + new CoverDrain(TextureFactory.of(OVERLAY_DRAIN))); + GregTechAPI.registerCover( + ItemList.Cover_Shutter.get(1L), + TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_SHUTTER)), + new CoverShutter(TextureFactory.of(OVERLAY_SHUTTER))); + + GregTechAPI + .registerCover(ItemList.Cover_SolarPanel.get(1L), TextureFactory.of(SOLARPANEL), new CoverSolarPanel(1)); + GregTechAPI.registerCover( + ItemList.Cover_SolarPanel_8V.get(1L), + TextureFactory.of(SOLARPANEL_8V), + new CoverSolarPanel(8)); + GregTechAPI.registerCover( + ItemList.Cover_SolarPanel_LV.get(1L), + TextureFactory.of(SOLARPANEL_LV), + new CoverSolarPanel(32)); + GregTechAPI.registerCover( + ItemList.Cover_SolarPanel_MV.get(1L), + TextureFactory.of(SOLARPANEL_MV), + new CoverSolarPanel(128)); + GregTechAPI.registerCover( + ItemList.Cover_SolarPanel_HV.get(1L), + TextureFactory.of(SOLARPANEL_HV), + new CoverSolarPanel(512)); + GregTechAPI.registerCover( + ItemList.Cover_SolarPanel_EV.get(1L), + TextureFactory.of(SOLARPANEL_EV), + new CoverSolarPanel(2048)); + GregTechAPI.registerCover( + ItemList.Cover_SolarPanel_IV.get(1L), + TextureFactory.of(SOLARPANEL_IV), + new CoverSolarPanel(8192)); + GregTechAPI.registerCover( + ItemList.Cover_SolarPanel_LuV.get(1L), + TextureFactory.of(SOLARPANEL_LuV), + new CoverSolarPanel(32768)); + GregTechAPI.registerCover( + ItemList.Cover_SolarPanel_ZPM.get(1L), + TextureFactory.of(SOLARPANEL_ZPM), + new CoverSolarPanel(131072)); + GregTechAPI.registerCover( + ItemList.Cover_SolarPanel_UV.get(1L), + TextureFactory.of(SOLARPANEL_UV), + new CoverSolarPanel(524288)); + + GregTechAPI.registerCover( + ItemList.Cover_RedstoneTransmitterExternal.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_REDSTONE_TRANSMITTER)), + new CoverRedstoneTransmitterExternal(TextureFactory.of(OVERLAY_REDSTONE_TRANSMITTER))); + GregTechAPI.registerCover( + ItemList.Cover_RedstoneTransmitterInternal.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_REDSTONE_TRANSMITTER)), + new CoverRedstoneTransmitterInternal(TextureFactory.of(OVERLAY_REDSTONE_TRANSMITTER))); + GregTechAPI.registerCover( + ItemList.Cover_RedstoneReceiverExternal.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_REDSTONE_RECEIVER)), + new CoverRedstoneReceiverExternal(TextureFactory.of(OVERLAY_REDSTONE_RECEIVER))); + GregTechAPI.registerCover( + ItemList.Cover_RedstoneReceiverInternal.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_REDSTONE_RECEIVER)), + new CoverRedstoneReceiverInternal(TextureFactory.of(OVERLAY_REDSTONE_RECEIVER))); + + GregTechAPI.registerCover( + ItemList.Steam_Regulator_LV.get(1L), + TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(OVERLAY_VALVE)), + new CoverSteamRegulator(1024, TextureFactory.of(OVERLAY_VALVE))); + GregTechAPI.registerCover( + ItemList.Steam_Regulator_MV.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_VALVE)), + new CoverSteamRegulator(2048, TextureFactory.of(OVERLAY_VALVE))); + GregTechAPI.registerCover( + ItemList.Steam_Regulator_HV.get(1L), + TextureFactory.of(MACHINE_CASINGS[3][0], TextureFactory.of(OVERLAY_VALVE)), + new CoverSteamRegulator(4096, TextureFactory.of(OVERLAY_VALVE))); + GregTechAPI.registerCover( + ItemList.Steam_Regulator_EV.get(1L), + TextureFactory.of(MACHINE_CASINGS[4][0], TextureFactory.of(OVERLAY_VALVE)), + new CoverSteamRegulator(8192, TextureFactory.of(OVERLAY_VALVE))); + GregTechAPI.registerCover( + ItemList.Steam_Regulator_IV.get(1L), + TextureFactory.of(MACHINE_CASINGS[5][0], TextureFactory.of(OVERLAY_VALVE)), + new CoverSteamRegulator(16384, TextureFactory.of(OVERLAY_VALVE))); + + GregTechAPI.registerCover( + ItemList.Cover_NeedsMaintainance.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_MAINTENANCE_DETECTOR)), + new CoverNeedMaintainance(TextureFactory.of(OVERLAY_MAINTENANCE_DETECTOR))); + + } + + private void removeRecipes() { + GTModHandler.removeRecipe( + new ItemStack(Blocks.glass), + null, + new ItemStack(Blocks.glass), + null, + new ItemStack(Blocks.glass)); + } + + private void craftingShapedRecipes() { + ItemStack tStack = new ItemStack(this, 1, 17000 + Materials.Wood.mMetaItemSubID); + tStack.setStackDisplayName("The holy Planks of Sengir"); + GTUtility.ItemNBT.addEnchantment(tStack, Enchantment.smite, 10); + GTModHandler.addCraftingRecipe( + tStack, + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "XXX", "XDX", "XXX", 'X', OrePrefixes.gem.get(Materials.NetherStar), 'D', + new ItemStack(Blocks.dragon_egg, 1, 32767) }); + + GTModHandler.addCraftingRecipe( + ItemList.Shape_Slicer_Flat.get(1L), + GTModHandler.RecipeBits.BUFFERED | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "hXS", aTextShape, "fXd", 'P', ItemList.Shape_Extruder_Block, 'X', + OrePrefixes.plate.get(Materials.StainlessSteel), 'S', + OrePrefixes.screw.get(Materials.StainlessSteel) }); + GTModHandler.addCraftingRecipe( + ItemList.Shape_Slicer_Stripes.get(1L), + GTModHandler.RecipeBits.BUFFERED | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "hXS", "XPX", "fXd", 'P', ItemList.Shape_Extruder_Block, 'X', + OrePrefixes.plate.get(Materials.StainlessSteel), 'S', + OrePrefixes.screw.get(Materials.StainlessSteel) }); + + GTModHandler.addCraftingRecipe( + ItemList.Fuel_Can_Plastic_Empty.get(7L), + GTModHandler.RecipeBits.BUFFERED | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { " PP", "P P", "PPP", 'P', OrePrefixes.plate.get(Materials.Plastic) }); + + GTModHandler.addCraftingRecipe( + ItemList.Crate_Empty.get(4L), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "SWS", "WdW", "SWS", 'W', OrePrefixes.plank.get(Materials.Wood), 'S', + OrePrefixes.screw.get(Materials.AnyIron) }); + GTModHandler.addCraftingRecipe( + ItemList.Crate_Empty.get(4L), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "SWS", "WdW", "SWS", 'W', OrePrefixes.plank.get(Materials.Wood), 'S', + OrePrefixes.screw.get(Materials.Steel) }); + + GTModHandler.addCraftingRecipe( + ItemList.Schematic_1by1.get(1L), + GTModHandler.RecipeBits.BUFFERED | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "d ", aTextShape, aTextEmptyRow, 'P', ItemList.Schematic }); + GTModHandler.addCraftingRecipe( + ItemList.Schematic_2by2.get(1L), + GTModHandler.RecipeBits.BUFFERED | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { " d ", aTextShape, aTextEmptyRow, 'P', ItemList.Schematic }); + GTModHandler.addCraftingRecipe( + ItemList.Schematic_3by3.get(1L), + GTModHandler.RecipeBits.BUFFERED | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { " d", aTextShape, aTextEmptyRow, 'P', ItemList.Schematic }); + GTModHandler.addCraftingRecipe( + ItemList.Schematic_Dust.get(1L), + GTModHandler.RecipeBits.BUFFERED | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { aTextEmptyRow, aTextShape, " d", 'P', ItemList.Schematic }); + + GTModHandler.addCraftingRecipe( + ItemList.Battery_Hull_LV.get(1L), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "Cf ", "Ph ", "Ps ", 'P', OrePrefixes.plate.get(Materials.BatteryAlloy), 'C', + OreDictNames.craftingWireTin }); + + GTModHandler.addCraftingRecipe( + ItemList.Electric_Motor_LV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.IronMagnetic), 'R', + OrePrefixes.stick.get(Materials.AnyIron), 'W', OrePrefixes.wireGt01.get(Materials.AnyCopper), 'C', + OrePrefixes.cableGt01.get(Materials.Tin) }); + GTModHandler.addCraftingRecipe( + ItemList.Electric_Motor_LV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.SteelMagnetic), 'R', + OrePrefixes.stick.get(Materials.Steel), 'W', OrePrefixes.wireGt01.get(Materials.AnyCopper), 'C', + OrePrefixes.cableGt01.get(Materials.Tin) }); + GTModHandler.addCraftingRecipe( + ItemList.Electric_Motor_MV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.SteelMagnetic), 'R', + OrePrefixes.stick.get(Materials.Aluminium), 'W', OrePrefixes.wireGt02.get(Materials.Cupronickel), 'C', + OrePrefixes.cableGt01.get(Materials.AnyCopper) }); + GTModHandler.addCraftingRecipe( + ItemList.Electric_Motor_HV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.SteelMagnetic), 'R', + OrePrefixes.stick.get(Materials.StainlessSteel), 'W', OrePrefixes.wireGt04.get(Materials.Electrum), 'C', + OrePrefixes.cableGt02.get(Materials.Silver) }); + GTModHandler.addCraftingRecipe( + ItemList.Electric_Motor_EV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.NeodymiumMagnetic), 'R', + OrePrefixes.stick.get(Materials.Titanium), 'W', OrePrefixes.wireGt04.get(Materials.BlackSteel), 'C', + OrePrefixes.cableGt02.get(Materials.Aluminium) }); + GTModHandler.addCraftingRecipe( + ItemList.Electric_Motor_IV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "CWR", "WIW", "RWC", 'I', OrePrefixes.stick.get(Materials.NeodymiumMagnetic), 'R', + OrePrefixes.stick.get(Materials.TungstenSteel), 'W', OrePrefixes.wireGt04.get(Materials.Graphene), 'C', + OrePrefixes.cableGt02.get(Materials.Tungsten) }); + + GTModHandler.addCraftingRecipe( + ItemList.Electric_Piston_LV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "PPP", "CSS", "CMG", 'P', OrePrefixes.plate.get(Materials.Steel), 'S', + OrePrefixes.stick.get(Materials.Steel), 'G', OrePrefixes.gearGtSmall.get(Materials.Steel), 'M', + ItemList.Electric_Motor_LV, 'C', OrePrefixes.cableGt01.get(Materials.Tin) }); + GTModHandler.addCraftingRecipe( + ItemList.Electric_Piston_MV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "PPP", "CSS", "CMG", 'P', OrePrefixes.plate.get(Materials.Aluminium), 'S', + OrePrefixes.stick.get(Materials.Aluminium), 'G', OrePrefixes.gearGtSmall.get(Materials.Aluminium), 'M', + ItemList.Electric_Motor_MV, 'C', OrePrefixes.cableGt01.get(Materials.AnyCopper) }); + GTModHandler.addCraftingRecipe( + ItemList.Electric_Piston_HV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "PPP", "CSS", "CMG", 'P', OrePrefixes.plate.get(Materials.StainlessSteel), 'S', + OrePrefixes.stick.get(Materials.StainlessSteel), 'G', + OrePrefixes.gearGtSmall.get(Materials.StainlessSteel), 'M', ItemList.Electric_Motor_HV, 'C', + OrePrefixes.cableGt01.get(Materials.Gold) }); + GTModHandler.addCraftingRecipe( + ItemList.Electric_Piston_EV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "PPP", "CSS", "CMG", 'P', OrePrefixes.plate.get(Materials.Titanium), 'S', + OrePrefixes.stick.get(Materials.Titanium), 'G', OrePrefixes.gearGtSmall.get(Materials.Titanium), 'M', + ItemList.Electric_Motor_EV, 'C', OrePrefixes.cableGt01.get(Materials.Aluminium) }); + GTModHandler.addCraftingRecipe( + ItemList.Electric_Piston_IV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "PPP", "CSS", "CMG", 'P', OrePrefixes.plate.get(Materials.TungstenSteel), 'S', + OrePrefixes.stick.get(Materials.TungstenSteel), 'G', + OrePrefixes.gearGtSmall.get(Materials.TungstenSteel), 'M', ItemList.Electric_Motor_IV, 'C', + OrePrefixes.cableGt01.get(Materials.Tungsten) }); + + GTModHandler.addCraftingRecipe( + ItemList.Electric_Pump_LV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "SXO", "dPw", "OMW", 'M', ItemList.Electric_Motor_LV, 'O', + OrePrefixes.ring.get(Materials.AnyRubber), 'X', OrePrefixes.rotor.get(Materials.Tin), 'S', + OrePrefixes.screw.get(Materials.Tin), 'W', OrePrefixes.cableGt01.get(Materials.Tin), 'P', + OrePrefixes.pipeMedium.get(Materials.Bronze) }); + GTModHandler.addCraftingRecipe( + ItemList.Electric_Pump_MV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "SXO", "dPw", "OMW", 'M', ItemList.Electric_Motor_MV, 'O', + OrePrefixes.ring.get(Materials.AnyRubber), 'X', OrePrefixes.rotor.get(Materials.Bronze), 'S', + OrePrefixes.screw.get(Materials.Bronze), 'W', OrePrefixes.cableGt01.get(Materials.AnyCopper), 'P', + OrePrefixes.pipeMedium.get(Materials.Steel) }); + GTModHandler.addCraftingRecipe( + ItemList.Electric_Pump_HV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "SXO", "dPw", "OMW", 'M', ItemList.Electric_Motor_HV, 'O', + OrePrefixes.ring.get(Materials.AnyRubber), 'X', OrePrefixes.rotor.get(Materials.Steel), 'S', + OrePrefixes.screw.get(Materials.Steel), 'W', OrePrefixes.cableGt01.get(Materials.Gold), 'P', + OrePrefixes.pipeMedium.get(Materials.StainlessSteel) }); + GTModHandler.addCraftingRecipe( + ItemList.Electric_Pump_EV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "SXO", "dPw", "OMW", 'M', ItemList.Electric_Motor_EV, 'O', + OrePrefixes.ring.get(Materials.AnyRubber), 'X', OrePrefixes.rotor.get(Materials.StainlessSteel), 'S', + OrePrefixes.screw.get(Materials.StainlessSteel), 'W', OrePrefixes.cableGt01.get(Materials.Aluminium), + 'P', OrePrefixes.pipeMedium.get(Materials.Titanium) }); + GTModHandler.addCraftingRecipe( + ItemList.Electric_Pump_IV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "SXO", "dPw", "OMW", 'M', ItemList.Electric_Motor_IV, 'O', + OrePrefixes.ring.get(Materials.AnySyntheticRubber), 'X', OrePrefixes.rotor.get(Materials.TungstenSteel), + 'S', OrePrefixes.screw.get(Materials.TungstenSteel), 'W', OrePrefixes.cableGt01.get(Materials.Tungsten), + 'P', OrePrefixes.pipeMedium.get(Materials.TungstenSteel) }); + + GTModHandler.addCraftingRecipe( + ItemList.Conveyor_Module_LV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "RRR", "MCM", "RRR", 'M', ItemList.Electric_Motor_LV, 'C', + OrePrefixes.cableGt01.get(Materials.Tin), 'R', OrePrefixes.plate.get(Materials.AnyRubber) }); + GTModHandler.addCraftingRecipe( + ItemList.Conveyor_Module_MV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "RRR", "MCM", "RRR", 'M', ItemList.Electric_Motor_MV, 'C', + OrePrefixes.cableGt01.get(Materials.AnyCopper), 'R', OrePrefixes.plate.get(Materials.AnyRubber) }); + GTModHandler.addCraftingRecipe( + ItemList.Conveyor_Module_HV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "RRR", "MCM", "RRR", 'M', ItemList.Electric_Motor_HV, 'C', + OrePrefixes.cableGt01.get(Materials.Gold), 'R', OrePrefixes.plate.get(Materials.AnyRubber) }); + GTModHandler.addCraftingRecipe( + ItemList.Conveyor_Module_EV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "RRR", "MCM", "RRR", 'M', ItemList.Electric_Motor_EV, 'C', + OrePrefixes.cableGt01.get(Materials.Aluminium), 'R', OrePrefixes.plate.get(Materials.AnyRubber) }); + GTModHandler.addCraftingRecipe( + ItemList.Conveyor_Module_IV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "RRR", "MCM", "RRR", 'M', ItemList.Electric_Motor_IV, 'C', + OrePrefixes.cableGt01.get(Materials.Tungsten), 'R', + OrePrefixes.plate.get(Materials.AnySyntheticRubber) }); + + GTModHandler.addCraftingRecipe( + ItemList.Robot_Arm_LV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "CCC", "MSM", "PES", 'S', OrePrefixes.stick.get(Materials.Steel), 'M', + ItemList.Electric_Motor_LV, 'P', ItemList.Electric_Piston_LV, 'E', + OrePrefixes.circuit.get(Materials.LV), 'C', OrePrefixes.cableGt01.get(Materials.Tin) }); + GTModHandler.addCraftingRecipe( + ItemList.Robot_Arm_MV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "CCC", "MSM", "PES", 'S', OrePrefixes.stick.get(Materials.Aluminium), 'M', + ItemList.Electric_Motor_MV, 'P', ItemList.Electric_Piston_MV, 'E', + OrePrefixes.circuit.get(Materials.MV), 'C', OrePrefixes.cableGt01.get(Materials.AnyCopper) }); + GTModHandler.addCraftingRecipe( + ItemList.Robot_Arm_HV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "CCC", "MSM", "PES", 'S', OrePrefixes.stick.get(Materials.StainlessSteel), 'M', + ItemList.Electric_Motor_HV, 'P', ItemList.Electric_Piston_HV, 'E', + OrePrefixes.circuit.get(Materials.HV), 'C', OrePrefixes.cableGt01.get(Materials.Gold) }); + GTModHandler.addCraftingRecipe( + ItemList.Robot_Arm_EV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "CCC", "MSM", "PES", 'S', OrePrefixes.stick.get(Materials.Titanium), 'M', + ItemList.Electric_Motor_EV, 'P', ItemList.Electric_Piston_EV, 'E', + OrePrefixes.circuit.get(Materials.EV), 'C', OrePrefixes.cableGt01.get(Materials.Aluminium) }); + GTModHandler.addCraftingRecipe( + ItemList.Robot_Arm_IV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "CCC", "MSM", "PES", 'S', OrePrefixes.stick.get(Materials.TungstenSteel), 'M', + ItemList.Electric_Motor_IV, 'P', ItemList.Electric_Piston_IV, 'E', + OrePrefixes.circuit.get(Materials.IV), 'C', OrePrefixes.cableGt01.get(Materials.Tungsten) }); + + GTModHandler.addCraftingRecipe( + ItemList.Emitter_LV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "SSC", "WQS", "CWS", 'Q', OrePrefixes.gem.get(Materials.CertusQuartz), 'S', + OrePrefixes.stick.get(Materials.Brass), 'C', OrePrefixes.circuit.get(Materials.LV), 'W', + OrePrefixes.cableGt01.get(Materials.Tin) }); + GTModHandler.addCraftingRecipe( + ItemList.Emitter_MV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "SSC", "WQS", "CWS", 'Q', OrePrefixes.gem.get(Materials.EnderPearl), 'S', + OrePrefixes.stick.get(Materials.Electrum), 'C', OrePrefixes.circuit.get(Materials.MV), 'W', + OrePrefixes.cableGt01.get(Materials.AnyCopper) }); + GTModHandler.addCraftingRecipe( + ItemList.Emitter_HV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "SSC", "WQS", "CWS", 'Q', OrePrefixes.gem.get(Materials.EnderEye), 'S', + OrePrefixes.stick.get(Materials.Chrome), 'C', OrePrefixes.circuit.get(Materials.HV), 'W', + OrePrefixes.cableGt01.get(Materials.Gold) }); + GTModHandler.addCraftingRecipe( + ItemList.Emitter_EV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "SSC", "WQS", "CWS", 'Q', ItemList.QuantumEye, 'S', + OrePrefixes.stick.get(Materials.Platinum), 'C', OrePrefixes.circuit.get(Materials.EV), 'W', + OrePrefixes.cableGt01.get(Materials.Aluminium) }); + GTModHandler.addCraftingRecipe( + ItemList.Emitter_IV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "SSC", "WQS", "CWS", 'Q', ItemList.QuantumStar, 'S', + OrePrefixes.stick.get(Materials.Iridium), 'C', OrePrefixes.circuit.get(Materials.IV), 'W', + OrePrefixes.cableGt01.get(Materials.Tungsten) }); + + GTModHandler.addCraftingRecipe( + ItemList.Sensor_LV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "P Q", "PS ", "CPP", 'Q', OrePrefixes.gem.get(Materials.CertusQuartz), 'S', + OrePrefixes.stick.get(Materials.Brass), 'P', OrePrefixes.plate.get(Materials.Steel), 'C', + OrePrefixes.circuit.get(Materials.LV) }); + GTModHandler.addCraftingRecipe( + ItemList.Sensor_MV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "P Q", "PS ", "CPP", 'Q', OrePrefixes.gemFlawless.get(Materials.Emerald), 'S', + OrePrefixes.stick.get(Materials.Electrum), 'P', OrePrefixes.plate.get(Materials.Aluminium), 'C', + OrePrefixes.circuit.get(Materials.MV) }); + GTModHandler.addCraftingRecipe( + ItemList.Sensor_HV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "P Q", "PS ", "CPP", 'Q', OrePrefixes.gem.get(Materials.EnderEye), 'S', + OrePrefixes.stick.get(Materials.Chrome), 'P', OrePrefixes.plate.get(Materials.StainlessSteel), 'C', + OrePrefixes.circuit.get(Materials.HV) }); + GTModHandler.addCraftingRecipe( + ItemList.Sensor_EV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "P Q", "PS ", "CPP", 'Q', ItemList.QuantumEye, 'S', + OrePrefixes.stick.get(Materials.Platinum), 'P', OrePrefixes.plate.get(Materials.Titanium), 'C', + OrePrefixes.circuit.get(Materials.EV) }); + GTModHandler.addCraftingRecipe( + ItemList.Sensor_IV.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "P Q", "PS ", "CPP", 'Q', ItemList.QuantumStar, 'S', + OrePrefixes.stick.get(Materials.Iridium), 'P', OrePrefixes.plate.get(Materials.TungstenSteel), 'C', + OrePrefixes.circuit.get(Materials.IV) }); + + GTModHandler.addCraftingRecipe( + ItemList.Component_Sawblade_Diamond.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { " D ", "DGD", " D ", 'D', OrePrefixes.dustSmall.get(Materials.Diamond), 'G', + OrePrefixes.gearGt.get(Materials.CobaltBrass) }); + GTModHandler.addCraftingRecipe( + ItemList.Component_Grinder_Diamond.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "DSD", "SIS", "DSD", 'I', OrePrefixes.gem.get(Materials.Diamond), 'D', + OrePrefixes.dust.get(Materials.Diamond), 'S', OrePrefixes.plateDouble.get(Materials.Steel) }); + GTModHandler.addCraftingRecipe( + ItemList.Component_Grinder_Tungsten.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "TST", "SIS", "TST", 'I', OreDictNames.craftingIndustrialDiamond, 'T', + OrePrefixes.plate.get(Materials.Tungsten), 'S', OrePrefixes.plateDouble.get(Materials.Steel) }); + + GTModHandler.addCraftingRecipe( + ItemList.Cover_Screen.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "AGA", "RPB", "ALA", 'A', OrePrefixes.plate.get(Materials.Aluminium), 'L', + OrePrefixes.dust.get(Materials.Glowstone), 'R', Dyes.dyeRed, 'G', Dyes.dyeLime, 'B', Dyes.dyeBlue, 'P', + OrePrefixes.plate.get(Materials.Glass) }); + + GTModHandler.addCraftingRecipe( + ItemList.Tool_Scanner.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.NOT_REMOVABLE + | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "EPR", "CSC", "PBP", 'C', OrePrefixes.circuit.get(Materials.HV), 'P', + OrePrefixes.plate.get(Materials.Aluminium), 'E', ItemList.Emitter_MV, 'R', ItemList.Sensor_MV, 'S', + ItemList.Cover_Screen, 'B', ItemList.Battery_RE_MV_Lithium }); + + GTModHandler.addCraftingRecipe( + ItemList.ItemFilter_Export.get(1L), + new Object[] { "SPS", "dIC", "SPS", 'P', OrePrefixes.plate.get(Materials.Tin), 'S', + OrePrefixes.screw.get(Materials.Iron), 'I', ItemList.Component_Filter, 'C', + ItemList.Conveyor_Module_LV }); + GTModHandler.addCraftingRecipe( + ItemList.ItemFilter_Import.get(1L), + new Object[] { "SPS", "CId", "SPS", 'P', OrePrefixes.plate.get(Materials.Tin), 'S', + OrePrefixes.screw.get(Materials.Iron), 'I', ItemList.Component_Filter, 'C', + ItemList.Conveyor_Module_LV }); + + GTModHandler.addCraftingRecipe( + ItemList.Tool_Cover_Copy_Paste.get(1L), + GTModHandler.RecipeBits.DISMANTLEABLE | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "PSP", "PCP", "PBP", 'P', OrePrefixes.plate.get(Materials.Aluminium), 'S', + ItemList.Tool_DataStick.get(1L), 'C', ItemList.Cover_Screen.get(1L), 'B', + ItemList.Battery_RE_MV_Lithium.get(1L) }); + } + + private void craftingShapelessRecipes() { + + GTModHandler.addShapelessCraftingRecipe( + ItemList.Coin_Chocolate.get(1L), + new Object[] { OrePrefixes.dust.get(Materials.Cocoa), OrePrefixes.dust.get(Materials.Milk), + OrePrefixes.dust.get(Materials.Sugar), OrePrefixes.foil.get(Materials.Gold) }); + + GTModHandler.addShapelessCraftingRecipe( + ItemList.Credit_Copper.get(8L), + GTModHandler.RecipeBits.KEEPNBT | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Credit_Iron }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Credit_Iron.get(8L), + GTModHandler.RecipeBits.KEEPNBT | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Credit_Silver }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Credit_Silver.get(8L), + GTModHandler.RecipeBits.KEEPNBT | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Credit_Gold }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Credit_Gold.get(8L), + GTModHandler.RecipeBits.KEEPNBT | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Credit_Platinum }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Credit_Platinum.get(8L), + GTModHandler.RecipeBits.KEEPNBT | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Credit_Osmium }); + + GTModHandler.addShapelessCraftingRecipe( + ItemList.Credit_Iron.get(1L), + GTModHandler.RecipeBits.KEEPNBT | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Credit_Copper, ItemList.Credit_Copper, ItemList.Credit_Copper, + ItemList.Credit_Copper, ItemList.Credit_Copper, ItemList.Credit_Copper, ItemList.Credit_Copper, + ItemList.Credit_Copper }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Credit_Silver.get(1L), + GTModHandler.RecipeBits.KEEPNBT | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Credit_Iron, ItemList.Credit_Iron, ItemList.Credit_Iron, ItemList.Credit_Iron, + ItemList.Credit_Iron, ItemList.Credit_Iron, ItemList.Credit_Iron, ItemList.Credit_Iron }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Credit_Gold.get(1L), + GTModHandler.RecipeBits.KEEPNBT | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Credit_Silver, ItemList.Credit_Silver, ItemList.Credit_Silver, + ItemList.Credit_Silver, ItemList.Credit_Silver, ItemList.Credit_Silver, ItemList.Credit_Silver, + ItemList.Credit_Silver }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Credit_Platinum.get(1L), + GTModHandler.RecipeBits.KEEPNBT | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Credit_Gold, ItemList.Credit_Gold, ItemList.Credit_Gold, ItemList.Credit_Gold, + ItemList.Credit_Gold, ItemList.Credit_Gold, ItemList.Credit_Gold, ItemList.Credit_Gold }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Credit_Osmium.get(1L), + GTModHandler.RecipeBits.KEEPNBT | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Credit_Platinum, ItemList.Credit_Platinum, ItemList.Credit_Platinum, + ItemList.Credit_Platinum, ItemList.Credit_Platinum, ItemList.Credit_Platinum, ItemList.Credit_Platinum, + ItemList.Credit_Platinum }); + + GTModHandler.addShapelessCraftingRecipe( + ItemList.Credit_Greg_Copper.get(8L), + GTModHandler.RecipeBits.KEEPNBT | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Credit_Greg_Cupronickel }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Credit_Greg_Cupronickel.get(8L), + GTModHandler.RecipeBits.KEEPNBT | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Credit_Greg_Silver }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Credit_Greg_Silver.get(8L), + GTModHandler.RecipeBits.KEEPNBT | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Credit_Greg_Gold }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Credit_Greg_Gold.get(8L), + GTModHandler.RecipeBits.KEEPNBT | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Credit_Greg_Platinum }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Credit_Greg_Platinum.get(8L), + GTModHandler.RecipeBits.KEEPNBT | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Credit_Greg_Osmium }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Credit_Greg_Osmium.get(8L), + GTModHandler.RecipeBits.KEEPNBT | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Credit_Greg_Naquadah }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Credit_Greg_Naquadah.get(8L), + GTModHandler.RecipeBits.KEEPNBT | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Credit_Greg_Neutronium }); + + GTModHandler.addShapelessCraftingRecipe( + ItemList.Credit_Greg_Cupronickel.get(1L), + GTModHandler.RecipeBits.KEEPNBT | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Credit_Greg_Copper, ItemList.Credit_Greg_Copper, ItemList.Credit_Greg_Copper, + ItemList.Credit_Greg_Copper, ItemList.Credit_Greg_Copper, ItemList.Credit_Greg_Copper, + ItemList.Credit_Greg_Copper, ItemList.Credit_Greg_Copper }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Credit_Greg_Silver.get(1L), + GTModHandler.RecipeBits.KEEPNBT | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Credit_Greg_Cupronickel, ItemList.Credit_Greg_Cupronickel, + ItemList.Credit_Greg_Cupronickel, ItemList.Credit_Greg_Cupronickel, ItemList.Credit_Greg_Cupronickel, + ItemList.Credit_Greg_Cupronickel, ItemList.Credit_Greg_Cupronickel, ItemList.Credit_Greg_Cupronickel }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Credit_Greg_Gold.get(1L), + GTModHandler.RecipeBits.KEEPNBT | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Credit_Greg_Silver, ItemList.Credit_Greg_Silver, ItemList.Credit_Greg_Silver, + ItemList.Credit_Greg_Silver, ItemList.Credit_Greg_Silver, ItemList.Credit_Greg_Silver, + ItemList.Credit_Greg_Silver, ItemList.Credit_Greg_Silver }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Credit_Greg_Platinum.get(1L), + GTModHandler.RecipeBits.KEEPNBT | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Credit_Greg_Gold, ItemList.Credit_Greg_Gold, ItemList.Credit_Greg_Gold, + ItemList.Credit_Greg_Gold, ItemList.Credit_Greg_Gold, ItemList.Credit_Greg_Gold, + ItemList.Credit_Greg_Gold, ItemList.Credit_Greg_Gold }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Credit_Greg_Osmium.get(1L), + GTModHandler.RecipeBits.KEEPNBT | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Credit_Greg_Platinum, ItemList.Credit_Greg_Platinum, ItemList.Credit_Greg_Platinum, + ItemList.Credit_Greg_Platinum, ItemList.Credit_Greg_Platinum, ItemList.Credit_Greg_Platinum, + ItemList.Credit_Greg_Platinum, ItemList.Credit_Greg_Platinum }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Credit_Greg_Naquadah.get(1L), + GTModHandler.RecipeBits.KEEPNBT | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Credit_Greg_Osmium, ItemList.Credit_Greg_Osmium, ItemList.Credit_Greg_Osmium, + ItemList.Credit_Greg_Osmium, ItemList.Credit_Greg_Osmium, ItemList.Credit_Greg_Osmium, + ItemList.Credit_Greg_Osmium, ItemList.Credit_Greg_Osmium }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Credit_Greg_Neutronium.get(1L), + GTModHandler.RecipeBits.KEEPNBT | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Credit_Greg_Naquadah, ItemList.Credit_Greg_Naquadah, ItemList.Credit_Greg_Naquadah, + ItemList.Credit_Greg_Naquadah, ItemList.Credit_Greg_Naquadah, ItemList.Credit_Greg_Naquadah, + ItemList.Credit_Greg_Naquadah, ItemList.Credit_Greg_Naquadah }); + + GTModHandler.addShapelessCraftingRecipe( + ItemList.Schematic.get(1L), + GTModHandler.RecipeBits.BUFFERED | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Schematic_Crafting }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Schematic.get(1L), + GTModHandler.RecipeBits.BUFFERED | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Schematic_1by1 }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Schematic.get(1L), + GTModHandler.RecipeBits.BUFFERED | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Schematic_2by2 }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Schematic.get(1L), + GTModHandler.RecipeBits.BUFFERED | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Schematic_3by3 }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Schematic.get(1L), + GTModHandler.RecipeBits.BUFFERED | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Schematic_Dust }); + + GTModHandler.addShapelessCraftingRecipe( + ItemList.Tool_DataOrb.get(1L), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Tool_DataOrb.get(1L) }); + + GTModHandler.addShapelessCraftingRecipe( + ItemList.Tool_DataStick.get(1L), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ItemList.Tool_DataStick.get(1L) }); + + GTModHandler.addShapelessCraftingRecipe( + ItemList.Cover_RedstoneTransmitterInternal.get(1L), + new Object[] { ItemList.Cover_RedstoneTransmitterExternal.get(1L) }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Cover_RedstoneReceiverInternal.get(1L), + new Object[] { ItemList.Cover_RedstoneReceiverExternal.get(1L) }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Cover_RedstoneTransmitterExternal.get(1L), + new Object[] { ItemList.Cover_RedstoneTransmitterInternal.get(1L) }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Cover_RedstoneReceiverExternal.get(1L), + new Object[] { ItemList.Cover_RedstoneReceiverInternal.get(1L) }); + + GTModHandler.addShapelessCraftingRecipe( + ItemList.ItemFilter_Export.get(1L), + new Object[] { ItemList.ItemFilter_Import.get(1L) }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.ItemFilter_Import.get(1L), + new Object[] { ItemList.ItemFilter_Export.get(1L) }); + + } + + private void registerBehaviors() { + IItemBehaviour behaviourSprayColorRemover = new BehaviourSprayColorRemover( + ItemList.Spray_Empty.get(1L), + ItemList.Spray_Color_Used_Remover.get(1L), + ItemList.Spray_Color_Remover.get(1L), + 1024L); + addItemBehavior(32000 + Spray_Color_Remover.ID, behaviourSprayColorRemover); + addItemBehavior(32000 + Spray_Color_Used_Remover.ID, behaviourSprayColorRemover); + + IItemBehaviour behaviourMatches = new BehaviourLighter( + null, + ItemList.Tool_Matches.get(1L), + ItemList.Tool_Matches.get(1L), + 1L); + addItemBehavior(32000 + Tool_Matches.ID, behaviourMatches); + IItemBehaviour behaviourMatchBox = new BehaviourLighter( + null, + ItemList.Tool_MatchBox_Used.get(1L), + ItemList.Tool_MatchBox_Full.get(1L), + 16L); + addItemBehavior(32000 + Tool_MatchBox_Used.ID, behaviourMatchBox); + addItemBehavior(32000 + Tool_MatchBox_Full.ID, behaviourMatchBox); + + IItemBehaviour behaviourLighterInvar = new BehaviourLighter( + ItemList.Tool_Lighter_Invar_Empty.get(1L), + ItemList.Tool_Lighter_Invar_Used.get(1L), + ItemList.Tool_Lighter_Invar_Full.get(1L), + 100L); + addItemBehavior(32000 + Tool_Lighter_Invar_Used.ID, behaviourLighterInvar); + addItemBehavior(32000 + Tool_Lighter_Invar_Full.ID, behaviourLighterInvar); + + IItemBehaviour behaviourLighterPlatinum = new BehaviourLighter( + ItemList.Tool_Lighter_Platinum_Empty.get(1L), + ItemList.Tool_Lighter_Platinum_Used.get(1L), + ItemList.Tool_Lighter_Platinum_Full.get(1L), + 1000L); + addItemBehavior(32000 + Tool_Lighter_Platinum_Used.ID, behaviourLighterPlatinum); + addItemBehavior(32000 + Tool_Lighter_Platinum_Full.ID, behaviourLighterPlatinum); + + for (int i = 0; i < 16; i++) { + IItemBehaviour behaviourSprayColor = new BehaviourSprayColor( + ItemList.Spray_Empty.get(1L), + ItemList.SPRAY_CAN_DYES_USED[i].get(1L), + ItemList.SPRAY_CAN_DYES[i].get(1L), + ConfigGeneral.sprayCanUses, + i); + addItemBehavior(32000 + Spray_Colors[i], behaviourSprayColor); + addItemBehavior(32000 + Spray_Colors_Used[i], behaviourSprayColor); + } + } + + private void setAllElectricStats() { + setElectricStats(32000 + Battery_RE_ULV_Tantalum.ID, 1000L, GTValues.V[0], 0L, -3L, false); + setElectricStats(32000 + Battery_SU_LV_Sulfuric_Acid.ID, 18000L, GTValues.V[1], 1L, -2L, true); + setElectricStats(32000 + Battery_SU_LV_Mercury.ID, 32000L, GTValues.V[1], 1L, -2L, true); + setElectricStats(32000 + Battery_RE_LV_Cadmium.ID, 75000L, GTValues.V[1], 1L, -3L, true); + setElectricStats(32000 + Battery_RE_LV_Lithium.ID, 100000L, GTValues.V[1], 1L, -3L, true); + setElectricStats(32000 + Battery_RE_LV_Sodium.ID, 50000L, GTValues.V[1], 1L, -3L, true); + setElectricStats(32000 + Battery_SU_MV_Sulfuric_Acid.ID, 72000L, GTValues.V[2], 2L, -2L, true); + setElectricStats(32000 + Battery_SU_MV_Mercury.ID, 128000L, GTValues.V[2], 2L, -2L, true); + setElectricStats(32000 + Battery_RE_MV_Cadmium.ID, 300000L, GTValues.V[2], 2L, -3L, true); + setElectricStats(32000 + Battery_RE_MV_Lithium.ID, 400000L, GTValues.V[2], 2L, -3L, true); + setElectricStats(32000 + Battery_RE_MV_Sodium.ID, 200000L, GTValues.V[2], 2L, -3L, true); + setElectricStats(32000 + Battery_SU_HV_Sulfuric_Acid.ID, 288000L, GTValues.V[3], 3L, -2L, true); + setElectricStats(32000 + Battery_SU_HV_Mercury.ID, 512000L, GTValues.V[3], 3L, -2L, true); + setElectricStats(32000 + Battery_RE_HV_Cadmium.ID, 1200000L, GTValues.V[3], 3L, -3L, true); + setElectricStats(32000 + Battery_RE_HV_Lithium.ID, 1600000L, GTValues.V[3], 3L, -3L, true); + setElectricStats(32000 + Battery_RE_HV_Sodium.ID, 800000L, GTValues.V[3], 3L, -3L, true); + setElectricStats(32000 + Energy_Lapotronic_Orb.ID, 100000000L, GTValues.V[5], 5L, -3L, true); + setElectricStats(32000 + IDMetaItem01.ZPM.ID, 2000000000000L, GTValues.V[7], 7L, -2L, true); + setElectricStats(32000 + Energy_Lapotronic_orb_2.ID, 1000000000L, GTValues.V[6], 6L, -3L, true); + setElectricStats(32000 + ZPM2.ID, Long.MAX_VALUE, GTValues.V[8], 8L, -3L, true); + setElectricStats(32000 + ZPM3.ID, Long.MAX_VALUE, GTValues.V[12], 12L, -3L, true); + setElectricStats(32000 + ZPM4.ID, Long.MAX_VALUE, GTValues.V[13], 13L, -3L, true); + setElectricStats(32000 + ZPM5.ID, Long.MAX_VALUE, GTValues.V[14], 14L, -3L, true); + setElectricStats(32000 + ZPM6.ID, Long.MAX_VALUE, GTValues.V[15], 15L, -3L, true); + setElectricStats(32000 + Energy_Module.ID, 10000000000L, GTValues.V[7], 7L, -3L, true); + setElectricStats(32000 + Energy_Cluster.ID, 100000000000L, GTValues.V[8], 8L, -3L, true); + setElectricStats(32000 + Tool_Cover_Copy_Paste.ID, 400000L, GTValues.V[2], 2L, -1L, false); + setElectricStats(32000 + Tool_Cheat.ID, -2000000000L, 1000000000L, -1L, -3L, false); + setElectricStats(32000 + Tool_Scanner.ID, 400000L, GTValues.V[2], 2L, -1L, false); + setElectricStats(32000 + BatteryHull_EV_Full.ID, 6400000L, GTValues.V[4], 4L, -3L, true); + setElectricStats(32000 + BatteryHull_IV_Full.ID, 25600000L, GTValues.V[5], 5L, -3L, true); + setElectricStats(32000 + BatteryHull_LuV_Full.ID, 102400000L, GTValues.V[6], 6L, -3L, true); + setElectricStats(32000 + BatteryHull_ZPM_Full.ID, 409600000L, GTValues.V[7], 7L, -3L, true); + setElectricStats(32000 + BatteryHull_UV_Full.ID, 1638400000L, GTValues.V[8], 8L, -3L, true); + setElectricStats(32000 + BatteryHull_UHV_Full.ID, 6553600000L, GTValues.V[9], 9L, -3L, true); + setElectricStats(32000 + BatteryHull_UEV_Full.ID, 26214400000L, GTValues.V[10], 10L, -3L, true); + setElectricStats(32000 + BatteryHull_UIV_Full.ID, 104857600000L, GTValues.V[11], 11L, -3L, true); + setElectricStats(32000 + BatteryHull_UMV_Full.ID, 419430400000L, GTValues.V[12], 12L, -3L, true); + setElectricStats(32000 + BatteryHull_UxV_Full.ID, 1677721600000L, GTValues.V[13], 13L, -3L, true); + } + + private void registerTieredTooltips() { + registerTieredTooltip(ItemList.Battery_RE_ULV_Tantalum.get(1), ULV); + registerTieredTooltip(ItemList.Battery_SU_LV_SulfuricAcid.get(1), LV); + registerTieredTooltip(ItemList.Battery_SU_LV_Mercury.get(1), LV); + registerTieredTooltip(ItemList.Battery_RE_LV_Cadmium.get(1), LV); + registerTieredTooltip(ItemList.Battery_RE_LV_Lithium.get(1), LV); + registerTieredTooltip(ItemList.Battery_RE_LV_Sodium.get(1), LV); + registerTieredTooltip(ItemList.Battery_SU_MV_SulfuricAcid.get(1), MV); + registerTieredTooltip(ItemList.Battery_SU_MV_Mercury.get(1), MV); + registerTieredTooltip(ItemList.Battery_RE_MV_Cadmium.get(1), MV); + registerTieredTooltip(ItemList.Battery_RE_MV_Lithium.get(1), MV); + registerTieredTooltip(ItemList.Battery_RE_MV_Sodium.get(1), MV); + registerTieredTooltip(ItemList.Battery_SU_HV_SulfuricAcid.get(1), HV); + registerTieredTooltip(ItemList.Battery_SU_HV_Mercury.get(1), HV); + registerTieredTooltip(ItemList.Battery_RE_HV_Cadmium.get(1), HV); + registerTieredTooltip(ItemList.Battery_RE_HV_Lithium.get(1), HV); + registerTieredTooltip(ItemList.Battery_RE_HV_Sodium.get(1), HV); + registerTieredTooltip(ItemList.Energy_LapotronicOrb.get(1), IV); + registerTieredTooltip(ItemList.ZPM.get(1), ZPM); + registerTieredTooltip(ItemList.Energy_LapotronicOrb2.get(1), LuV); + registerTieredTooltip(ItemList.ZPM2.get(1), UV); + registerTieredTooltip(ItemList.ZPM3.get(1), UMV); + registerTieredTooltip(ItemList.ZPM4.get(1), UXV); + registerTieredTooltip(ItemList.ZPM5.get(1), MAX); + registerTieredTooltip(ItemList.ZPM6.get(1), ERV); + registerTieredTooltip(ItemList.Energy_Module.get(1), ZPM); + registerTieredTooltip(ItemList.Energy_Cluster.get(1), UV); + registerTieredTooltip(ItemList.Circuit_Primitive.get(1), ULV); + registerTieredTooltip(ItemList.Circuit_Basic.get(1), LV); + registerTieredTooltip(ItemList.Circuit_Good.get(1), MV); + registerTieredTooltip(ItemList.Circuit_Advanced.get(1), HV); + registerTieredTooltip(ItemList.Circuit_Data.get(1), EV); + registerTieredTooltip(ItemList.Circuit_Elite.get(1), IV); + registerTieredTooltip(ItemList.Circuit_Master.get(1), LuV); + registerTieredTooltip(ItemList.BatteryHull_EV_Full.get(1), EV); + registerTieredTooltip(ItemList.BatteryHull_IV_Full.get(1), IV); + registerTieredTooltip(ItemList.BatteryHull_LuV_Full.get(1), LuV); + registerTieredTooltip(ItemList.BatteryHull_ZPM_Full.get(1), ZPM); + registerTieredTooltip(ItemList.BatteryHull_UV_Full.get(1), UV); + registerTieredTooltip(ItemList.BatteryHull_UHV_Full.get(1), UHV); + registerTieredTooltip(ItemList.BatteryHull_UEV_Full.get(1), UEV); + registerTieredTooltip(ItemList.BatteryHull_UIV_Full.get(1), UIV); + registerTieredTooltip(ItemList.BatteryHull_UMV_Full.get(1), UMV); + registerTieredTooltip(ItemList.BatteryHull_UxV_Full.get(1), UXV); + + } +} diff --git a/src/main/java/gregtech/common/items/MetaGeneratedItem02.java b/src/main/java/gregtech/common/items/MetaGeneratedItem02.java new file mode 100644 index 0000000000..45404e36cd --- /dev/null +++ b/src/main/java/gregtech/common/items/MetaGeneratedItem02.java @@ -0,0 +1,3107 @@ +package gregtech.common.items; + +import static gregtech.api.enums.GTValues.RA; +import static gregtech.api.enums.Mods.Forestry; +import static gregtech.api.enums.Textures.BlockIcons.MACHINE_CASINGS; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_ADVANCED_REDSTONE_RECEIVER; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_ADVANCED_REDSTONE_TRANSMITTER; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_WIRELESS_ACTIVITYDETECTOR; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_WIRELESS_FLUID_DETECTOR; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_WIRELESS_ITEM_DETECTOR; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_WIRELESS_MAINTENANCE_DETECTOR; +import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; +import static gregtech.api.recipe.RecipeMaps.compressorRecipes; +import static gregtech.api.recipe.RecipeMaps.extractorRecipes; +import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; +import static gregtech.api.util.GTRecipeBuilder.MINUTES; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; +import static gregtech.api.util.GTRecipeBuilder.WILDCARD; +import static gregtech.common.items.IDMetaItem02.Bottle_Alcopops; +import static gregtech.common.items.IDMetaItem02.Bottle_Apple_Juice; +import static gregtech.common.items.IDMetaItem02.Bottle_Beer; +import static gregtech.common.items.IDMetaItem02.Bottle_Cave_Johnsons_Grenade_Juice; +import static gregtech.common.items.IDMetaItem02.Bottle_Chilly_Sauce; +import static gregtech.common.items.IDMetaItem02.Bottle_Cider; +import static gregtech.common.items.IDMetaItem02.Bottle_Dark_Beer; +import static gregtech.common.items.IDMetaItem02.Bottle_Diablo_Sauce; +import static gregtech.common.items.IDMetaItem02.Bottle_Diabolo_Sauce; +import static gregtech.common.items.IDMetaItem02.Bottle_Dragon_Blood; +import static gregtech.common.items.IDMetaItem02.Bottle_Glen_McKenner; +import static gregtech.common.items.IDMetaItem02.Bottle_Golden_Apple_Juice; +import static gregtech.common.items.IDMetaItem02.Bottle_Golden_Cider; +import static gregtech.common.items.IDMetaItem02.Bottle_Grape_Juice; +import static gregtech.common.items.IDMetaItem02.Bottle_Holy_Water; +import static gregtech.common.items.IDMetaItem02.Bottle_Hops_Juice; +import static gregtech.common.items.IDMetaItem02.Bottle_Hot_Sauce; +import static gregtech.common.items.IDMetaItem02.Bottle_Iduns_Apple_Juice; +import static gregtech.common.items.IDMetaItem02.Bottle_Lemon_Juice; +import static gregtech.common.items.IDMetaItem02.Bottle_Lemonade; +import static gregtech.common.items.IDMetaItem02.Bottle_Leninade; +import static gregtech.common.items.IDMetaItem02.Bottle_Limoncello; +import static gregtech.common.items.IDMetaItem02.Bottle_Milk; +import static gregtech.common.items.IDMetaItem02.Bottle_Mineral_Water; +import static gregtech.common.items.IDMetaItem02.Bottle_Notches_Brew; +import static gregtech.common.items.IDMetaItem02.Bottle_Pirate_Brew; +import static gregtech.common.items.IDMetaItem02.Bottle_Potato_Juice; +import static gregtech.common.items.IDMetaItem02.Bottle_Purple_Drink; +import static gregtech.common.items.IDMetaItem02.Bottle_Reed_Water; +import static gregtech.common.items.IDMetaItem02.Bottle_Rum; +import static gregtech.common.items.IDMetaItem02.Bottle_Salty_Water; +import static gregtech.common.items.IDMetaItem02.Bottle_Scotch; +import static gregtech.common.items.IDMetaItem02.Bottle_Snitches_Glitch_Sauce; +import static gregtech.common.items.IDMetaItem02.Bottle_Vinegar; +import static gregtech.common.items.IDMetaItem02.Bottle_Vodka; +import static gregtech.common.items.IDMetaItem02.Bottle_Wheaty_Hops_Juice; +import static gregtech.common.items.IDMetaItem02.Bottle_Wheaty_Juice; +import static gregtech.common.items.IDMetaItem02.Bottle_Wine; +import static gregtech.common.items.IDMetaItem02.Cover_AdvancedRedstoneReceiverExternal; +import static gregtech.common.items.IDMetaItem02.Cover_AdvancedRedstoneReceiverInternal; +import static gregtech.common.items.IDMetaItem02.Cover_AdvancedRedstoneTransmitterExternal; +import static gregtech.common.items.IDMetaItem02.Cover_AdvancedRedstoneTransmitterInternal; +import static gregtech.common.items.IDMetaItem02.Cover_WirelessActivityDetector; +import static gregtech.common.items.IDMetaItem02.Cover_WirelessFluidDetector; +import static gregtech.common.items.IDMetaItem02.Cover_WirelessItemDetector; +import static gregtech.common.items.IDMetaItem02.Cover_WirelessNeedsMaintainance; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Argentia; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Aurelia; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Bauxite; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_BobsYerUncleRanks; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Chilly; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Coppon; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Cucumber; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Ferru; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Grapes; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Ilmenite; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Indigo; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Iridium; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Lemon; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_MTomato; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Manganese; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Mica; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_MilkWart; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Naquadah; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Nickel; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_OilBerry; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Onion; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Osmium; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Pitchblende; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Platinum; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Plumbilia; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Rape; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Scheelite; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_TeaLeaf; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Thorium; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Tine; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Tomato; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_UUABerry; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_UUMBerry; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Uraninite; +import static gregtech.common.items.IDMetaItem02.Crop_Drop_Zinc; +import static gregtech.common.items.IDMetaItem02.Display_ITS_FREE; +import static gregtech.common.items.IDMetaItem02.Dye_Color_00; +import static gregtech.common.items.IDMetaItem02.Dye_Color_01; +import static gregtech.common.items.IDMetaItem02.Dye_Color_02; +import static gregtech.common.items.IDMetaItem02.Dye_Color_03; +import static gregtech.common.items.IDMetaItem02.Dye_Color_04; +import static gregtech.common.items.IDMetaItem02.Dye_Color_05; +import static gregtech.common.items.IDMetaItem02.Dye_Color_06; +import static gregtech.common.items.IDMetaItem02.Dye_Color_07; +import static gregtech.common.items.IDMetaItem02.Dye_Color_08; +import static gregtech.common.items.IDMetaItem02.Dye_Color_09; +import static gregtech.common.items.IDMetaItem02.Dye_Color_10; +import static gregtech.common.items.IDMetaItem02.Dye_Color_11; +import static gregtech.common.items.IDMetaItem02.Dye_Color_12; +import static gregtech.common.items.IDMetaItem02.Dye_Color_13; +import static gregtech.common.items.IDMetaItem02.Dye_Color_14; +import static gregtech.common.items.IDMetaItem02.Dye_Color_15; +import static gregtech.common.items.IDMetaItem02.Dye_Indigo; +import static gregtech.common.items.IDMetaItem02.Food_Baked_Baguette; +import static gregtech.common.items.IDMetaItem02.Food_Baked_Bun; +import static gregtech.common.items.IDMetaItem02.Food_Baked_Cake; +import static gregtech.common.items.IDMetaItem02.Food_Baked_Pizza_Cheese; +import static gregtech.common.items.IDMetaItem02.Food_Baked_Pizza_Meat; +import static gregtech.common.items.IDMetaItem02.Food_Baked_Pizza_Veggie; +import static gregtech.common.items.IDMetaItem02.Food_Burger_Cheese; +import static gregtech.common.items.IDMetaItem02.Food_Burger_Chum; +import static gregtech.common.items.IDMetaItem02.Food_Burger_Meat; +import static gregtech.common.items.IDMetaItem02.Food_Burger_Veggie; +import static gregtech.common.items.IDMetaItem02.Food_Cheese; +import static gregtech.common.items.IDMetaItem02.Food_ChiliChips; +import static gregtech.common.items.IDMetaItem02.Food_Chum; +import static gregtech.common.items.IDMetaItem02.Food_Chum_On_Stick; +import static gregtech.common.items.IDMetaItem02.Food_Dough; +import static gregtech.common.items.IDMetaItem02.Food_Dough_Chocolate; +import static gregtech.common.items.IDMetaItem02.Food_Dough_Sugar; +import static gregtech.common.items.IDMetaItem02.Food_Flat_Dough; +import static gregtech.common.items.IDMetaItem02.Food_Fries; +import static gregtech.common.items.IDMetaItem02.Food_Large_Sandwich_Bacon; +import static gregtech.common.items.IDMetaItem02.Food_Large_Sandwich_Cheese; +import static gregtech.common.items.IDMetaItem02.Food_Large_Sandwich_Steak; +import static gregtech.common.items.IDMetaItem02.Food_Large_Sandwich_Veggie; +import static gregtech.common.items.IDMetaItem02.Food_Packaged_ChiliChips; +import static gregtech.common.items.IDMetaItem02.Food_Packaged_Fries; +import static gregtech.common.items.IDMetaItem02.Food_Packaged_PotatoChips; +import static gregtech.common.items.IDMetaItem02.Food_PotatoChips; +import static gregtech.common.items.IDMetaItem02.Food_Potato_On_Stick; +import static gregtech.common.items.IDMetaItem02.Food_Potato_On_Stick_Roasted; +import static gregtech.common.items.IDMetaItem02.Food_Raw_Baguette; +import static gregtech.common.items.IDMetaItem02.Food_Raw_Bread; +import static gregtech.common.items.IDMetaItem02.Food_Raw_Bun; +import static gregtech.common.items.IDMetaItem02.Food_Raw_Cake; +import static gregtech.common.items.IDMetaItem02.Food_Raw_Cookie; +import static gregtech.common.items.IDMetaItem02.Food_Raw_Fries; +import static gregtech.common.items.IDMetaItem02.Food_Raw_Pizza_Cheese; +import static gregtech.common.items.IDMetaItem02.Food_Raw_Pizza_Meat; +import static gregtech.common.items.IDMetaItem02.Food_Raw_Pizza_Veggie; +import static gregtech.common.items.IDMetaItem02.Food_Raw_PotatoChips; +import static gregtech.common.items.IDMetaItem02.Food_Sandwich_Bacon; +import static gregtech.common.items.IDMetaItem02.Food_Sandwich_Cheese; +import static gregtech.common.items.IDMetaItem02.Food_Sandwich_Steak; +import static gregtech.common.items.IDMetaItem02.Food_Sandwich_Veggie; +import static gregtech.common.items.IDMetaItem02.Food_Sliced_Baguette; +import static gregtech.common.items.IDMetaItem02.Food_Sliced_Baguettes; +import static gregtech.common.items.IDMetaItem02.Food_Sliced_Bread; +import static gregtech.common.items.IDMetaItem02.Food_Sliced_Breads; +import static gregtech.common.items.IDMetaItem02.Food_Sliced_Bun; +import static gregtech.common.items.IDMetaItem02.Food_Sliced_Buns; +import static gregtech.common.items.IDMetaItem02.Food_Sliced_Cheese; +import static gregtech.common.items.IDMetaItem02.Food_Sliced_Cucumber; +import static gregtech.common.items.IDMetaItem02.Food_Sliced_Lemon; +import static gregtech.common.items.IDMetaItem02.Food_Sliced_Onion; +import static gregtech.common.items.IDMetaItem02.Food_Sliced_Tomato; +import static gregtech.common.items.IDMetaItem02.GelledToluene; +import static gregtech.common.items.IDMetaItem02.MSFMixture; +import static gregtech.common.items.IDMetaItem02.Plank_Acacia; +import static gregtech.common.items.IDMetaItem02.Plank_Acacia_Green; +import static gregtech.common.items.IDMetaItem02.Plank_Balsa; +import static gregtech.common.items.IDMetaItem02.Plank_Baobab; +import static gregtech.common.items.IDMetaItem02.Plank_Birch; +import static gregtech.common.items.IDMetaItem02.Plank_Cherry; +import static gregtech.common.items.IDMetaItem02.Plank_Chestnut; +import static gregtech.common.items.IDMetaItem02.Plank_Citrus; +import static gregtech.common.items.IDMetaItem02.Plank_DarkOak; +import static gregtech.common.items.IDMetaItem02.Plank_Ebony; +import static gregtech.common.items.IDMetaItem02.Plank_Greenheart; +import static gregtech.common.items.IDMetaItem02.Plank_Jungle; +import static gregtech.common.items.IDMetaItem02.Plank_Kapok; +import static gregtech.common.items.IDMetaItem02.Plank_Larch; +import static gregtech.common.items.IDMetaItem02.Plank_Lime; +import static gregtech.common.items.IDMetaItem02.Plank_Mahagony; +import static gregtech.common.items.IDMetaItem02.Plank_Mahoe; +import static gregtech.common.items.IDMetaItem02.Plank_Maple; +import static gregtech.common.items.IDMetaItem02.Plank_Oak; +import static gregtech.common.items.IDMetaItem02.Plank_Palm; +import static gregtech.common.items.IDMetaItem02.Plank_Papaya; +import static gregtech.common.items.IDMetaItem02.Plank_Pine; +import static gregtech.common.items.IDMetaItem02.Plank_Plum; +import static gregtech.common.items.IDMetaItem02.Plank_Poplar; +import static gregtech.common.items.IDMetaItem02.Plank_Sequoia; +import static gregtech.common.items.IDMetaItem02.Plank_Spruce; +import static gregtech.common.items.IDMetaItem02.Plank_Teak; +import static gregtech.common.items.IDMetaItem02.Plank_Walnut; +import static gregtech.common.items.IDMetaItem02.Plank_Wenge; +import static gregtech.common.items.IDMetaItem02.Plank_Willow; +import static gregtech.common.items.IDMetaItem02.SFMixture; +import static gregtech.common.items.IDMetaItem02.ThermosCan_Cafe_au_lait; +import static gregtech.common.items.IDMetaItem02.ThermosCan_Chocolate_Milk; +import static gregtech.common.items.IDMetaItem02.ThermosCan_Coffee; +import static gregtech.common.items.IDMetaItem02.ThermosCan_Dark_Cafe_au_lait; +import static gregtech.common.items.IDMetaItem02.ThermosCan_Dark_Chocolate_Milk; +import static gregtech.common.items.IDMetaItem02.ThermosCan_Dark_Coffee; +import static gregtech.common.items.IDMetaItem02.ThermosCan_Ice_Tea; +import static gregtech.common.items.IDMetaItem02.ThermosCan_Lait_au_cafe; +import static gregtech.common.items.IDMetaItem02.ThermosCan_Sweet_Tea; +import static gregtech.common.items.IDMetaItem02.ThermosCan_Tea; + +import net.minecraft.enchantment.Enchantment; +import net.minecraft.enchantment.EnumEnchantmentType; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.EnumAction; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.potion.Potion; + +import gregtech.api.GregTechAPI; +import gregtech.api.enums.Dyes; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.MaterialsUEVplus; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.SubTag; +import gregtech.api.enums.TCAspects; +import gregtech.api.enums.TierEU; +import gregtech.api.items.MetaGeneratedItemX32; +import gregtech.api.objects.ItemData; +import gregtech.api.render.TextureFactory; +import gregtech.api.util.GTFoodStat; +import gregtech.api.util.GTLog; +import gregtech.api.util.GTModHandler; +import gregtech.api.util.GTOreDictUnificator; +import gregtech.api.util.GTUtility; +import gregtech.common.covers.redstone.CoverAdvancedRedstoneReceiverExternal; +import gregtech.common.covers.redstone.CoverAdvancedRedstoneReceiverInternal; +import gregtech.common.covers.redstone.CoverAdvancedRedstoneTransmitterExternal; +import gregtech.common.covers.redstone.CoverAdvancedRedstoneTransmitterInternal; +import gregtech.common.covers.redstone.CoverWirelessDoesWorkDetector; +import gregtech.common.covers.redstone.CoverWirelessFluidDetector; +import gregtech.common.covers.redstone.CoverWirelessItemDetector; +import gregtech.common.covers.redstone.CoverWirelessMaintenanceDetector; +import ic2.api.crops.CropCard; +import ic2.api.crops.Crops; + +public class MetaGeneratedItem02 extends MetaGeneratedItemX32 { + + public static MetaGeneratedItem02 INSTANCE; + private static final String aTextCover = "Usable as Cover"; + + public MetaGeneratedItem02() { + super( + "metaitem.02", + OrePrefixes.toolHeadSword, + OrePrefixes.toolHeadPickaxe, + OrePrefixes.toolHeadShovel, + OrePrefixes.toolHeadAxe, + OrePrefixes.toolHeadHoe, + OrePrefixes.toolHeadHammer, + OrePrefixes.toolHeadFile, + OrePrefixes.toolHeadSaw, + OrePrefixes.toolHeadDrill, + OrePrefixes.toolHeadChainsaw, + OrePrefixes.toolHeadWrench, + OrePrefixes.toolHeadUniversalSpade, + OrePrefixes.toolHeadSense, + OrePrefixes.toolHeadPlow, + OrePrefixes.___placeholder___, + OrePrefixes.toolHeadBuzzSaw, + OrePrefixes.turbineBlade, + null, + OrePrefixes.itemCasing, + OrePrefixes.wireFine, + OrePrefixes.gearGtSmall, + OrePrefixes.rotor, + OrePrefixes.stickLong, + OrePrefixes.springSmall, + OrePrefixes.spring, + OrePrefixes.___placeholder___, + OrePrefixes.___placeholder___, + OrePrefixes.gemChipped, + OrePrefixes.gemFlawed, + OrePrefixes.gemFlawless, + OrePrefixes.gemExquisite, + OrePrefixes.gearGt); + INSTANCE = this; + + ItemList.ThermosCan_Dark_Coffee.set( + addItem( + ThermosCan_Dark_Coffee.ID, + "Dark Coffee", + "Coffee, dark, without anything else", + new GTFoodStat( + 2, + 0.2F, + EnumAction.drink, + ItemList.ThermosCan_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.moveSpeed.id, + 400, + 1, + 70, + Potion.digSpeed.id, + 400, + 1, + 70), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.GELUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 2L))); + ItemList.ThermosCan_Dark_Cafe_au_lait.set( + addItem( + ThermosCan_Dark_Cafe_au_lait.ID, + "Dark Coffee au lait", + "Keeping you awake the whole night", + new GTFoodStat( + 2, + 0.2F, + EnumAction.drink, + ItemList.ThermosCan_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.moveSpeed.id, + 400, + 2, + 90, + Potion.digSpeed.id, + 400, + 2, + 90), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.GELUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 3L))); + ItemList.ThermosCan_Coffee.set( + addItem( + ThermosCan_Coffee.ID, + "Coffee", + "Just the regular morning Coffee", + new GTFoodStat( + 3, + 0.4F, + EnumAction.drink, + ItemList.ThermosCan_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.moveSpeed.id, + 400, + 0, + 50, + Potion.digSpeed.id, + 400, + 0, + 50), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.GELUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 1L))); + ItemList.ThermosCan_Cafe_au_lait.set( + addItem( + ThermosCan_Cafe_au_lait.ID, + "Cafe au lait", + "Sweet Coffee", + new GTFoodStat( + 3, + 0.4F, + EnumAction.drink, + ItemList.ThermosCan_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.moveSpeed.id, + 400, + 1, + 70, + Potion.digSpeed.id, + 400, + 1, + 70), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.GELUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 2L))); + ItemList.ThermosCan_Lait_au_cafe.set( + addItem( + ThermosCan_Lait_au_cafe.ID, + "Lait au cafe", + "You want Coffee to your Sugar?", + new GTFoodStat( + 3, + 0.4F, + EnumAction.drink, + ItemList.ThermosCan_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.moveSpeed.id, + 400, + 2, + 90, + Potion.digSpeed.id, + 400, + 2, + 90), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.GELUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L), + new TCAspects.TC_AspectStack(TCAspects.MOTUS, 3L))); + ItemList.ThermosCan_Dark_Chocolate_Milk.set( + addItem( + ThermosCan_Dark_Chocolate_Milk.ID, + "Dark Chocolate Milk", + "A bit bitter, better add a bit Sugar", + new GTFoodStat( + 3, + 0.4F, + EnumAction.drink, + ItemList.ThermosCan_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.regeneration.id, + 50, + 1, + 60), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.GELUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L), + new TCAspects.TC_AspectStack(TCAspects.SANO, 1L))); + ItemList.ThermosCan_Chocolate_Milk.set( + addItem( + ThermosCan_Chocolate_Milk.ID, + "Chocolate Milk", + "Sweet Goodness", + new GTFoodStat( + 3, + 0.4F, + EnumAction.drink, + ItemList.ThermosCan_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.regeneration.id, + 50, + 1, + 90), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.GELUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L), + new TCAspects.TC_AspectStack(TCAspects.SANO, 2L))); + ItemList.ThermosCan_Tea.set( + addItem( + ThermosCan_Tea.ID, + "Tea", + "Keep calm and carry on", + new GTFoodStat( + 2, + 0.2F, + EnumAction.drink, + ItemList.ThermosCan_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.moveSlowdown.id, + 300, + 0, + 50), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.GELUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 2L))); + ItemList.ThermosCan_Sweet_Tea.set( + addItem( + ThermosCan_Sweet_Tea.ID, + "Sweet Tea", + "How about a Tea Party? In Boston?", + new GTFoodStat( + 2, + 0.2F, + EnumAction.drink, + ItemList.ThermosCan_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.GELUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 2L))); + ItemList.ThermosCan_Ice_Tea.set( + addItem( + ThermosCan_Ice_Tea.ID, + "Ice Tea", + "Better than this purple Junk Drink from failed Potions", + new GTFoodStat( + 2, + 0.2F, + EnumAction.drink, + ItemList.ThermosCan_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.moveSlowdown.id, + 300, + 0, + 50), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.GELUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 2L))); + + ItemList.GelledToluene.set(addItem(GelledToluene.ID, "Gelled Toluene", "Raw Explosive")); + + ItemList.Bottle_Purple_Drink.set( + addItem( + Bottle_Purple_Drink.ID, + "Purple Drink", + "How about Lemonade. Or some Ice Tea? I got Purple Drink!", + new GTFoodStat( + 8, + 0.2F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.moveSlowdown.id, + 400, + 1, + 90), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L), + new TCAspects.TC_AspectStack(TCAspects.VINCULUM, 1L))); + ItemList.Bottle_Grape_Juice.set( + addItem( + Bottle_Grape_Juice.ID, + "Grape Juice", + "This has a cleaning effect on your internals.", + new GTFoodStat( + 4, + 0.2F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.hunger.id, + 400, + 1, + 60), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L), + new TCAspects.TC_AspectStack(TCAspects.SANO, 1L))); + ItemList.Bottle_Wine.set( + addItem( + Bottle_Wine.ID, + "Wine", + "Ordinary", + new GTFoodStat( + 2, + 0.2F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.confusion.id, + 400, + 1, + 60, + Potion.heal.id, + 0, + 0, + 60, + Potion.poison.id, + 200, + 1, + 5), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.VENENUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.SANO, 1L))); + ItemList.Bottle_Vinegar.set( + addItem( + Bottle_Vinegar.ID, + "Vinegar", + "Exquisite", + new GTFoodStat( + 2, + 0.2F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.confusion.id, + 400, + 1, + 90, + Potion.heal.id, + 0, + 1, + 90, + Potion.poison.id, + 200, + 2, + 10, + Potion.harm.id, + 0, + 2, + 5), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.VENENUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.SANO, 1L))); + ItemList.Bottle_Potato_Juice.set( + addItem( + Bottle_Potato_Juice.ID, + "Potato Juice", + "Ever seen Potato Juice in stores? No? That has a reason.", + new GTFoodStat( + 3, + 0.3F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L), + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L))); + ItemList.Bottle_Vodka.set( + addItem( + Bottle_Vodka.ID, + "Vodka", + "Not to confuse with Water", + new GTFoodStat( + 2, + 0.2F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.confusion.id, + 500, + 0, + 60, + Potion.damageBoost.id, + 500, + 1, + 60, + Potion.poison.id, + 200, + 1, + 5), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.VENENUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.TELUM, 1L))); + ItemList.Bottle_Leninade.set( + addItem( + Bottle_Leninade.ID, + "Leninade", + "Let the Communism flow through you!", + new GTFoodStat( + 2, + 0.2F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.confusion.id, + 500, + 1, + 90, + Potion.damageBoost.id, + 500, + 2, + 90, + Potion.poison.id, + 200, + 2, + 10, + Potion.harm.id, + 0, + 2, + 5), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.VENENUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.TELUM, 2L))); + ItemList.Bottle_Mineral_Water.set( + addItem( + Bottle_Mineral_Water.ID, + "Mineral Water", + "The best Stuff you can drink to stay healthy", + new GTFoodStat( + 1, + 0.1F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.regeneration.id, + 100, + 1, + 10), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 2L), + new TCAspects.TC_AspectStack(TCAspects.SANO, 1L))); + ItemList.Bottle_Salty_Water.set( + addItem( + Bottle_Salty_Water.ID, + "Salty Water", + "Like Sea Water but less dirty", + SubTag.INVISIBLE, + new GTFoodStat( + 1, + 0.0F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.hunger.id, + 400, + 2, + 95), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.TEMPESTAS, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L))); + ItemList.Bottle_Reed_Water.set( + addItem( + Bottle_Reed_Water.ID, + "Reed Water", + "I guess this tastes better when fermented", + new GTFoodStat( + 1, + 0.1F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L))); + ItemList.Bottle_Rum.set( + addItem( + Bottle_Rum.ID, + "Rum", + "A buddle o' rum", + new GTFoodStat( + 4, + 0.4F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.confusion.id, + 300, + 0, + 60, + Potion.damageBoost.id, + 300, + 1, + 60, + Potion.poison.id, + 200, + 1, + 5), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.VENENUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.LUCRUM, 1L))); + ItemList.Bottle_Pirate_Brew.set( + addItem( + Bottle_Pirate_Brew.ID, + "Pirate Brew", + "Set the Sails, we are going to Torrentuga!", + new GTFoodStat( + 4, + 0.4F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.confusion.id, + 300, + 1, + 90, + Potion.damageBoost.id, + 300, + 2, + 90, + Potion.poison.id, + 200, + 2, + 10, + Potion.harm.id, + 0, + 2, + 5), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.VENENUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.LUCRUM, 2L))); + ItemList.Bottle_Hops_Juice.set( + addItem( + Bottle_Hops_Juice.ID, + "Hops Juice", + "Every Beer has a start", + new GTFoodStat( + 1, + 0.1F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L), + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L))); + ItemList.Bottle_Dark_Beer.set( + addItem( + Bottle_Dark_Beer.ID, + "Dark Beer", + "Dark Beer, for the real Men", + new GTFoodStat( + 4, + 0.4F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.confusion.id, + 300, + 1, + 60, + Potion.damageBoost.id, + 300, + 1, + 60, + Potion.poison.id, + 200, + 1, + 5), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.VENENUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 1L))); + ItemList.Bottle_Dragon_Blood.set( + addItem( + Bottle_Dragon_Blood.ID, + "Dragon Blood", + "FUS RO DAH!", + new GTFoodStat( + 4, + 0.4F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.confusion.id, + 300, + 2, + 90, + Potion.damageBoost.id, + 300, + 2, + 90, + Potion.poison.id, + 200, + 2, + 10, + Potion.harm.id, + 0, + 2, + 5), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.VENENUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 2L))); + ItemList.Bottle_Wheaty_Juice.set( + addItem( + Bottle_Wheaty_Juice.ID, + "Wheaty Juice", + "Is this liquefied Bread or what?", + new GTFoodStat( + 2, + 0.1F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L), + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L))); + ItemList.Bottle_Scotch.set( + addItem( + Bottle_Scotch.ID, + "Scotch", + "Technically this is just a Whisky", + new GTFoodStat( + 2, + 0.1F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.confusion.id, + 400, + 0, + 60, + Potion.resistance.id, + 400, + 1, + 60, + Potion.poison.id, + 200, + 1, + 5), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.VENENUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.TUTAMEN, 1L))); + ItemList.Bottle_Glen_McKenner.set( + addItem( + Bottle_Glen_McKenner.ID, + "Glen McKenner", + "Don't hand to easily surprised people, they will shatter it.", + new GTFoodStat( + 2, + 0.1F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.confusion.id, + 400, + 1, + 90, + Potion.resistance.id, + 400, + 2, + 90, + Potion.poison.id, + 200, + 2, + 10, + Potion.harm.id, + 0, + 2, + 5), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.VENENUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.TUTAMEN, 2L))); + ItemList.Bottle_Wheaty_Hops_Juice.set( + addItem( + Bottle_Wheaty_Hops_Juice.ID, + "Wheaty Hops Juice", + "Also known as 'Duff-Lite'", + new GTFoodStat( + 1, + 0.1F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L), + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 2L))); + ItemList.Bottle_Beer.set( + addItem( + Bottle_Beer.ID, + "Beer", + "Good old Beer", + new GTFoodStat( + 6, + 0.4F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.confusion.id, + 400, + 0, + 60, + Potion.digSpeed.id, + 400, + 2, + 60, + Potion.poison.id, + 100, + 0, + 5), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.VENENUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.PERFODIO, 1L))); + ItemList.Bottle_Chilly_Sauce.set( + addItem( + Bottle_Chilly_Sauce.ID, + "Chilly Sauce", + "Spicy", + new GTFoodStat( + 2, + 0.1F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.confusion.id, + 1000, + 0, + 10, + Potion.fireResistance.id, + 1000, + 0, + 60), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.VENENUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Bottle_Hot_Sauce.set( + addItem( + Bottle_Hot_Sauce.ID, + "Hot Sauce", + "Very Spicy, I guess?", + new GTFoodStat( + 2, + 0.1F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.confusion.id, + 2000, + 0, + 30, + Potion.fireResistance.id, + 2000, + 0, + 70), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.VENENUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 2L))); + ItemList.Bottle_Diabolo_Sauce.set( + addItem( + Bottle_Diabolo_Sauce.ID, + "Diabolo Sauce", + "As if the Devil made this Sauce", + new GTFoodStat( + 2, + 0.1F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.confusion.id, + 3000, + 1, + 50, + Potion.fireResistance.id, + 3000, + 0, + 80), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.VENENUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 3L))); + ItemList.Bottle_Diablo_Sauce.set( + addItem( + Bottle_Diablo_Sauce.ID, + "Diablo Sauce", + "Diablo always comes back!", + new GTFoodStat( + 2, + 0.1F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.confusion.id, + 4000, + 1, + 70, + Potion.fireResistance.id, + 4000, + 0, + 90), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.VENENUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 4L))); + ItemList.Bottle_Snitches_Glitch_Sauce.set( + addItem( + Bottle_Snitches_Glitch_Sauce.ID, + "Old Man Snitches glitched Diablo Sauce", + "[Missing No]", + SubTag.INVISIBLE, + new GTFoodStat( + 2, + 0.1F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.confusion.id, + 9999, + 2, + 999, + Potion.fireResistance.id, + 9999, + 9, + 999), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.VENENUM, 3L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 5L))); + ItemList.Bottle_Apple_Juice.set( + addItem( + Bottle_Apple_Juice.ID, + "Apple Juice", + "Made of the Apples from our best Oak Farms", + new GTFoodStat( + 4, + 0.2F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.hunger.id, + 400, + 0, + 20), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L))); + ItemList.Bottle_Cider.set( + addItem( + Bottle_Cider.ID, + "Cider", + "If you have nothing better to do with your Apples", + new GTFoodStat( + 4, + 0.2F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.confusion.id, + 400, + 0, + 60, + Potion.resistance.id, + 400, + 1, + 60, + Potion.poison.id, + 200, + 1, + 5), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.VENENUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.TUTAMEN, 1L))); + ItemList.Bottle_Golden_Apple_Juice.set( + addItem( + Bottle_Golden_Apple_Juice.ID, + "Golden Apple Juice", + "A golden Apple in liquid form", + new GTFoodStat( + 4, + 0.2F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.hunger.id, + 400, + 0, + 20, + Potion.field_76444_x.id, + 2400, + 0, + 100, + Potion.regeneration.id, + 100, + 1, + 100), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L), + new TCAspects.TC_AspectStack(TCAspects.SANO, 1L))); + ItemList.Bottle_Golden_Cider.set( + addItem( + Bottle_Golden_Cider.ID, + "Golden Cider", + "More Resistance, less Regeneration", + new GTFoodStat( + 4, + 0.2F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.confusion.id, + 400, + 0, + 60, + Potion.field_76444_x.id, + 2400, + 1, + 95, + Potion.poison.id, + 200, + 1, + 5), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.VENENUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.TUTAMEN, 1L))); + ItemList.Bottle_Iduns_Apple_Juice.set( + addItem( + Bottle_Iduns_Apple_Juice.ID, + "Idun's Apple Juice", + "So you got the Idea of using Notch Apples for a drink?", + new GTFoodStat( + 4, + 0.2F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.regeneration.id, + 600, + 4, + 100, + Potion.field_76444_x.id, + 2400, + 0, + 100, + Potion.resistance.id, + 6000, + 0, + 100, + Potion.fireResistance.id, + 6000, + 0, + 100), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L), + new TCAspects.TC_AspectStack(TCAspects.NEBRISUM, 9L))); + ItemList.Bottle_Notches_Brew.set( + addItem( + Bottle_Notches_Brew.ID, + "Notches Brew", + "This is just overpowered", + new GTFoodStat( + 4, + 0.2F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.regeneration.id, + 700, + 4, + 95, + Potion.field_76444_x.id, + 3000, + 1, + 95, + Potion.resistance.id, + 7000, + 1, + 95, + Potion.fireResistance.id, + 7000, + 0, + 95, + Potion.harm.id, + 0, + 2, + 20), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.VENENUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.NEBRISUM, 9L))); + ItemList.Bottle_Lemon_Juice.set( + addItem( + Bottle_Lemon_Juice.ID, + "Lemon Juice", + "Maybe adding Sugar will make it less sour", + new GTFoodStat( + 2, + 0.4F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.digSpeed.id, + 1200, + 0, + 60), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L), + new TCAspects.TC_AspectStack(TCAspects.PERFODIO, 1L))); + ItemList.Bottle_Limoncello.set( + addItem( + Bottle_Limoncello.ID, + "Limoncello", + "An alcoholic Drink which tastes like Lemons", + new GTFoodStat( + 2, + 0.4F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.digSpeed.id, + 1200, + 0, + 90, + Potion.poison.id, + 200, + 1, + 5), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.VENENUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.PERFODIO, 1L))); + ItemList.Bottle_Lemonade.set( + addItem( + Bottle_Lemonade.ID, + "Lemonade", + "Cold and refreshing Lemonade", + new GTFoodStat( + 4, + 0.3F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.digSpeed.id, + 900, + 1, + 90), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L), + new TCAspects.TC_AspectStack(TCAspects.PERFODIO, 1L))); + ItemList.Bottle_Alcopops.set( + addItem( + Bottle_Alcopops.ID, + "Alcopops", + "Don't let your Children drink this junk!", + new GTFoodStat( + 2, + 0.2F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.digSpeed.id, + 900, + 1, + 90, + Potion.poison.id, + 300, + 2, + 20), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.VENENUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.VINCULUM, 1L))); + ItemList.Bottle_Cave_Johnsons_Grenade_Juice.set( + addItem( + Bottle_Cave_Johnsons_Grenade_Juice.ID, + "Cave Johnson's Grenade Juice", + "When life gives you Lemons, make Life take them Lemons back!", + new GTFoodStat( + 0, + 0.0F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false).setExplosive(), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.MORTUUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.PERDITIO, 1L))); + ItemList.Bottle_Milk.set( + addItem( + Bottle_Milk.ID, + "Milk", + "Got Milk?", + OrePrefixes.bottle.get(Materials.Milk), + new GTFoodStat( + 0, + 0.0F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false).setMilk(), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L), + new TCAspects.TC_AspectStack(TCAspects.SANO, 1L))); + ItemList.Bottle_Holy_Water.set( + addItem( + Bottle_Holy_Water.ID, + "Holy Water", + "May the holy Planks be with you", + OrePrefixes.bottle.get(Materials.HolyWater), + new GTFoodStat( + 0, + 0.0F, + EnumAction.drink, + ItemList.Bottle_Empty.get(1L), + GregTechAPI.sDrinksAlwaysDrinkable, + false, + false, + Potion.poison.id, + 100, + 1, + 100).setMilk(), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L), + new TCAspects.TC_AspectStack(TCAspects.AURAM, 1L))); + + ItemList.Food_Potato_On_Stick.set( + addItem( + Food_Potato_On_Stick.ID, + "Potato on a Stick", + "Totally looks like a Crab Claw", + new GTFoodStat(1, 0.3F, EnumAction.eat, new ItemStack(Items.stick, 1), false, true, false), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Food_Potato_On_Stick_Roasted.set( + addItem( + Food_Potato_On_Stick_Roasted.ID, + "Roasted Potato on a Stick", + "Still looks like a Crab Claw", + new GTFoodStat(6, 0.6F, EnumAction.eat, new ItemStack(Items.stick, 1), false, true, false), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Raw_Fries.set( + addItem( + Food_Raw_Fries.ID, + "Potato Strips", + "It's Potato in Stripe Form", + new GTFoodStat(1, 0.3F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L))); + ItemList.Food_Fries.set( + addItem( + Food_Fries.ID, + "Fries", + "Not to confuse with Fry the Delivery Boy", + new GTFoodStat(7, 0.5F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Packaged_Fries.set( + addItem( + Food_Packaged_Fries.ID, + "Fries", + "Ketchup not included", + new GTFoodStat( + 7, + 0.5F, + EnumAction.eat, + GTOreDictUnificator.get(OrePrefixes.plate, Materials.Paper, 1L), + false, + true, + false), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Raw_PotatoChips.set( + addItem( + Food_Raw_PotatoChips.ID, + "Potato Chips (Raw)", + "Just like a Potato", + new GTFoodStat(1, 0.3F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L))); + ItemList.Food_PotatoChips.set( + addItem( + Food_PotatoChips.ID, + "Potato Chips", + "Crunchy", + new GTFoodStat(7, 0.5F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_ChiliChips.set( + addItem( + Food_ChiliChips.ID, + "Chili Chips", + "Spicy", + new GTFoodStat(7, 0.6F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Packaged_PotatoChips.set( + addItem( + Food_Packaged_PotatoChips.ID, + "Bag of Potato Chips", + "Full of delicious Air", + new GTFoodStat( + 7, + 0.5F, + EnumAction.eat, + GTOreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 1L), + false, + true, + false), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Packaged_ChiliChips.set( + addItem( + Food_Packaged_ChiliChips.ID, + "Bag of Chili Chips", + "Stop making noises Baj!", + new GTFoodStat( + 7, + 0.6F, + EnumAction.eat, + GTOreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 1L), + false, + true, + false), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Chum.set( + addItem( + Food_Chum.ID, + "Chum", + "Chum is Fum!", + new GTFoodStat( + 5, + 0.2F, + EnumAction.eat, + null, + true, + false, + true, + Potion.hunger.id, + 1000, + 4, + 100, + Potion.confusion.id, + 300, + 1, + 80), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Chum_On_Stick.set( + addItem( + Food_Chum_On_Stick.ID, + "Chum on a Stick", + "Don't forget to try our Chum-balaya", + new GTFoodStat( + 5, + 0.2F, + EnumAction.eat, + new ItemStack(Items.stick, 1), + true, + false, + true, + Potion.hunger.id, + 1000, + 4, + 100, + Potion.confusion.id, + 300, + 1, + 80), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Dough_Sugar.set( + addItem( + Food_Dough_Sugar.ID, + "Sugary Dough", + "Don't eat the Dough before it is baken", + new GTFoodStat(1, 0.1F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L))); + ItemList.Food_Dough_Chocolate.set( + addItem( + Food_Dough_Chocolate.ID, + "Chocolate Dough", + "I said don't eat the Dough!", + new GTFoodStat(1, 0.1F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L))); + ItemList.Food_Raw_Cookie.set( + addItem( + Food_Raw_Cookie.ID, + "Cookie shaped Dough", + "For baking Cookies", + new GTFoodStat(1, 0.1F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L))); + + ItemList.Food_Sliced_Buns.set( + addItem( + Food_Sliced_Buns.ID, + "Buns", + "Pre Sliced", + new GTFoodStat(3, 0.5F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Burger_Veggie.set( + addItem( + Food_Burger_Veggie.ID, + "Veggieburger", + "No matter how you call this, this is NOT a Burger!", + new GTFoodStat(3, 0.5F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 2L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Burger_Cheese.set( + addItem( + Food_Burger_Cheese.ID, + "Cheeseburger", + "Cheesy!", + new GTFoodStat(3, 0.5F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 2L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L), + new ItemData(Materials.Cheese, 907200L))); + ItemList.Food_Burger_Meat.set( + addItem( + Food_Burger_Meat.ID, + "Hamburger", + "The Mc Burger Queen Burger", + new GTFoodStat(3, 0.5F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.CORPUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Burger_Chum.set( + addItem( + Food_Burger_Chum.ID, + "Chumburger", + "Fum is Chum!", + new GTFoodStat( + 5, + 0.2F, + EnumAction.eat, + null, + true, + false, + true, + Potion.hunger.id, + 1000, + 4, + 100, + Potion.confusion.id, + 300, + 1, + 80), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + + ItemList.Food_Sliced_Breads.set( + addItem( + Food_Sliced_Breads.ID, + "Breads", + "Pre Sliced", + new GTFoodStat(5, 0.6F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Sandwich_Veggie.set( + addItem( + Food_Sandwich_Veggie.ID, + "Veggie Sandwich", + "Meatless", + new GTFoodStat(7, 0.6F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 2L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Sandwich_Cheese.set( + addItem( + Food_Sandwich_Cheese.ID, + "Cheese Sandwich", + "Say Cheese!", + new GTFoodStat(7, 0.6F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 2L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Sandwich_Bacon.set( + addItem( + Food_Sandwich_Bacon.ID, + "Bacon Sandwich", + "The best Sandwich ever!", + new GTFoodStat(10, 0.8F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.CORPUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Sandwich_Steak.set( + addItem( + Food_Sandwich_Steak.ID, + "Steak Sandwich", + "Not a 'Steam Sandwich'", + new GTFoodStat(10, 0.8F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.CORPUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Sliced_Baguettes.set( + addItem( + Food_Sliced_Baguettes.ID, + "Baguettes", + "Pre Sliced", + new GTFoodStat(8, 0.5F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Large_Sandwich_Veggie.set( + addItem( + Food_Large_Sandwich_Veggie.ID, + "Large Veggie Sandwich", + "Just not worth it", + new GTFoodStat(15, 0.8F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 3L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Large_Sandwich_Cheese.set( + addItem( + Food_Large_Sandwich_Cheese.ID, + "Large Cheese Sandwich", + "I need another cheesy tooltip for this", + new GTFoodStat(15, 0.8F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 3L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Large_Sandwich_Bacon.set( + addItem( + Food_Large_Sandwich_Bacon.ID, + "Large Bacon Sandwich", + "For Men! (and manly Women)", + new GTFoodStat(20, 1.0F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.CORPUS, 2L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Large_Sandwich_Steak.set( + addItem( + Food_Large_Sandwich_Steak.ID, + "Large Steak Sandwich", + "Yes, I once accidentially called it 'Steam Sandwich'", + new GTFoodStat(20, 1.0F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.CORPUS, 2L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Raw_Pizza_Veggie.set( + addItem( + Food_Raw_Pizza_Veggie.ID, + "Raw Veggie Pizza", + "Into the Oven with it!", + new GTFoodStat(1, 0.2F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 2L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Raw_Pizza_Cheese.set( + addItem( + Food_Raw_Pizza_Cheese.ID, + "Raw Cheese Pizza", + "Into the Oven with it!", + new GTFoodStat(2, 0.2F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 2L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Raw_Pizza_Meat.set( + addItem( + Food_Raw_Pizza_Meat.ID, + "Raw Mince Meat Pizza", + "Into the Oven with it!", + new GTFoodStat(2, 0.2F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.CORPUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + + ItemList.Food_Baked_Pizza_Veggie.set( + addItem( + Food_Baked_Pizza_Veggie.ID, + "Veggie Pizza", + "The next they want is Gluten Free Pizzas...", + new GTFoodStat(3, 0.3F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 2L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Baked_Pizza_Cheese.set( + addItem( + Food_Baked_Pizza_Cheese.ID, + "Cheese Pizza", + "Pizza Magarita", + new GTFoodStat(4, 0.4F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 2L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Baked_Pizza_Meat.set( + addItem( + Food_Baked_Pizza_Meat.ID, + "Mince Meat Pizza", + "Emo Pizza, it cuts itself!", + new GTFoodStat(5, 0.5F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.CORPUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + + ItemList.Dye_Indigo.set( + addItem( + Dye_Indigo.ID, + "Indigo Dye", + "Blue Dye", + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 1L), + Dyes.dyeBlue)); + + int[] Dye_Colors = new int[] { Dye_Color_00.ID, Dye_Color_01.ID, Dye_Color_02.ID, Dye_Color_03.ID, + Dye_Color_04.ID, Dye_Color_05.ID, Dye_Color_06.ID, Dye_Color_07.ID, Dye_Color_08.ID, Dye_Color_09.ID, + Dye_Color_10.ID, Dye_Color_11.ID, Dye_Color_12.ID, Dye_Color_13.ID, Dye_Color_14.ID, Dye_Color_15.ID }; + for (int i = 0; i < 16; i = i + 1) { + ItemList.DYE_ONLY_ITEMS[i].set( + addItem( + Dye_Colors[i], + Dyes.get(i).mName + " Dye", + "", + Dyes.get(i) + .name(), + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 1L))); + } + + ItemList.Plank_Oak + .set(addItem(Plank_Oak.ID, "Oak Plank", aTextCover, new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Spruce.set( + addItem(Plank_Spruce.ID, "Spruce Plank", aTextCover, new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Birch + .set(addItem(Plank_Birch.ID, "Birch Plank", aTextCover, new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Jungle.set( + addItem(Plank_Jungle.ID, "Jungle Plank", aTextCover, new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Acacia.set( + addItem(Plank_Acacia.ID, "Acacia Plank", aTextCover, new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_DarkOak.set( + addItem(Plank_DarkOak.ID, "Dark Oak Plank", aTextCover, new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Larch + .set(addItem(Plank_Larch.ID, "Larch Plank", aTextCover, new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Teak + .set(addItem(Plank_Teak.ID, "Teak Plank", aTextCover, new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Acacia_Green.set( + addItem( + Plank_Acacia_Green.ID, + "Green Acacia Plank", + aTextCover, + new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Lime + .set(addItem(Plank_Lime.ID, "Lime Plank", aTextCover, new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Chestnut.set( + addItem( + Plank_Chestnut.ID, + "Chestnut Plank", + aTextCover, + new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Wenge + .set(addItem(Plank_Wenge.ID, "Wenge Plank", aTextCover, new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Baobab.set( + addItem(Plank_Baobab.ID, "Baobab Plank", aTextCover, new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Sequoia.set( + addItem(Plank_Sequoia.ID, "Sequoia Plank", aTextCover, new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Kapok + .set(addItem(Plank_Kapok.ID, "Kapok Plank", aTextCover, new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Ebony + .set(addItem(Plank_Ebony.ID, "Ebony Plank", aTextCover, new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Mahagony.set( + addItem( + Plank_Mahagony.ID, + "Mahagony Plank", + aTextCover, + new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Balsa + .set(addItem(Plank_Balsa.ID, "Balsa Plank", aTextCover, new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Willow.set( + addItem(Plank_Willow.ID, "Willow Plank", aTextCover, new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Walnut.set( + addItem(Plank_Walnut.ID, "Walnut Plank", aTextCover, new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Greenheart.set( + addItem( + Plank_Greenheart.ID, + "Greenheart Plank", + aTextCover, + new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Cherry.set( + addItem(Plank_Cherry.ID, "Cherry Plank", aTextCover, new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Mahoe + .set(addItem(Plank_Mahoe.ID, "Mahoe Plank", aTextCover, new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Poplar.set( + addItem(Plank_Poplar.ID, "Poplar Plank", aTextCover, new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Palm + .set(addItem(Plank_Palm.ID, "Palm Plank", aTextCover, new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Papaya.set( + addItem(Plank_Papaya.ID, "Papaya Plank", aTextCover, new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Pine + .set(addItem(Plank_Pine.ID, "Pine Plank", aTextCover, new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Plum + .set(addItem(Plank_Plum.ID, "Plum Plank", aTextCover, new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Maple + .set(addItem(Plank_Maple.ID, "Maple Plank", aTextCover, new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.Plank_Citrus.set( + addItem(Plank_Citrus.ID, "Citrus Plank", aTextCover, new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + ItemList.SFMixture.set(addItem(SFMixture.ID, "Super Fuel Binder", "Raw Material")); + ItemList.MSFMixture.set(addItem(MSFMixture.ID, "Magic Super Fuel Binder", "Raw Material")); + + ItemList.Crop_Drop_Plumbilia.set( + addItem( + Crop_Drop_Plumbilia.ID, + "Plumbilia Leaf", + "Source of Lead", + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.ORDO, 1L))); + ItemList.Crop_Drop_Argentia.set( + addItem( + Crop_Drop_Argentia.ID, + "Argentia Leaf", + "Source of Silver", + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.LUCRUM, 1L))); + ItemList.Crop_Drop_Indigo.set( + addItem( + Crop_Drop_Indigo.ID, + "Indigo Blossom", + "Used for making Blue Dye", + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 1L))); + ItemList.Crop_Drop_Ferru.set( + addItem( + Crop_Drop_Ferru.ID, + "Ferru Leaf", + "Source of Iron", + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 2L))); + ItemList.Crop_Drop_Aurelia.set( + addItem( + Crop_Drop_Aurelia.ID, + "Aurelia Leaf", + "Source of Gold", + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.LUCRUM, 1L))); + ItemList.Crop_Drop_TeaLeaf.set( + addItem( + Crop_Drop_TeaLeaf.ID, + "Tea Leaf", + "Source of Tea", + "cropTea", + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.SANO, 1L))); + + ItemList.Crop_Drop_OilBerry.set( + addItem( + Crop_Drop_OilBerry.ID, + "Oil Berry", + "Oil in Berry form", + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 1L))); + ItemList.Crop_Drop_BobsYerUncleRanks.set( + addItem( + Crop_Drop_BobsYerUncleRanks.ID, + "Bobs-Yer-Uncle-Berry", + "Source of Emeralds", + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.VITREUS, 1L), + new TCAspects.TC_AspectStack(TCAspects.LUCRUM, 1L))); + ItemList.Crop_Drop_UUMBerry.set( + addItem( + Crop_Drop_UUMBerry.ID, + "UUM Berry", + "UUM in Berry form", + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 1L))); + ItemList.Crop_Drop_UUABerry.set( + addItem( + Crop_Drop_UUABerry.ID, + "UUA Berry", + "UUA in Berry form", + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 1L))); + + ItemList.Crop_Drop_MilkWart.set( + addItem( + Crop_Drop_MilkWart.ID, + "Milk Wart", + "Source of Milk", + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L), + new TCAspects.TC_AspectStack(TCAspects.SANO, 1L))); + + ItemList.Crop_Drop_Coppon.set( + addItem( + Crop_Drop_Coppon.ID, + "Coppon Fiber", + "ORANGE WOOOOOOOL!!!", + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.PERMUTATIO, 1L))); + + ItemList.Crop_Drop_Tine.set( + addItem( + Crop_Drop_Tine.ID, + "Tine Twig", + "Source of Tin", + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.METALLUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + + ItemList.Crop_Drop_Mica.set( + addItem( + Crop_Drop_Mica.ID, + "Micadia Twig", + "Source of Mica", + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.TUTAMEN, 1L), + new TCAspects.TC_AspectStack(TCAspects.ARBOR, 1L))); + + ItemList.Crop_Drop_Bauxite.set(addItem(Crop_Drop_Bauxite.ID, "Bauxia Leaf", "Source of Aluminium")); + ItemList.Crop_Drop_Ilmenite.set(addItem(Crop_Drop_Ilmenite.ID, "Titania Leaf", "Source of Titanium")); + ItemList.Crop_Drop_Pitchblende.set(addItem(Crop_Drop_Pitchblende.ID, "Reactoria Leaf", "Source of Uranium")); + ItemList.Crop_Drop_Uraninite.set(addItem(Crop_Drop_Uraninite.ID, "Uranium Leaf", "Source of Uranite")); + ItemList.Crop_Drop_Thorium.set(addItem(Crop_Drop_Thorium.ID, "Thunder Leaf", "Source of Thorium")); + ItemList.Crop_Drop_Nickel.set(addItem(Crop_Drop_Nickel.ID, "Nickelback Leaf", "Source of Nickel")); + ItemList.Crop_Drop_Zinc.set(addItem(Crop_Drop_Zinc.ID, "Galvania Leaf", "Source of Zinc")); + ItemList.Crop_Drop_Manganese.set(addItem(Crop_Drop_Manganese.ID, "Pyrolusium Leaf", "Source of Manganese")); + ItemList.Crop_Drop_Scheelite.set(addItem(Crop_Drop_Scheelite.ID, "Scheelinium Leaf", "Source of Tungsten")); + ItemList.Crop_Drop_Platinum.set(addItem(Crop_Drop_Platinum.ID, "Platina Leaf", "Source of Platinum")); + ItemList.Crop_Drop_Iridium.set(addItem(Crop_Drop_Iridium.ID, "Quantaria Leaf", "Source of Iridium")); + ItemList.Crop_Drop_Osmium.set(addItem(Crop_Drop_Osmium.ID, "Quantaria Leaf", "Source of Osmium")); + ItemList.Crop_Drop_Naquadah.set(addItem(Crop_Drop_Naquadah.ID, "Stargatium Leaf", "Source of Naquadah")); + + ItemList.Crop_Drop_Chilly.set( + addItem( + Crop_Drop_Chilly.ID, + "Chilly Pepper", + "It is red and hot", + "cropChilipepper", + new GTFoodStat(1, 0.3F, EnumAction.eat, null, false, true, false, Potion.confusion.id, 200, 1, 40), + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L))); + ItemList.Crop_Drop_Lemon.set( + addItem( + Crop_Drop_Lemon.ID, + "Lemon", + "Don't make Lemonade", + "cropLemon", + new GTFoodStat(1, 0.3F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L))); + ItemList.Crop_Drop_Tomato.set( + addItem( + Crop_Drop_Tomato.ID, + "Tomato", + "Solid Ketchup", + "cropTomato", + new GTFoodStat(1, 0.2F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L))); + ItemList.Crop_Drop_MTomato.set( + addItem( + Crop_Drop_MTomato.ID, + "Max Tomato", + "Full Health in one Tomato", + "cropTomato", + new GTFoodStat( + 9, + 1.0F, + EnumAction.eat, + null, + false, + true, + false, + Potion.regeneration.id, + 100, + 100, + 100), + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.SANO, 3L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L))); + ItemList.Crop_Drop_Grapes.set( + addItem( + Crop_Drop_Grapes.ID, + "Grapes", + "Source of Wine", + "cropGrape", + new GTFoodStat(2, 0.3F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L))); + ItemList.Crop_Drop_Onion.set( + addItem( + Crop_Drop_Onion.ID, + "Onion", + "Taking over the whole Taste", + "cropOnion", + new GTFoodStat(2, 0.2F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L))); + ItemList.Crop_Drop_Cucumber.set( + addItem( + Crop_Drop_Cucumber.ID, + "Cucumber", + "Not a Sea Cucumber!", + "cropCucumber", + new GTFoodStat(1, 0.2F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L))); + ItemList.Crop_Drop_Rape.set( + addItem( + Crop_Drop_Rape.ID, + "Rape", + "Also known as Canola.", + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 1L), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 1L))); + + ItemList.Food_Cheese.set( + addItem( + Food_Cheese.ID, + "Cheese", + "Click the Cheese", + "foodCheese", + new GTFoodStat(3, 0.6F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 2L))); + ItemList.Food_Dough.set( + addItem( + Food_Dough.ID, + "Dough", + "For making Breads", + "foodDough", + new GTFoodStat(1, 0.1F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L))); + ItemList.Food_Flat_Dough.set( + addItem( + Food_Flat_Dough.ID, + "Flattened Dough", + "For making Pizza", + new GTFoodStat(1, 0.1F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L))); + ItemList.Food_Raw_Bread.set( + addItem( + Food_Raw_Bread.ID, + "Dough", + "In Bread Shape", + new GTFoodStat(1, 0.2F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L))); + ItemList.Food_Raw_Bun.set( + addItem( + Food_Raw_Bun.ID, + "Dough", + "In Bun Shape", + new GTFoodStat(1, 0.1F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L))); + ItemList.Food_Raw_Baguette.set( + addItem( + Food_Raw_Baguette.ID, + "Dough", + "In Baguette Shape", + new GTFoodStat(1, 0.3F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L))); + ItemList.Food_Baked_Bun.set( + addItem( + Food_Baked_Bun.ID, + "Bun", + "Do not teleport Bread!", + new GTFoodStat(3, 0.5F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Baked_Baguette.set( + addItem( + Food_Baked_Baguette.ID, + "Baguette", + "I teleported nothing BUT Bread!!!", + new GTFoodStat(8, 0.5F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Sliced_Bread.set( + addItem( + Food_Sliced_Bread.ID, + "Sliced Bread", + "Just half a Bread", + new GTFoodStat(2, 0.3F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Sliced_Bun.set( + addItem( + Food_Sliced_Bun.ID, + "Sliced Bun", + "Just half a Bun", + new GTFoodStat(1, 0.3F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Sliced_Baguette.set( + addItem( + Food_Sliced_Baguette.ID, + "Sliced Baguette", + "Just half a Baguette", + new GTFoodStat(4, 0.3F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L), + new TCAspects.TC_AspectStack(TCAspects.IGNIS, 1L))); + ItemList.Food_Raw_Cake.set( + addItem( + Food_Raw_Cake.ID, + "Cake Bottom", + "For making Cake", + new GTFoodStat(2, 0.2F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L))); + ItemList.Food_Baked_Cake.set( + addItem( + Food_Baked_Cake.ID, + "Baked Cake Bottom", + "I know I promised you an actual Cake, but well...", + new GTFoodStat(3, 0.3F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L))); + ItemList.Food_Sliced_Lemon.set( + addItem( + Food_Sliced_Lemon.ID, + "Lemon Slice", + "Ideal to put on your Drink", + new GTFoodStat(1, 0.075F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L))); + ItemList.Food_Sliced_Tomato.set( + addItem( + Food_Sliced_Tomato.ID, + "Tomato Slice", + "Solid Ketchup", + new GTFoodStat(1, 0.05F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L))); + ItemList.Food_Sliced_Onion.set( + addItem( + Food_Sliced_Onion.ID, + "Onion Slice", + "ONIONS, UNITE!", + new GTFoodStat(1, 0.05F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L))); + ItemList.Food_Sliced_Cucumber.set( + addItem( + Food_Sliced_Cucumber.ID, + "Cucumber Slice", + "QUEWWW-CUMMM-BERRR!!!", + new GTFoodStat(1, 0.05F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 1L))); + + ItemList.Food_Sliced_Cheese.set( + addItem( + Food_Sliced_Cheese.ID, + "Cheese Slice", + "ALIEN ATTACK!!!, throw the CHEEEEESE!!!", + new GTFoodStat(1, 0.1F, EnumAction.eat, null, false, true, false), + new TCAspects.TC_AspectStack(TCAspects.FAMES, 1L))); + + ItemList.Cover_AdvancedRedstoneTransmitterExternal.set( + addItem( + Cover_AdvancedRedstoneTransmitterExternal.ID, + "Advanced Redstone Transmitter (External)", + "Transfers Redstone signals wirelessly/n Can only connect with advanced wireless covers", + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L))); + ItemList.Cover_AdvancedRedstoneTransmitterInternal.set( + addItem( + Cover_AdvancedRedstoneTransmitterInternal.ID, + "Advanced Redstone Transmitter (Internal)", + "Transfers Redstone signals wirelessly/n Can only connect with advanced wireless covers", + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L))); + ItemList.Cover_AdvancedRedstoneReceiverExternal.set( + addItem( + Cover_AdvancedRedstoneReceiverExternal.ID, + "Advanced Redstone Receiver (External)", + "Transfers Redstone signals wirelessly/n Can only connect with advanced wireless covers", + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L))); + ItemList.Cover_AdvancedRedstoneReceiverInternal.set( + addItem( + Cover_AdvancedRedstoneReceiverInternal.ID, + "Advanced Redstone Receiver (Internal)", + "Transfers Redstone signals wirelessly/n Can only connect with advanced wireless covers", + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L))); + + ItemList.Cover_WirelessFluidDetector.set( + addItem( + Cover_WirelessFluidDetector.ID, + "Wireless Fluid Detector Cover", + "Transfers Fluid Amount as Redstone wirelessly/n Can only connect with advanced wireless covers", + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 2L), + new TCAspects.TC_AspectStack(TCAspects.AQUA, 1L))); + ItemList.Cover_WirelessItemDetector.set( + addItem( + Cover_WirelessItemDetector.ID, + "Wireless Item Detector Cover", + "Transfers Item Amount as Redstone wirelessly/n Can only connect with advanced wireless covers", + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 2L), + new TCAspects.TC_AspectStack(TCAspects.TERRA, 1L))); + + ItemList.Cover_WirelessNeedsMaintainance.set( + addItem( + Cover_WirelessNeedsMaintainance.ID, + "Wireless Needs Maintenance Cover", + "Transfers Maintenance Issues as Redstone wirelessly/n Can only connect with advanced wireless covers", + new TCAspects.TC_AspectStack(TCAspects.ORDO, 4L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 3L))); + + ItemList.Cover_WirelessActivityDetector.set( + addItem( + Cover_WirelessActivityDetector.ID, + "Wireless Activity Detector Cover", + "Transfers Activity as Redstone wirelessly/n Can only connect with advanced wireless covers", + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.SENSUS, 2L), + new TCAspects.TC_AspectStack(TCAspects.TERRA, 1L))); + + ItemList.Display_ITS_FREE.set( + addItem( + Display_ITS_FREE.ID, + "ITS FREE", + "(or at least almost free)", + SubTag.INVISIBLE, + new TCAspects.TC_AspectStack(TCAspects.LUCRUM, 1L))); + + try { + CropCard tCrop; + GTUtility.getField(tCrop = Crops.instance.getCropList()[13], "mDrop") + .set(tCrop, ItemList.Crop_Drop_Ferru.get(1L)); + GTUtility.getField(tCrop = Crops.instance.getCropList()[14], "mDrop") + .set(tCrop, ItemList.Crop_Drop_Aurelia.get(1L)); + } catch (Throwable e) { + if (GTValues.D1) { + e.printStackTrace(GTLog.err); + } + } + + setAllFluidContainerStats(); + setBurnValues(); + registerCovers(); + initCraftingShapedRecipes(); + initCraftingShapelessRecipes(); + initAssemblerRecipes(); + initExtractorRecipes(); + initMaceratorRecipes(); + initCompressorRecipes(); + } + + @Override + public boolean onLeftClickEntity(ItemStack aStack, EntityPlayer aPlayer, Entity aEntity) { + super.onLeftClickEntity(aStack, aPlayer, aEntity); + return false; + } + + @Override + public boolean hasProjectile(SubTag aProjectileType, ItemStack aStack) { + int aDamage = aStack.getItemDamage(); + return ((aDamage >= 25000) && (aDamage < 27000)) || (super.hasProjectile(aProjectileType, aStack)); + } + + @Override + public boolean isItemStackUsable(ItemStack aStack) { + int aDamage = aStack.getItemDamage(); + Materials aMaterial = GregTechAPI.sGeneratedMaterials[(aDamage % 1000)]; + if ((aDamage >= 25000) && (aDamage < 27000) && (aMaterial != null) && (aMaterial.mEnchantmentTools != null)) { + Enchantment tEnchant = aMaterial.mEnchantmentTools == Enchantment.fortune ? Enchantment.looting + : aMaterial.mEnchantmentTools; + if (tEnchant.type == EnumEnchantmentType.weapon) { + NBTTagCompound tNBT = GTUtility.ItemNBT.getNBT(aStack); + if (!tNBT.getBoolean("GT.HasBeenUpdated")) { + tNBT.setBoolean("GT.HasBeenUpdated", true); + GTUtility.ItemNBT.setNBT(aStack, tNBT); + GTUtility.ItemNBT.addEnchantment(aStack, tEnchant, aMaterial.mEnchantmentToolsLevel); + } + } + } + return super.isItemStackUsable(aStack); + } + + private void setAllFluidContainerStats() { + setFluidContainerStats(32000 + Food_Raw_Fries.ID, 0L, 16L); + setFluidContainerStats(32000 + Food_Fries.ID, 0L, 16L); + setFluidContainerStats(32000 + Food_Raw_PotatoChips.ID, 0L, 16L); + setFluidContainerStats(32000 + Food_PotatoChips.ID, 0L, 16L); + setFluidContainerStats(32000 + Food_ChiliChips.ID, 0L, 16L); + setFluidContainerStats(32000 + Food_Sandwich_Veggie.ID, 0L, 32L); + setFluidContainerStats(32000 + Food_Sandwich_Cheese.ID, 0L, 32L); + setFluidContainerStats(32000 + Food_Sandwich_Bacon.ID, 0L, 32L); + setFluidContainerStats(32000 + Food_Sandwich_Steak.ID, 0L, 32L); + setFluidContainerStats(32000 + Food_Large_Sandwich_Veggie.ID, 0L, 16L); + setFluidContainerStats(32000 + Food_Large_Sandwich_Cheese.ID, 0L, 16L); + setFluidContainerStats(32000 + Food_Large_Sandwich_Bacon.ID, 0L, 16L); + setFluidContainerStats(32000 + Food_Large_Sandwich_Steak.ID, 0L, 16L); + } + + private void setBurnValues() { + setBurnValue(32000 + Plank_Oak.ID, 75); + setBurnValue(32000 + Plank_Spruce.ID, 75); + setBurnValue(32000 + Plank_Birch.ID, 75); + setBurnValue(32000 + Plank_Jungle.ID, 75); + setBurnValue(32000 + Plank_Acacia.ID, 75); + setBurnValue(32000 + Plank_DarkOak.ID, 75); + setBurnValue(32000 + Plank_Larch.ID, 75); + setBurnValue(32000 + Plank_Teak.ID, 75); + setBurnValue(32000 + Plank_Acacia_Green.ID, 75); + setBurnValue(32000 + Plank_Lime.ID, 75); + setBurnValue(32000 + Plank_Chestnut.ID, 75); + setBurnValue(32000 + Plank_Wenge.ID, 75); + setBurnValue(32000 + Plank_Baobab.ID, 75); + setBurnValue(32000 + Plank_Sequoia.ID, 75); + setBurnValue(32000 + Plank_Kapok.ID, 75); + setBurnValue(32000 + Plank_Ebony.ID, 75); + setBurnValue(32000 + Plank_Mahagony.ID, 75); + setBurnValue(32000 + Plank_Balsa.ID, 75); + setBurnValue(32000 + Plank_Willow.ID, 75); + setBurnValue(32000 + Plank_Walnut.ID, 75); + setBurnValue(32000 + Plank_Greenheart.ID, 75); + setBurnValue(32000 + Plank_Cherry.ID, 75); + setBurnValue(32000 + Plank_Mahoe.ID, 75); + setBurnValue(32000 + Plank_Poplar.ID, 75); + setBurnValue(32000 + Plank_Palm.ID, 75); + setBurnValue(32000 + Plank_Papaya.ID, 75); + setBurnValue(32000 + Plank_Pine.ID, 75); + setBurnValue(32000 + Plank_Plum.ID, 75); + setBurnValue(32000 + Plank_Maple.ID, 75); + setBurnValue(32000 + Plank_Citrus.ID, 75); + setBurnValue(32000 + Crop_Drop_Tine.ID, 100); + setBurnValue(32000 + Crop_Drop_Mica.ID, 240); + } + + public void initCraftingShapedRecipes() { + GTModHandler.addCraftingRecipe( + ItemList.Plank_Oak.get(2L), + GTModHandler.RecipeBits.NOT_REMOVABLE | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "s ", " P", 'P', new ItemStack(Blocks.wooden_slab, 1, 0) }); + GTModHandler.addCraftingRecipe( + ItemList.Plank_Spruce.get(2L), + GTModHandler.RecipeBits.NOT_REMOVABLE | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "s ", " P", 'P', new ItemStack(Blocks.wooden_slab, 1, 1) }); + GTModHandler.addCraftingRecipe( + ItemList.Plank_Birch.get(2L), + GTModHandler.RecipeBits.NOT_REMOVABLE | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "s ", " P", 'P', new ItemStack(Blocks.wooden_slab, 1, 2) }); + GTModHandler.addCraftingRecipe( + ItemList.Plank_Jungle.get(2L), + GTModHandler.RecipeBits.NOT_REMOVABLE | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "s ", " P", 'P', new ItemStack(Blocks.wooden_slab, 1, 3) }); + GTModHandler.addCraftingRecipe( + ItemList.Plank_Acacia.get(2L), + GTModHandler.RecipeBits.NOT_REMOVABLE | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "s ", " P", 'P', new ItemStack(Blocks.wooden_slab, 1, 4) }); + GTModHandler.addCraftingRecipe( + ItemList.Plank_DarkOak.get(2L), + GTModHandler.RecipeBits.NOT_REMOVABLE | GTModHandler.RecipeBits.REVERSIBLE, + new Object[] { "s ", " P", 'P', new ItemStack(Blocks.wooden_slab, 1, 5) }); + } + + public void initAssemblerRecipes() { + RA.stdBuilder() + .itemInputs( + ItemList.Cover_RedstoneTransmitterExternal.get(1L), + GTOreDictUnificator.get(OrePrefixes.circuit, Materials.EV, 1L), + GTUtility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Cover_AdvancedRedstoneTransmitterExternal.get(1L)) + .duration(2 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + RA.stdBuilder() + .itemInputs( + ItemList.Cover_RedstoneReceiverExternal.get(1L), + GTOreDictUnificator.get(OrePrefixes.circuit, Materials.EV, 1L), + GTUtility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Cover_AdvancedRedstoneReceiverExternal.get(1L)) + .duration(2 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + RA.stdBuilder() + .itemInputs( + ItemList.Cover_FluidDetector.get(1L), + ItemList.Emitter_EV.get(1L), + GTUtility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Cover_WirelessFluidDetector.get(1L)) + .duration(2 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + RA.stdBuilder() + .itemInputs( + ItemList.Cover_ItemDetector.get(1L), + ItemList.Emitter_EV.get(1L), + GTUtility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Cover_WirelessItemDetector.get(1L)) + .duration(2 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + RA.stdBuilder() + .itemInputs( + ItemList.Cover_NeedsMaintainance.get(1L), + ItemList.Emitter_EV.get(1L), + GTUtility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Cover_WirelessNeedsMaintainance.get(1L)) + .duration(2 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + RA.stdBuilder() + .itemInputs( + ItemList.Cover_ActivityDetector.get(1L), + ItemList.Emitter_EV.get(1L), + GTUtility.getIntegratedCircuit(1)) + .itemOutputs(ItemList.Cover_WirelessActivityDetector.get(1L)) + .duration(2 * MINUTES + 40 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(assemblerRecipes); + } + + public void initCraftingShapelessRecipes() { + GTModHandler.addShapelessCraftingRecipe( + ItemList.Cover_AdvancedRedstoneReceiverExternal.get(1L), + new Object[] { ItemList.Cover_AdvancedRedstoneReceiverInternal.get(1L) }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Cover_AdvancedRedstoneReceiverInternal.get(1L), + new Object[] { ItemList.Cover_AdvancedRedstoneReceiverExternal.get(1L) }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Cover_AdvancedRedstoneTransmitterExternal.get(1L), + new Object[] { ItemList.Cover_AdvancedRedstoneTransmitterInternal.get(1L) }); + GTModHandler.addShapelessCraftingRecipe( + ItemList.Cover_AdvancedRedstoneTransmitterInternal.get(1L), + new Object[] { ItemList.Cover_AdvancedRedstoneTransmitterExternal.get(1L) }); + } + + public void initExtractorRecipes() { + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 1, 0)) + .itemOutputs(new ItemStack(Items.dye, 2, 1)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 1, 1)) + .itemOutputs(new ItemStack(Items.dye, 2, 12)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 1, 2)) + .itemOutputs(new ItemStack(Items.dye, 2, 13)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 1, 3)) + .itemOutputs(new ItemStack(Items.dye, 2, 7)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 1, 4)) + .itemOutputs(new ItemStack(Items.dye, 2, 1)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 1, 5)) + .itemOutputs(new ItemStack(Items.dye, 2, 14)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 1, 6)) + .itemOutputs(new ItemStack(Items.dye, 2, 7)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 1, 7)) + .itemOutputs(new ItemStack(Items.dye, 2, 9)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 1, 8)) + .itemOutputs(new ItemStack(Items.dye, 2, 7)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.yellow_flower, 1, 0)) + .itemOutputs(new ItemStack(Items.dye, 2, 11)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.double_plant, 1, 0)) + .itemOutputs(new ItemStack(Items.dye, 3, 11)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.double_plant, 1, 1)) + .itemOutputs(new ItemStack(Items.dye, 3, 13)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.double_plant, 1, 4)) + .itemOutputs(new ItemStack(Items.dye, 3, 1)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.double_plant, 1, 5)) + .itemOutputs(new ItemStack(Items.dye, 3, 9)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_Plumbilia.get(1L)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.dustTiny, Materials.Lead, 1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_Argentia.get(1L)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.dustTiny, Materials.Silver, 1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_Indigo.get(1L)) + .itemOutputs(ItemList.Dye_Indigo.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_MilkWart.get(1L)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.dust, Materials.Milk, 1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_Coppon.get(1L)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.dustTiny, Materials.Copper, 1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_Tine.get(1L)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.dustTiny, Materials.Tin, 1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(extractorRecipes); + + } + + public void initCompressorRecipes() { + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_Coppon.get(4L)) + .itemOutputs(new ItemStack(Blocks.wool, 1, 1)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_Plumbilia.get(4L)) + .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_Argentia.get(4L)) + .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_Indigo.get(4L)) + .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_Ferru.get(4L)) + .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_Aurelia.get(4L)) + .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_OilBerry.get(4L)) + .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_BobsYerUncleRanks.get(4L)) + .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_Tine.get(4L)) + .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_Rape.get(4L)) + .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.red_flower, 8, 32767)) + .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.yellow_flower, 8, 32767)) + .itemOutputs(ItemList.IC2_PlantballCompressed.get(1L)) + .duration(15 * SECONDS) + .eut(2) + .addTo(compressorRecipes); + } + + public void initMaceratorRecipes() { + RA.stdBuilder() + .itemInputs(ItemList.Food_Sliced_Cheese.get(1L)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.dustSmall, Materials.Cheese, 1L)) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + RA.stdBuilder() + .itemInputs(ItemList.Dye_Cocoa.get(1L)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.dust, Materials.Cocoa, 1L)) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_Tine.get(1L)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.dustSmall, Materials.Wood, 2L)) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.pumpkin, 1, 0)) + .itemOutputs(new ItemStack(Items.pumpkin_seeds, 4, 0)) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + RA.stdBuilder() + .itemInputs(new ItemStack(Items.melon, 1, 0)) + .itemOutputs(new ItemStack(Items.melon_seeds, 1, 0)) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + RA.stdBuilder() + .itemInputs(GTModHandler.getIC2Item("crop", 1L)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L)) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + RA.stdBuilder() + .itemInputs(new ItemStack(Items.stick, 1)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.dustSmall, Materials.Wood, 2L)) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.wool, 1, WILDCARD)) + .itemOutputs(new ItemStack(Items.string, 2), new ItemStack(Items.string, 1)) + .outputChances(10000, 5000) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + RA.stdBuilder() + .itemInputs(ItemList.Tesseract.get(1)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.dust, MaterialsUEVplus.TranscendentMetal, 8L)) + .duration(5 * SECONDS) + .eut(TierEU.RECIPE_UIV) + .addTo(maceratorRecipes); + } + + public void registerCovers() { + GregTechAPI.registerCover(ItemList.Plank_Oak.get(1L), TextureFactory.of(Blocks.planks, 0), null); + GregTechAPI.registerCover(ItemList.Plank_Spruce.get(1L), TextureFactory.of(Blocks.planks, 1), null); + GregTechAPI.registerCover(ItemList.Plank_Birch.get(1L), TextureFactory.of(Blocks.planks, 2), null); + GregTechAPI.registerCover(ItemList.Plank_Jungle.get(1L), TextureFactory.of(Blocks.planks, 3), null); + GregTechAPI.registerCover(ItemList.Plank_Acacia.get(1L), TextureFactory.of(Blocks.planks, 4), null); + GregTechAPI.registerCover(ItemList.Plank_DarkOak.get(1L), TextureFactory.of(Blocks.planks, 5), null); + GregTechAPI.registerCover( + ItemList.Plank_Larch.get(1L), + TextureFactory.of( + GTUtility.getBlockFromStack( + GTModHandler.getModItem(Forestry.ID, "planks", 1L, 0, new ItemStack(Blocks.planks, 1, 0))), + 0), + null); + GregTechAPI.registerCover( + ItemList.Plank_Teak.get(1L), + TextureFactory.of( + GTUtility.getBlockFromStack( + GTModHandler.getModItem(Forestry.ID, "planks", 1L, 1, new ItemStack(Blocks.planks, 1, 0))), + 1), + null); + GregTechAPI.registerCover( + ItemList.Plank_Acacia_Green.get(1L), + TextureFactory.of( + GTUtility.getBlockFromStack( + GTModHandler.getModItem(Forestry.ID, "planks", 1L, 2, new ItemStack(Blocks.planks, 1, 0))), + 2), + null); + GregTechAPI.registerCover( + ItemList.Plank_Lime.get(1L), + TextureFactory.of( + GTUtility.getBlockFromStack( + GTModHandler.getModItem(Forestry.ID, "planks", 1L, 3, new ItemStack(Blocks.planks, 1, 0))), + 3), + null); + GregTechAPI.registerCover( + ItemList.Plank_Chestnut.get(1L), + TextureFactory.of( + GTUtility.getBlockFromStack( + GTModHandler.getModItem(Forestry.ID, "planks", 1L, 4, new ItemStack(Blocks.planks, 1, 0))), + 4), + null); + GregTechAPI.registerCover( + ItemList.Plank_Wenge.get(1L), + TextureFactory.of( + GTUtility.getBlockFromStack( + GTModHandler.getModItem(Forestry.ID, "planks", 1L, 5, new ItemStack(Blocks.planks, 1, 0))), + 5), + null); + GregTechAPI.registerCover( + ItemList.Plank_Baobab.get(1L), + TextureFactory.of( + GTUtility.getBlockFromStack( + GTModHandler.getModItem(Forestry.ID, "planks", 1L, 6, new ItemStack(Blocks.planks, 1, 0))), + 6), + null); + GregTechAPI.registerCover( + ItemList.Plank_Sequoia.get(1L), + TextureFactory.of( + GTUtility.getBlockFromStack( + GTModHandler.getModItem(Forestry.ID, "planks", 1L, 7, new ItemStack(Blocks.planks, 1, 0))), + 7), + null); + GregTechAPI.registerCover( + ItemList.Plank_Kapok.get(1L), + TextureFactory.of( + GTUtility.getBlockFromStack( + GTModHandler.getModItem(Forestry.ID, "planks", 1L, 8, new ItemStack(Blocks.planks, 1, 0))), + 8), + null); + GregTechAPI.registerCover( + ItemList.Plank_Ebony.get(1L), + TextureFactory.of( + GTUtility.getBlockFromStack( + GTModHandler.getModItem(Forestry.ID, "planks", 1L, 9, new ItemStack(Blocks.planks, 1, 0))), + 9), + null); + GregTechAPI.registerCover( + ItemList.Plank_Mahagony.get(1L), + TextureFactory.of( + GTUtility.getBlockFromStack( + GTModHandler.getModItem(Forestry.ID, "planks", 1L, 10, new ItemStack(Blocks.planks, 1, 0))), + 10), + null); + GregTechAPI.registerCover( + ItemList.Plank_Balsa.get(1L), + TextureFactory.of( + GTUtility.getBlockFromStack( + GTModHandler.getModItem(Forestry.ID, "planks", 1L, 11, new ItemStack(Blocks.planks, 1, 0))), + 11), + null); + GregTechAPI.registerCover( + ItemList.Plank_Willow.get(1L), + TextureFactory.of( + GTUtility.getBlockFromStack( + GTModHandler.getModItem(Forestry.ID, "planks", 1L, 12, new ItemStack(Blocks.planks, 1, 0))), + 12), + null); + GregTechAPI.registerCover( + ItemList.Plank_Walnut.get(1L), + TextureFactory.of( + GTUtility.getBlockFromStack( + GTModHandler.getModItem(Forestry.ID, "planks", 1L, 13, new ItemStack(Blocks.planks, 1, 0))), + 13), + null); + GregTechAPI.registerCover( + ItemList.Plank_Greenheart.get(1L), + TextureFactory.of( + GTUtility.getBlockFromStack( + GTModHandler.getModItem(Forestry.ID, "planks", 1L, 14, new ItemStack(Blocks.planks, 1, 0))), + 14), + null); + GregTechAPI.registerCover( + ItemList.Plank_Cherry.get(1L), + TextureFactory.of( + GTUtility.getBlockFromStack( + GTModHandler.getModItem(Forestry.ID, "planks", 1L, 15, new ItemStack(Blocks.planks, 1, 0))), + 15), + null); + GregTechAPI.registerCover( + ItemList.Plank_Mahoe.get(1L), + TextureFactory.of( + GTUtility.getBlockFromStack( + GTModHandler.getModItem(Forestry.ID, "planks", 1L, 16, new ItemStack(Blocks.planks, 1, 0))), + 0), + null); + GregTechAPI.registerCover( + ItemList.Plank_Poplar.get(1L), + TextureFactory.of( + GTUtility.getBlockFromStack( + GTModHandler.getModItem(Forestry.ID, "planks", 1L, 17, new ItemStack(Blocks.planks, 1, 0))), + 1), + null); + GregTechAPI.registerCover( + ItemList.Plank_Palm.get(1L), + TextureFactory.of( + GTUtility.getBlockFromStack( + GTModHandler.getModItem(Forestry.ID, "planks", 1L, 18, new ItemStack(Blocks.planks, 1, 0))), + 2), + null); + GregTechAPI.registerCover( + ItemList.Plank_Papaya.get(1L), + TextureFactory.of( + GTUtility.getBlockFromStack( + GTModHandler.getModItem(Forestry.ID, "planks", 1L, 19, new ItemStack(Blocks.planks, 1, 0))), + 3), + null); + GregTechAPI.registerCover( + ItemList.Plank_Pine.get(1L), + TextureFactory.of( + GTUtility.getBlockFromStack( + GTModHandler.getModItem(Forestry.ID, "planks", 1L, 20, new ItemStack(Blocks.planks, 1, 0))), + 4), + null); + GregTechAPI.registerCover( + ItemList.Plank_Plum.get(1L), + TextureFactory.of( + GTUtility.getBlockFromStack( + GTModHandler.getModItem(Forestry.ID, "planks", 1L, 21, new ItemStack(Blocks.planks, 1, 0))), + 5), + null); + GregTechAPI.registerCover( + ItemList.Plank_Maple.get(1L), + TextureFactory.of( + GTUtility.getBlockFromStack( + GTModHandler.getModItem(Forestry.ID, "planks", 1L, 22, new ItemStack(Blocks.planks, 1, 0))), + 6), + null); + GregTechAPI.registerCover( + ItemList.Plank_Citrus.get(1L), + TextureFactory.of( + GTUtility.getBlockFromStack( + GTModHandler.getModItem(Forestry.ID, "planks", 1L, 23, new ItemStack(Blocks.planks, 1, 0))), + 7), + null); + + GregTechAPI.registerCover( + ItemList.Cover_AdvancedRedstoneTransmitterExternal.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_ADVANCED_REDSTONE_TRANSMITTER)), + new CoverAdvancedRedstoneTransmitterExternal(TextureFactory.of(OVERLAY_ADVANCED_REDSTONE_TRANSMITTER))); + + GregTechAPI.registerCover( + ItemList.Cover_AdvancedRedstoneTransmitterInternal.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_ADVANCED_REDSTONE_TRANSMITTER)), + new CoverAdvancedRedstoneTransmitterInternal(TextureFactory.of(OVERLAY_ADVANCED_REDSTONE_TRANSMITTER))); + + GregTechAPI.registerCover( + ItemList.Cover_AdvancedRedstoneReceiverExternal.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_ADVANCED_REDSTONE_RECEIVER)), + new CoverAdvancedRedstoneReceiverExternal(TextureFactory.of(OVERLAY_ADVANCED_REDSTONE_RECEIVER))); + + GregTechAPI.registerCover( + ItemList.Cover_AdvancedRedstoneReceiverInternal.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_ADVANCED_REDSTONE_RECEIVER)), + new CoverAdvancedRedstoneReceiverInternal(TextureFactory.of(OVERLAY_ADVANCED_REDSTONE_RECEIVER))); + + GregTechAPI.registerCover( + ItemList.Cover_WirelessFluidDetector.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_WIRELESS_FLUID_DETECTOR)), + new CoverWirelessFluidDetector(TextureFactory.of(OVERLAY_WIRELESS_FLUID_DETECTOR))); + + GregTechAPI.registerCover( + ItemList.Cover_WirelessItemDetector.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_WIRELESS_ITEM_DETECTOR)), + new CoverWirelessItemDetector(TextureFactory.of(OVERLAY_WIRELESS_ITEM_DETECTOR))); + + GregTechAPI.registerCover( + ItemList.Cover_WirelessActivityDetector.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_WIRELESS_ACTIVITYDETECTOR)), + new CoverWirelessDoesWorkDetector(TextureFactory.of(OVERLAY_WIRELESS_ACTIVITYDETECTOR))); + + GregTechAPI.registerCover( + ItemList.Cover_WirelessNeedsMaintainance.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_WIRELESS_MAINTENANCE_DETECTOR)), + new CoverWirelessMaintenanceDetector(TextureFactory.of(OVERLAY_WIRELESS_MAINTENANCE_DETECTOR))); + } + + @Override + public boolean doesShowInCreative(OrePrefixes aPrefix, Materials aMaterial, boolean aDoShowAllItems) { + return (aDoShowAllItems) || (!aPrefix.name() + .startsWith("toolHead")); + } + + @Override + public final ItemStack getContainerItem(ItemStack aStack) { + int aDamage = aStack.getItemDamage(); + if (aDamage < 32000) { + return null; + } + if (aDamage < 32100) { + return ItemList.ThermosCan_Empty.get(1L); + } + if (aDamage < 32200) { + return ItemList.Bottle_Empty.get(1L); + } + return null; + } +} diff --git a/src/main/java/gregtech/common/items/MetaGeneratedItem03.java b/src/main/java/gregtech/common/items/MetaGeneratedItem03.java new file mode 100644 index 0000000000..f06448d175 --- /dev/null +++ b/src/main/java/gregtech/common/items/MetaGeneratedItem03.java @@ -0,0 +1,1492 @@ +package gregtech.common.items; + +import static com.gtnewhorizon.gtnhlib.util.AnimatedTooltipHandler.addItemTooltip; +import static gregtech.api.enums.Textures.BlockIcons.MACHINE_CASINGS; +import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_METRICS_TRANSMITTER; +import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_UEV; +import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_UHV; +import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_UIV; +import static gregtech.client.GTTooltipHandler.Tier.EV; +import static gregtech.client.GTTooltipHandler.Tier.HV; +import static gregtech.client.GTTooltipHandler.Tier.IV; +import static gregtech.client.GTTooltipHandler.Tier.LV; +import static gregtech.client.GTTooltipHandler.Tier.LuV; +import static gregtech.client.GTTooltipHandler.Tier.MAX; +import static gregtech.client.GTTooltipHandler.Tier.MV; +import static gregtech.client.GTTooltipHandler.Tier.UEV; +import static gregtech.client.GTTooltipHandler.Tier.UHV; +import static gregtech.client.GTTooltipHandler.Tier.UIV; +import static gregtech.client.GTTooltipHandler.Tier.ULV; +import static gregtech.client.GTTooltipHandler.Tier.UMV; +import static gregtech.client.GTTooltipHandler.Tier.UV; +import static gregtech.client.GTTooltipHandler.Tier.UXV; +import static gregtech.client.GTTooltipHandler.Tier.ZPM; +import static gregtech.client.GTTooltipHandler.registerTieredTooltip; +import static gregtech.common.items.IDMetaItem03.Activated_Carbon_Filter_Mesh; +import static gregtech.common.items.IDMetaItem03.Circuit_Biomainframe; +import static gregtech.common.items.IDMetaItem03.Circuit_Bioprocessor; +import static gregtech.common.items.IDMetaItem03.Circuit_Biowarecomputer; +import static gregtech.common.items.IDMetaItem03.Circuit_Biowaresupercomputer; +import static gregtech.common.items.IDMetaItem03.Circuit_Board_Bio; +import static gregtech.common.items.IDMetaItem03.Circuit_Board_Bio_Ultra; +import static gregtech.common.items.IDMetaItem03.Circuit_Board_Coated_Basic; +import static gregtech.common.items.IDMetaItem03.Circuit_Board_Epoxy_Advanced; +import static gregtech.common.items.IDMetaItem03.Circuit_Board_Fiberglass_Advanced; +import static gregtech.common.items.IDMetaItem03.Circuit_Board_Multifiberglass_Elite; +import static gregtech.common.items.IDMetaItem03.Circuit_Board_Optical; +import static gregtech.common.items.IDMetaItem03.Circuit_Board_Phenolic_Good; +import static gregtech.common.items.IDMetaItem03.Circuit_Board_Plastic; +import static gregtech.common.items.IDMetaItem03.Circuit_Board_Plastic_Advanced; +import static gregtech.common.items.IDMetaItem03.Circuit_Board_Wetware; +import static gregtech.common.items.IDMetaItem03.Circuit_Board_Wetware_Extreme; +import static gregtech.common.items.IDMetaItem03.Circuit_Chip_BioCPU; +import static gregtech.common.items.IDMetaItem03.Circuit_Chip_Biocell; +import static gregtech.common.items.IDMetaItem03.Circuit_Chip_CPU; +import static gregtech.common.items.IDMetaItem03.Circuit_Chip_CrystalCPU; +import static gregtech.common.items.IDMetaItem03.Circuit_Chip_CrystalSoC; +import static gregtech.common.items.IDMetaItem03.Circuit_Chip_CrystalSoC2; +import static gregtech.common.items.IDMetaItem03.Circuit_Chip_HPIC; +import static gregtech.common.items.IDMetaItem03.Circuit_Chip_ILC; +import static gregtech.common.items.IDMetaItem03.Circuit_Chip_LPIC; +import static gregtech.common.items.IDMetaItem03.Circuit_Chip_NAND; +import static gregtech.common.items.IDMetaItem03.Circuit_Chip_NOR; +import static gregtech.common.items.IDMetaItem03.Circuit_Chip_NPIC; +import static gregtech.common.items.IDMetaItem03.Circuit_Chip_NanoCPU; +import static gregtech.common.items.IDMetaItem03.Circuit_Chip_NeuroCPU; +import static gregtech.common.items.IDMetaItem03.Circuit_Chip_Optical; +import static gregtech.common.items.IDMetaItem03.Circuit_Chip_PIC; +import static gregtech.common.items.IDMetaItem03.Circuit_Chip_PPIC; +import static gregtech.common.items.IDMetaItem03.Circuit_Chip_QPIC; +import static gregtech.common.items.IDMetaItem03.Circuit_Chip_QuantumCPU; +import static gregtech.common.items.IDMetaItem03.Circuit_Chip_Ram; +import static gregtech.common.items.IDMetaItem03.Circuit_Chip_Simple_SoC; +import static gregtech.common.items.IDMetaItem03.Circuit_Chip_SoC; +import static gregtech.common.items.IDMetaItem03.Circuit_Chip_SoC2; +import static gregtech.common.items.IDMetaItem03.Circuit_Chip_Stemcell; +import static gregtech.common.items.IDMetaItem03.Circuit_Chip_UHPIC; +import static gregtech.common.items.IDMetaItem03.Circuit_Chip_ULPIC; +import static gregtech.common.items.IDMetaItem03.Circuit_CosmicAssembly; +import static gregtech.common.items.IDMetaItem03.Circuit_CosmicComputer; +import static gregtech.common.items.IDMetaItem03.Circuit_CosmicMainframe; +import static gregtech.common.items.IDMetaItem03.Circuit_CosmicProcessor; +import static gregtech.common.items.IDMetaItem03.Circuit_Crystalcomputer; +import static gregtech.common.items.IDMetaItem03.Circuit_Crystalmainframe; +import static gregtech.common.items.IDMetaItem03.Circuit_Crystalprocessor; +import static gregtech.common.items.IDMetaItem03.Circuit_Elitenanocomputer; +import static gregtech.common.items.IDMetaItem03.Circuit_ExoticAssembly; +import static gregtech.common.items.IDMetaItem03.Circuit_ExoticComputer; +import static gregtech.common.items.IDMetaItem03.Circuit_ExoticMainframe; +import static gregtech.common.items.IDMetaItem03.Circuit_ExoticProcessor; +import static gregtech.common.items.IDMetaItem03.Circuit_Integrated_Good; +import static gregtech.common.items.IDMetaItem03.Circuit_Masterquantumcomputer; +import static gregtech.common.items.IDMetaItem03.Circuit_Microprocessor; +import static gregtech.common.items.IDMetaItem03.Circuit_Nanocomputer; +import static gregtech.common.items.IDMetaItem03.Circuit_Nanoprocessor; +import static gregtech.common.items.IDMetaItem03.Circuit_Neuroprocessor; +import static gregtech.common.items.IDMetaItem03.Circuit_OpticalAssembly; +import static gregtech.common.items.IDMetaItem03.Circuit_OpticalComputer; +import static gregtech.common.items.IDMetaItem03.Circuit_OpticalMainframe; +import static gregtech.common.items.IDMetaItem03.Circuit_OpticalProcessor; +import static gregtech.common.items.IDMetaItem03.Circuit_Parts_CapacitorASMD; +import static gregtech.common.items.IDMetaItem03.Circuit_Parts_CapacitorSMD; +import static gregtech.common.items.IDMetaItem03.Circuit_Parts_CapacitorXSMD; +import static gregtech.common.items.IDMetaItem03.Circuit_Parts_Chip_Bioware; +import static gregtech.common.items.IDMetaItem03.Circuit_Parts_Coil; +import static gregtech.common.items.IDMetaItem03.Circuit_Parts_DiodeASMD; +import static gregtech.common.items.IDMetaItem03.Circuit_Parts_DiodeSMD; +import static gregtech.common.items.IDMetaItem03.Circuit_Parts_DiodeXSMD; +import static gregtech.common.items.IDMetaItem03.Circuit_Parts_GlassFiber; +import static gregtech.common.items.IDMetaItem03.Circuit_Parts_Glass_Tube; +import static gregtech.common.items.IDMetaItem03.Circuit_Parts_InductorASMD; +import static gregtech.common.items.IDMetaItem03.Circuit_Parts_InductorSMD; +import static gregtech.common.items.IDMetaItem03.Circuit_Parts_InductorXSMD; +import static gregtech.common.items.IDMetaItem03.Circuit_Parts_PetriDish; +import static gregtech.common.items.IDMetaItem03.Circuit_Parts_RawCrystalChip; +import static gregtech.common.items.IDMetaItem03.Circuit_Parts_RawCrystalParts; +import static gregtech.common.items.IDMetaItem03.Circuit_Parts_Reinforced_Glass_Tube; +import static gregtech.common.items.IDMetaItem03.Circuit_Parts_ResistorASMD; +import static gregtech.common.items.IDMetaItem03.Circuit_Parts_ResistorSMD; +import static gregtech.common.items.IDMetaItem03.Circuit_Parts_ResistorXSMD; +import static gregtech.common.items.IDMetaItem03.Circuit_Parts_TransistorASMD; +import static gregtech.common.items.IDMetaItem03.Circuit_Parts_TransistorSMD; +import static gregtech.common.items.IDMetaItem03.Circuit_Parts_TransistorXSMD; +import static gregtech.common.items.IDMetaItem03.Circuit_Processor; +import static gregtech.common.items.IDMetaItem03.Circuit_Quantumcomputer; +import static gregtech.common.items.IDMetaItem03.Circuit_Quantummainframe; +import static gregtech.common.items.IDMetaItem03.Circuit_Quantumprocessor; +import static gregtech.common.items.IDMetaItem03.Circuit_Silicon_Ingot; +import static gregtech.common.items.IDMetaItem03.Circuit_Silicon_Ingot2; +import static gregtech.common.items.IDMetaItem03.Circuit_Silicon_Ingot3; +import static gregtech.common.items.IDMetaItem03.Circuit_Silicon_Ingot4; +import static gregtech.common.items.IDMetaItem03.Circuit_Silicon_Ingot5; +import static gregtech.common.items.IDMetaItem03.Circuit_Silicon_Ingot6; +import static gregtech.common.items.IDMetaItem03.Circuit_Silicon_Wafer; +import static gregtech.common.items.IDMetaItem03.Circuit_Silicon_Wafer2; +import static gregtech.common.items.IDMetaItem03.Circuit_Silicon_Wafer3; +import static gregtech.common.items.IDMetaItem03.Circuit_Silicon_Wafer4; +import static gregtech.common.items.IDMetaItem03.Circuit_Silicon_Wafer5; +import static gregtech.common.items.IDMetaItem03.Circuit_Silicon_Wafer6; +import static gregtech.common.items.IDMetaItem03.Circuit_Silicon_Wafer7; +import static gregtech.common.items.IDMetaItem03.Circuit_TranscendentAssembly; +import static gregtech.common.items.IDMetaItem03.Circuit_TranscendentComputer; +import static gregtech.common.items.IDMetaItem03.Circuit_TranscendentMainframe; +import static gregtech.common.items.IDMetaItem03.Circuit_TranscendentProcessor; +import static gregtech.common.items.IDMetaItem03.Circuit_Ultimatecrystalcomputer; +import static gregtech.common.items.IDMetaItem03.Circuit_Wafer_Bioware; +import static gregtech.common.items.IDMetaItem03.Circuit_Wafer_CPU; +import static gregtech.common.items.IDMetaItem03.Circuit_Wafer_HPIC; +import static gregtech.common.items.IDMetaItem03.Circuit_Wafer_ILC; +import static gregtech.common.items.IDMetaItem03.Circuit_Wafer_LPIC; +import static gregtech.common.items.IDMetaItem03.Circuit_Wafer_NAND; +import static gregtech.common.items.IDMetaItem03.Circuit_Wafer_NOR; +import static gregtech.common.items.IDMetaItem03.Circuit_Wafer_NPIC; +import static gregtech.common.items.IDMetaItem03.Circuit_Wafer_NanoCPU; +import static gregtech.common.items.IDMetaItem03.Circuit_Wafer_PIC; +import static gregtech.common.items.IDMetaItem03.Circuit_Wafer_PPIC; +import static gregtech.common.items.IDMetaItem03.Circuit_Wafer_QPIC; +import static gregtech.common.items.IDMetaItem03.Circuit_Wafer_QuantumCPU; +import static gregtech.common.items.IDMetaItem03.Circuit_Wafer_Ram; +import static gregtech.common.items.IDMetaItem03.Circuit_Wafer_Simple_SoC; +import static gregtech.common.items.IDMetaItem03.Circuit_Wafer_SoC; +import static gregtech.common.items.IDMetaItem03.Circuit_Wafer_SoC2; +import static gregtech.common.items.IDMetaItem03.Circuit_Wafer_UHPIC; +import static gregtech.common.items.IDMetaItem03.Circuit_Wafer_ULPIC; +import static gregtech.common.items.IDMetaItem03.Circuit_Wetwarecomputer; +import static gregtech.common.items.IDMetaItem03.Circuit_Wetwaremainframe; +import static gregtech.common.items.IDMetaItem03.Circuit_Wetwaresupercomputer; +import static gregtech.common.items.IDMetaItem03.Cover_Metrics_Transmitter; +import static gregtech.common.items.IDMetaItem03.Cover_SolarPanel_UEV; +import static gregtech.common.items.IDMetaItem03.Cover_SolarPanel_UHV; +import static gregtech.common.items.IDMetaItem03.Cover_SolarPanel_UIV; +import static gregtech.common.items.IDMetaItem03.EV_Coil; +import static gregtech.common.items.IDMetaItem03.GalliumArsenideCrystal; +import static gregtech.common.items.IDMetaItem03.GalliumArsenideCrystalSmallPart; +import static gregtech.common.items.IDMetaItem03.HV_Coil; +import static gregtech.common.items.IDMetaItem03.IV_Coil; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_AUTOMATION; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_Acceleration_1; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_Acceleration_2; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_Acceleration_3; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_Acceleration_4; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_Acceleration_5; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_Acceleration_6; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_Acceleration_7; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_Acceleration_8; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_Acceleration_8_Upgraded; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_COOLER; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_DESERT; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_DRYER; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_FLOWERING; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_Frame; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_HEATER; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_HELL; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_HUMIDIFIER; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_JUNGLE; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_LIFESPAN; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_LIGHT; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_OCEAN; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_PLAINS; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_POLLEN; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_PRODUCTION; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_SEAL; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_SIEVE; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_SKY; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_STABILIZER; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_TERRITORY; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_UNLIGHT; +import static gregtech.common.items.IDMetaItem03.IndustrialApiary_Upgrade_WINTER; +import static gregtech.common.items.IDMetaItem03.KevlarFiber; +import static gregtech.common.items.IDMetaItem03.LV_Coil; +import static gregtech.common.items.IDMetaItem03.LuV_Coil; +import static gregtech.common.items.IDMetaItem03.MV_Coil; +import static gregtech.common.items.IDMetaItem03.NandChip; +import static gregtech.common.items.IDMetaItem03.NuclearStar; +import static gregtech.common.items.IDMetaItem03.Optical_Cpu_Containment_Housing; +import static gregtech.common.items.IDMetaItem03.Optically_Compatible_Memory; +import static gregtech.common.items.IDMetaItem03.Optically_Perfected_CPU; +import static gregtech.common.items.IDMetaItem03.Phononic_Seed_Crystal; +import static gregtech.common.items.IDMetaItem03.Quark_Catalyst_Housing; +import static gregtech.common.items.IDMetaItem03.Quark_Creation_Catalyst_Bottom; +import static gregtech.common.items.IDMetaItem03.Quark_Creation_Catalyst_Charm; +import static gregtech.common.items.IDMetaItem03.Quark_Creation_Catalyst_Down; +import static gregtech.common.items.IDMetaItem03.Quark_Creation_Catalyst_Strange; +import static gregtech.common.items.IDMetaItem03.Quark_Creation_Catalyst_Top; +import static gregtech.common.items.IDMetaItem03.Quark_Creation_Catalyst_Unaligned; +import static gregtech.common.items.IDMetaItem03.Quark_Creation_Catalyst_Up; +import static gregtech.common.items.IDMetaItem03.Relativistic_Heat_Capacitor; +import static gregtech.common.items.IDMetaItem03.Spinneret; +import static gregtech.common.items.IDMetaItem03.Thermal_Superconductor; +import static gregtech.common.items.IDMetaItem03.Timepiece; +import static gregtech.common.items.IDMetaItem03.Transdimensional_Alignment_Matrix; +import static gregtech.common.items.IDMetaItem03.Tube_Wires; +import static gregtech.common.items.IDMetaItem03.UHV_Coil; +import static gregtech.common.items.IDMetaItem03.ULV_Coil; +import static gregtech.common.items.IDMetaItem03.UV_Coil; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_Axe; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_Block; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_Bolt; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_Bottle; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_Casing; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_Cell; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_File; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_Gear; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_Hammer; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_Hoe; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_Ingot; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_Pickaxe; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_Pipe_Huge; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_Pipe_Large; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_Pipe_Medium; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_Pipe_Small; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_Pipe_Tiny; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_Plate; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_Ring; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_Rod; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_Rotor; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_Saw; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_Shovel; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_Small_Gear; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_Sword; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_ToolHeadDrill; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_Turbine_Blade; +import static gregtech.common.items.IDMetaItem03.White_Dwarf_Shape_Extruder_Wire; +import static gregtech.common.items.IDMetaItem03.WovenKevlar; +import static gregtech.common.items.IDMetaItem03.ZPM_Coil; + +import gregtech.api.GregTechAPI; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.SubTag; +import gregtech.api.enums.TCAspects; +import gregtech.api.items.MetaGeneratedItemX32; +import gregtech.api.render.TextureFactory; +import gregtech.api.util.GTOreDictUnificator; +import gregtech.common.covers.CoverMetricsTransmitter; +import gregtech.common.covers.CoverSolarPanel; + +public class MetaGeneratedItem03 extends MetaGeneratedItemX32 { + + public static MetaGeneratedItem03 INSTANCE; + + public MetaGeneratedItem03() { + super( + "metaitem.03", + OrePrefixes.___placeholder___, + OrePrefixes.___placeholder___, + OrePrefixes.___placeholder___, + OrePrefixes.___placeholder___, + OrePrefixes.nanite, + OrePrefixes.rawOre); + INSTANCE = this; + Object[] o = new Object[0]; + + /* + * circuit boards tier 1-7: coated circuit board / wood plate + resin Plastic Circuit Board / Plastic + Copper + * Foil + Sulfuric Acid phenolic circuit board /carton+glue+chemical bath epoxy circuit board /epoxy plate + + * copper foil + sulfuric acid fiberglass circuit board (simple + multilayer) / glass + plastic + electrum foil + * + sulfuric acid wetware lifesupport board / fiberglass CB + teflon + + */ + ItemList.Circuit_Board_Wetware.set( + addItem(Circuit_Board_Wetware.ID, "Wetware Lifesupport Circuit Board", "The Board that keeps life", o)); + ItemList.Circuit_Board_Plastic + .set(addItem(Circuit_Board_Plastic.ID, "Plastic Circuit Board", "A Good Board", o)); + ItemList.Circuit_Board_Bio + .set(addItem(Circuit_Board_Bio.ID, "Bio Circuit Board", "Bio genetic mutated Board", o)); + + /* + * electronic components: vacuum tube (glass tube + red alloy cables) basic electronic circuits normal+smd coils + * diodes normal+smd transistors normal+smd capacitors normal+smd Glass Fibers + */ + ItemList.Circuit_Parts_ResistorSMD.set( + addItem( + Circuit_Parts_ResistorSMD.ID, + "SMD Resistor", + "Electronic Component", + OrePrefixes.componentCircuit.get(Materials.Resistor), + SubTag.NO_UNIFICATION)); + ItemList.Circuit_Parts_Glass_Tube.set(addItem(Circuit_Parts_Glass_Tube.ID, "Glass Tube", "", o)); + ItemList.Circuit_Parts_Coil.set(addItem(Circuit_Parts_Coil.ID, "Small Coil", "Basic Electronic Component", o)); + ItemList.Circuit_Parts_DiodeSMD.set( + addItem( + Circuit_Parts_DiodeSMD.ID, + "SMD Diode", + "Electronic Component", + OrePrefixes.componentCircuit.get(Materials.Diode), + SubTag.NO_UNIFICATION)); + ItemList.Circuit_Parts_TransistorSMD.set( + addItem( + Circuit_Parts_TransistorSMD.ID, + "SMD Transistor", + "Electronic Component", + OrePrefixes.componentCircuit.get(Materials.Transistor), + SubTag.NO_UNIFICATION)); + ItemList.Circuit_Parts_CapacitorSMD.set( + addItem( + Circuit_Parts_CapacitorSMD.ID, + "SMD Capacitor", + "Electronic Component", + OrePrefixes.componentCircuit.get(Materials.Capacitor), + SubTag.NO_UNIFICATION)); + ItemList.Circuit_Parts_GlassFiber + .set(addItem(Circuit_Parts_GlassFiber.ID, "Glass Fiber", Materials.BorosilicateGlass.mChemicalFormula, o)); + ItemList.Circuit_Parts_PetriDish + .set(addItem(Circuit_Parts_PetriDish.ID, "Petri Dish", "For cultivating cells", o)); + ItemList.Circuit_Parts_Reinforced_Glass_Tube + .set(addItem(Circuit_Parts_Reinforced_Glass_Tube.ID, "Reinforced Glass Tube", "", o)); + + ItemList.Circuit_Parts_ResistorASMD + .set(addItem(Circuit_Parts_ResistorASMD.ID, "Advanced SMD Resistor", "Advanced Electronic Component", o)); + ItemList.Circuit_Parts_DiodeASMD + .set(addItem(Circuit_Parts_DiodeASMD.ID, "Advanced SMD Diode", "Advanced Electronic Component", o)); + ItemList.Circuit_Parts_TransistorASMD.set( + addItem(Circuit_Parts_TransistorASMD.ID, "Advanced SMD Transistor", "Advanced Electronic Component", o)); + ItemList.Circuit_Parts_CapacitorASMD + .set(addItem(Circuit_Parts_CapacitorASMD.ID, "Advanced SMD Capacitor", "Advanced Electronic Component", o)); + + ItemList.Circuit_Parts_ResistorXSMD.set( + addItem(Circuit_Parts_ResistorXSMD.ID, "Optical SMD Resistor", "Highly Advanced Electronic Component", o)); + ItemList.Circuit_Parts_DiodeXSMD + .set(addItem(Circuit_Parts_DiodeXSMD.ID, "Optical SMD Diode", "Highly Advanced Electronic Component", o)); + ItemList.Circuit_Parts_TransistorXSMD.set( + addItem( + Circuit_Parts_TransistorXSMD.ID, + "Optical SMD Transistor", + "Highly Advanced Electronic Component", + o)); + ItemList.Circuit_Parts_CapacitorXSMD.set( + addItem( + Circuit_Parts_CapacitorXSMD.ID, + "Optical SMD Capacitor", + "Highly Advanced Electronic Component", + o)); + + ItemList.Circuit_Parts_InductorSMD.set( + addItem( + Circuit_Parts_InductorSMD.ID, + "SMD Inductor", + "Electronic Component", + OrePrefixes.componentCircuit.get(Materials.Inductor), + SubTag.NO_UNIFICATION)); + ItemList.Circuit_Parts_InductorASMD + .set(addItem(Circuit_Parts_InductorASMD.ID, "Advanced SMD Inductor", "Advanced Electronic Component", o)); + ItemList.Circuit_Parts_InductorXSMD.set( + addItem(Circuit_Parts_InductorXSMD.ID, "Optical SMD Inductor", "Highly Advanced Electronic Component", o)); + + /* + * ICs Lenses made from perfect crystals first instead of plates Monocrystalline silicon ingot + * (normal+glowstone+naquadah) EBF, normal silicon no EBF need anymore wafer(normal+glowstone+naquadah) cut mono + * silicon ingot in cutting machine + * Integrated Logic Circuit(8bit DIP) RAM NAND Memory NOR Memory CPU (4 sizes) SoCs(2 sizes, high tier cheap low + * tech component) Power IC/High Power IC/Ultra High power + * nanotube interconnected circuit (H-IC + nanotubes) + * quantum chips + */ + ItemList.Circuit_Silicon_Ingot + .set(addItem(Circuit_Silicon_Ingot.ID, "Monocrystalline Silicon Boule", "Raw Circuit", o)); + ItemList.Circuit_Silicon_Ingot2.set( + addItem(Circuit_Silicon_Ingot2.ID, "Phosphorus doped Monocrystalline Silicon Boule", "Raw Circuit", o)); + ItemList.Circuit_Silicon_Ingot3 + .set(addItem(Circuit_Silicon_Ingot3.ID, "Naquadah doped Monocrystalline Silicon Boule", "Raw Circuit", o)); + ItemList.Circuit_Silicon_Ingot4 + .set(addItem(Circuit_Silicon_Ingot4.ID, "Europium doped Monocrystalline Silicon Boule", "Raw Circuit", o)); + ItemList.Circuit_Silicon_Ingot5 + .set(addItem(Circuit_Silicon_Ingot5.ID, "Americium doped Monocrystalline Silicon Boule", "Raw Circuit", o)); + ItemList.Circuit_Silicon_Ingot6 + .set(addItem(Circuit_Silicon_Ingot6.ID, "Optically Enriched Crystalline Boule", "Raw Circuit", o)); + + ItemList.Circuit_Silicon_Wafer.set(addItem(Circuit_Silicon_Wafer.ID, "Wafer", "Raw Circuit", o)); + ItemList.Circuit_Silicon_Wafer2 + .set(addItem(Circuit_Silicon_Wafer2.ID, "Phosphorus doped Wafer", "Raw Circuit", o)); + ItemList.Circuit_Silicon_Wafer3 + .set(addItem(Circuit_Silicon_Wafer3.ID, "Naquadah doped Wafer", "Raw Circuit", o)); + ItemList.Circuit_Silicon_Wafer4 + .set(addItem(Circuit_Silicon_Wafer4.ID, "Europium doped Wafer", "Raw Circuit", o)); + ItemList.Circuit_Silicon_Wafer5 + .set(addItem(Circuit_Silicon_Wafer5.ID, "Americium doped Wafer", "Raw Circuit", o)); + ItemList.Circuit_Silicon_Wafer6 + .set(addItem(Circuit_Silicon_Wafer6.ID, "Photonically Prepared Wafer", "Raw Circuit", o)); + ItemList.Circuit_Silicon_Wafer7 + .set(addItem(Circuit_Silicon_Wafer7.ID, "Photonically Enhanced Wafer", "Raw Circuit", o)); + + ItemList.Circuit_Wafer_ILC + .set(addItem(Circuit_Wafer_ILC.ID, "Integrated Logic Circuit (Wafer)", "Raw Circuit", o)); + ItemList.Circuit_Chip_ILC + .set(addItem(Circuit_Chip_ILC.ID, "Integrated Logic Circuit", "Integrated Circuit", o)); + + ItemList.Circuit_Wafer_Ram + .set(addItem(Circuit_Wafer_Ram.ID, "Random Access Memory Chip (Wafer)", "Raw Circuit", o)); + ItemList.Circuit_Chip_Ram + .set(addItem(Circuit_Chip_Ram.ID, "Random Access Memory Chip", "Integrated Circuit", o)); + + ItemList.Circuit_Wafer_NAND.set(addItem(Circuit_Wafer_NAND.ID, "NAND Memory Chip (Wafer)", "Raw Circuit", o)); + ItemList.Circuit_Chip_NAND.set(addItem(Circuit_Chip_NAND.ID, "NAND Memory Chip", "Integrated Circuit", o)); + + ItemList.Circuit_Wafer_NOR.set(addItem(Circuit_Wafer_NOR.ID, "NOR Memory Chip (Wafer)", "Raw Circuit", o)); + ItemList.Circuit_Chip_NOR.set(addItem(Circuit_Chip_NOR.ID, "NOR Memory Chip", "Integrated Circuit", o)); + + ItemList.Circuit_Wafer_CPU + .set(addItem(Circuit_Wafer_CPU.ID, "Central Processing Unit (Wafer)", "Raw Circuit", o)); + ItemList.Circuit_Chip_CPU.set(addItem(Circuit_Chip_CPU.ID, "Central Processing Unit", "Integrated Circuit", o)); + + ItemList.Circuit_Wafer_SoC.set(addItem(Circuit_Wafer_SoC.ID, "SoC Wafer", "Raw Circuit", o)); + ItemList.Circuit_Chip_SoC.set(addItem(Circuit_Chip_SoC.ID, "SoC", "System on a Chip", o)); + + ItemList.Circuit_Wafer_SoC2.set(addItem(Circuit_Wafer_SoC2.ID, "ASoC Wafer", "Raw Circuit", o)); + ItemList.Circuit_Chip_SoC2.set(addItem(Circuit_Chip_SoC2.ID, "ASoC", "Advanced System on a Chip", o)); + + ItemList.Circuit_Wafer_PIC.set(addItem(Circuit_Wafer_PIC.ID, "PIC Wafer", "Raw Circuit", o)); + ItemList.Circuit_Chip_PIC.set(addItem(Circuit_Chip_PIC.ID, "Power IC", "Power Circuit", o)); + + ItemList.Circuit_Wafer_HPIC.set(addItem(Circuit_Wafer_HPIC.ID, "HPIC Wafer", "Raw Circuit", o)); + ItemList.Circuit_Chip_HPIC.set(addItem(Circuit_Chip_HPIC.ID, "High Power IC", "High Power Circuit", o)); + + ItemList.Circuit_Wafer_NanoCPU.set(addItem(Circuit_Wafer_NanoCPU.ID, "NanoCPU Wafer", "Raw Circuit", o)); + ItemList.Circuit_Chip_NanoCPU + .set(addItem(Circuit_Chip_NanoCPU.ID, "Nanocomponent Central Processing Unit", "Power Circuit", o)); + + ItemList.Circuit_Wafer_QuantumCPU.set(addItem(Circuit_Wafer_QuantumCPU.ID, "QBit Wafer", "Raw Circuit", o)); + ItemList.Circuit_Chip_QuantumCPU + .set(addItem(Circuit_Chip_QuantumCPU.ID, "QBit Processing Unit", "Quantum CPU", o)); + + ItemList.Circuit_Wafer_UHPIC.set(addItem(Circuit_Wafer_UHPIC.ID, "UHPIC Wafer", "Raw Circuit", o)); + ItemList.Circuit_Chip_UHPIC + .set(addItem(Circuit_Chip_UHPIC.ID, "Ultra High Power IC", "Ultra High Power Circuit", o)); + + ItemList.Circuit_Wafer_Simple_SoC + .set(addItem(Circuit_Wafer_Simple_SoC.ID, "Simple SoC Wafer", "Raw Primitive Circuit", o)); + ItemList.Circuit_Chip_Simple_SoC + .set(addItem(Circuit_Chip_Simple_SoC.ID, "Simple SoC", "Simple System on a Chip", o)); + + ItemList.Circuit_Wafer_ULPIC.set(addItem(Circuit_Wafer_ULPIC.ID, "ULPIC Wafer", "Raw Circuit", o)); + ItemList.Circuit_Chip_ULPIC + .set(addItem(Circuit_Chip_ULPIC.ID, "Ultra Low Power IC", "Ultra Low Power Circuit", o)); + + ItemList.Circuit_Wafer_LPIC.set(addItem(Circuit_Wafer_LPIC.ID, "LPIC Wafer", "Raw Circuit", o)); + ItemList.Circuit_Chip_LPIC.set(addItem(Circuit_Chip_LPIC.ID, "Low Power IC", "Low Power Circuit", o)); + + ItemList.Circuit_Wafer_NPIC.set(addItem(Circuit_Wafer_NPIC.ID, "NPIC Wafer", "Raw Circuit", o)); + ItemList.Circuit_Chip_NPIC.set(addItem(Circuit_Chip_NPIC.ID, "Nano Power IC", "Nano Power Circuit", o)); + + ItemList.Circuit_Wafer_PPIC.set(addItem(Circuit_Wafer_PPIC.ID, "PPIC Wafer", "Raw Circuit", o)); + ItemList.Circuit_Chip_PPIC.set(addItem(Circuit_Chip_PPIC.ID, "Piko Power IC", "Piko Power Circuit", o)); + + ItemList.Circuit_Wafer_QPIC.set(addItem(Circuit_Wafer_QPIC.ID, "QPIC Wafer", "Raw Circuit", o)); + ItemList.Circuit_Chip_QPIC.set(addItem(Circuit_Chip_QPIC.ID, "Quantum Power IC", "Quantum Power Circuit", o)); + + ItemList.Circuit_Wafer_Bioware.set(addItem(Circuit_Wafer_Bioware.ID, "Living Bio Wafer", "Raw Circuit", o)); + ItemList.Circuit_Parts_Chip_Bioware + .set(addItem(Circuit_Parts_Chip_Bioware.ID, "Living Bio Chip", "Needed for Circuits", o)); + /* + * Engraved Crystal Chip Engraved Lapotron Chip Crystal CPU SoCrystal stem cells (disassemble eggs) + */ + ItemList.Circuit_Chip_CrystalSoC2.set( + addItem(Circuit_Chip_CrystalSoC2.ID, "Raw Advanced Crystal Chip", "Raw Advanced Crystal Processor", o)); + ItemList.Circuit_Parts_RawCrystalChip + .set(addItem(Circuit_Parts_RawCrystalChip.ID, "Raw Crystal Chip", "Raw Crystal Processor", o)); + ItemList.Circuit_Chip_CrystalCPU + .set(addItem(Circuit_Chip_CrystalCPU.ID, "Crystal Processing Unit", "Crystal CPU", o)); // Crystal + // chip + // elite + // part + ItemList.Circuit_Chip_CrystalSoC + .set(addItem(Circuit_Chip_CrystalSoC.ID, "Crystal SoC", "Crystal System on a Chip", o)); + ItemList.Circuit_Chip_NeuroCPU.set(addItem(Circuit_Chip_NeuroCPU.ID, "Neuro Processing Unit", "Neuro CPU", o)); + ItemList.Circuit_Chip_Stemcell.set(addItem(Circuit_Chip_Stemcell.ID, "Stemcells", "Raw inteligence", o)); + ItemList.Circuit_Parts_RawCrystalParts + .set(addItem(Circuit_Parts_RawCrystalParts.ID, "Raw Crystal Chip Parts", "Raw Crystal Processor Parts", o)); + ItemList.Circuit_Chip_Biocell.set(addItem(Circuit_Chip_Biocell.ID, "Biocells", "Mutated Raw inteligence", o)); + ItemList.Circuit_Chip_BioCPU.set(addItem(Circuit_Chip_BioCPU.ID, "Bio Processing Unit", "Bio CPU", o)); + ItemList.Circuit_Chip_Optical + .set(addItem(Circuit_Chip_Optical.ID, "Raw Exposed Optical Chip", "Raw Optical Chip", o)); + + // Nand Chip + ItemList.NandChip.set( + addItem( + NandChip.ID, + "NAND Chip", + "A very simple Circuit", + OrePrefixes.circuit.get(Materials.ULV), + SubTag.NO_UNIFICATION)); + + // Vacuum Tube Item01 + // Basic Circuit IC2 + // Good Circuit Item01 + + // Integrated Logic Circuit Item01 + ItemList.Circuit_Integrated_Good.set( + addItem( + Circuit_Integrated_Good.ID, + "Good Integrated Circuit", + "Good Circuit", + OrePrefixes.circuit.get(Materials.MV), + SubTag.NO_UNIFICATION)); + + // Good Integrated Circuit Item01 + // Advanced Circuit IC2 + + ItemList.Circuit_Microprocessor.set( + addItem( + Circuit_Microprocessor.ID, + "Microprocessor", + "A Basic Circuit", + OrePrefixes.circuit.get(Materials.LV), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_Processor.set( + addItem( + Circuit_Processor.ID, + "Integrated Processor", + "A Good Circuit", + OrePrefixes.circuit.get(Materials.MV), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_Nanoprocessor.set( + addItem( + Circuit_Nanoprocessor.ID, + "Nanoprocessor", + "An Advanced Circuit", + OrePrefixes.circuit.get(Materials.HV), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_Nanocomputer.set( + addItem( + Circuit_Nanocomputer.ID, + "Nanoprocessor Assembly", + "An Extreme Circuit", + OrePrefixes.circuit.get(Materials.EV), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_Elitenanocomputer.set( + addItem( + Circuit_Elitenanocomputer.ID, + "Elite Nanocomputer", + "An Elite Circuit", + OrePrefixes.circuit.get(Materials.IV), + SubTag.NO_UNIFICATION)); + + // Quantum circuits + ItemList.Circuit_Quantumprocessor.set( + addItem( + Circuit_Quantumprocessor.ID, + "Quantumprocessor", + "An Extreme Circuit", + OrePrefixes.circuit.get(Materials.EV), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_Quantumcomputer.set( + addItem( + Circuit_Quantumcomputer.ID, + "Quantumprocessor Assembly", + "An Elite Circuit", + OrePrefixes.circuit.get(Materials.IV), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_Masterquantumcomputer.set( + addItem( + Circuit_Masterquantumcomputer.ID, + "Master Quantumcomputer", + "A Master Circuit", + OrePrefixes.circuit.get(Materials.LuV), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_Quantummainframe.set( + addItem( + Circuit_Quantummainframe.ID, + "Quantumprocessor Mainframe", + "An Ultimate Circuit", + OrePrefixes.circuit.get(Materials.ZPM), + SubTag.NO_UNIFICATION)); + + // Crystal circuits + ItemList.Circuit_Crystalprocessor.set( + addItem( + Circuit_Crystalprocessor.ID, + "Crystalprocessor", + "An Elite Circuit", + OrePrefixes.circuit.get(Materials.IV), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_Crystalcomputer.set( + addItem( + Circuit_Crystalcomputer.ID, + "Crystalprocessor Assembly", + "A Master Circuit", + OrePrefixes.circuit.get(Materials.LuV), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_Ultimatecrystalcomputer.set( + addItem( + Circuit_Ultimatecrystalcomputer.ID, + "Ultimate Crystalcomputer", + "An Ultimate Circuit", + OrePrefixes.circuit.get(Materials.ZPM), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_Crystalmainframe.set( + addItem( + Circuit_Crystalmainframe.ID, + "Crystalprocessor Mainframe", + "A Super Circuit", + OrePrefixes.circuit.get(Materials.UV), + SubTag.NO_UNIFICATION)); + + // ???? Scared to remove. + ItemList.Circuit_Ultimate.set(ItemList.Circuit_Ultimatecrystalcomputer.get(1L)); // maybe should be removed + + // Wetware circuits + ItemList.Circuit_Neuroprocessor.set( + addItem( + Circuit_Neuroprocessor.ID, + "Wetwareprocessor", + "A Master Circuit", + OrePrefixes.circuit.get(Materials.LuV), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_Wetwarecomputer.set( + addItem( + Circuit_Wetwarecomputer.ID, + "Wetwareprocessor Assembly", + "An Ultimate Circuit", + OrePrefixes.circuit.get(Materials.ZPM), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_Wetwaresupercomputer.set( + addItem( + Circuit_Wetwaresupercomputer.ID, + "Wetware Supercomputer", + "A Super Circuit", + OrePrefixes.circuit.get(Materials.UV), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_Wetwaremainframe.set( + addItem( + Circuit_Wetwaremainframe.ID, + "Wetware Mainframe", + "An Infinite Circuit", + OrePrefixes.circuit.get(Materials.UHV), + SubTag.NO_UNIFICATION)); + + // Bioware circuits. + ItemList.Circuit_Bioprocessor.set( + addItem( + Circuit_Bioprocessor.ID, + "Bioprocessor", + "An Ultimate Circuit", + OrePrefixes.circuit.get(Materials.ZPM), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_Biowarecomputer.set( + addItem( + Circuit_Biowarecomputer.ID, + "Biowareprocessor Assembly", + "A Super Circuit", + OrePrefixes.circuit.get(Materials.UV), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_Biowaresupercomputer.set( + addItem( + Circuit_Biowaresupercomputer.ID, + "Bioware Supercomputer", + "An Infinite Circuit", + OrePrefixes.circuit.get(Materials.UHV), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_Biomainframe.set( + addItem( + Circuit_Biomainframe.ID, + "Bio Mainframe", + "A Bio Circuit", + OrePrefixes.circuit.get(Materials.UEV), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_Board_Coated_Basic + .set(addItem(Circuit_Board_Coated_Basic.ID, "Circuit Board", "A basic Circuit Board", o)); + ItemList.Circuit_Board_Phenolic_Good + .set(addItem(Circuit_Board_Phenolic_Good.ID, "Good Circuit Board", "A good Circuit Board", o)); + ItemList.Circuit_Board_Epoxy_Advanced + .set(addItem(Circuit_Board_Epoxy_Advanced.ID, "Advanced Circuit Board", "A advanced Circuit Board", o)); + ItemList.Circuit_Board_Fiberglass_Advanced.set( + addItem( + Circuit_Board_Fiberglass_Advanced.ID, + "More Advanced Circuit Board", + "A more advanced Circuit Board", + o)); + ItemList.Circuit_Board_Multifiberglass_Elite + .set(addItem(Circuit_Board_Multifiberglass_Elite.ID, "Elite Circuit Board", "A elite Circuit Board", o)); + ItemList.Circuit_Board_Wetware_Extreme.set( + addItem( + Circuit_Board_Wetware_Extreme.ID, + "Extreme Wetware Lifesupport Circuit Board", + "The Board that keeps life", + o)); + ItemList.Circuit_Board_Plastic_Advanced + .set(addItem(Circuit_Board_Plastic_Advanced.ID, "Plastic Circuit Board", "A good Board", o)); + ItemList.Circuit_Board_Bio_Ultra.set( + addItem(Circuit_Board_Bio_Ultra.ID, "Ultra Bio Mutated Circuit Board", "Bio genetic mutated Board", o)); + ItemList.Circuit_Board_Optical + .set(addItem(Circuit_Board_Optical.ID, "Optical Circuit Board", "Optically Infused Board", o)); + + // Optical circuits + ItemList.Circuit_OpticalProcessor.set( + addItem( + Circuit_OpticalProcessor.ID, + "Optical Processor", + "An Optical Circuit", + OrePrefixes.circuit.get(Materials.UV), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_OpticalAssembly.set( + addItem( + Circuit_OpticalAssembly.ID, + "Optical Assembly", + "An Optical Circuit", + OrePrefixes.circuit.get(Materials.UHV), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_OpticalComputer.set( + addItem( + Circuit_OpticalComputer.ID, + "Optical Computer", + "An Optical Circuit", + OrePrefixes.circuit.get(Materials.UEV), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_OpticalMainframe.set( + addItem( + Circuit_OpticalMainframe.ID, + "Optical Mainframe", + "An Optical Circuit", + OrePrefixes.circuit.get(Materials.UIV), + SubTag.NO_UNIFICATION)); + + // Exotic circuits + ItemList.Circuit_ExoticProcessor.set( + addItem( + Circuit_ExoticProcessor.ID, + "Exotic Processor", + "An Exotic Circuit", + OrePrefixes.circuit.get(Materials.UHV), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_ExoticAssembly.set( + addItem( + Circuit_ExoticAssembly.ID, + "Exotic Assembly", + "An Exotic Circuit", + OrePrefixes.circuit.get(Materials.UEV), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_ExoticComputer.set( + addItem( + Circuit_ExoticComputer.ID, + "Exotic Computer", + "An Exotic Circuit", + OrePrefixes.circuit.get(Materials.UIV), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_ExoticMainframe.set( + addItem( + Circuit_ExoticMainframe.ID, + "Exotic Mainframe", + "An Exotic Circuit", + OrePrefixes.circuit.get(Materials.UMV), + SubTag.NO_UNIFICATION)); + + // Cosmic circuits + ItemList.Circuit_CosmicProcessor.set( + addItem( + Circuit_CosmicProcessor.ID, + "Cosmic Processor", + "A Cosmic Circuit", + OrePrefixes.circuit.get(Materials.UEV), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_CosmicAssembly.set( + addItem( + Circuit_CosmicAssembly.ID, + "Cosmic Assembly", + "A Cosmic Circuit", + OrePrefixes.circuit.get(Materials.UIV), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_CosmicComputer.set( + addItem( + Circuit_CosmicComputer.ID, + "Cosmic Computer", + "A Cosmic Circuit", + OrePrefixes.circuit.get(Materials.UMV), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_CosmicMainframe.set( + addItem( + Circuit_CosmicMainframe.ID, + "Cosmic Mainframe", + "A Cosmic Circuit", + OrePrefixes.circuit.get(Materials.UXV), + SubTag.NO_UNIFICATION)); + + // Transcendent circuits + ItemList.Circuit_TranscendentProcessor.set( + addItem( + Circuit_TranscendentProcessor.ID, + "Temporally Transcendent Processor", + "A circuit operating outside of known spacetime", + OrePrefixes.circuit.get(Materials.UIV), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_TranscendentAssembly.set( + addItem( + Circuit_TranscendentAssembly.ID, + "Temporally Transcendent Assembly", + "A circuit operating outside of known spacetime", + OrePrefixes.circuit.get(Materials.UMV), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_TranscendentComputer.set( + addItem( + Circuit_TranscendentComputer.ID, + "Temporally Transcendent Computer", + "A circuit operating outside of known spacetime", + OrePrefixes.circuit.get(Materials.UXV), + SubTag.NO_UNIFICATION)); + + ItemList.Circuit_TranscendentMainframe.set( + addItem( + Circuit_TranscendentMainframe.ID, + "Temporally Transcendent Mainframe", + "A circuit operating outside of known spacetime", + OrePrefixes.circuit.get(Materials.MAX), + SubTag.NO_UNIFICATION)); + + ItemList.Tube_Wires.set(addItem(Tube_Wires.ID, "Tube Wires", "For the Vacuum Tubes", o)); + + ItemList.Cover_SolarPanel_UHV.set( + addItem( + Cover_SolarPanel_UHV.ID, + "Solar Panel (UHV)", + "Ultimate High Voltage Solar Panel (Needs cleaning with right click)", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 128L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 128L), + new TCAspects.TC_AspectStack(TCAspects.TENEBRAE, 128L))); + ItemList.Cover_SolarPanel_UEV.set( + addItem( + Cover_SolarPanel_UEV.ID, + "Solar Panel (UEV)", + "Ultimate Extreme Voltage Solar Panel (Needs cleaning with right click)", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 256L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 256L), + new TCAspects.TC_AspectStack(TCAspects.TENEBRAE, 256L))); + ItemList.Cover_SolarPanel_UIV.set( + addItem( + Cover_SolarPanel_UIV.ID, + "Solar Panel (UIV)", + "Ultimate Insane Voltage Solar Panel (Needs cleaning with right click)", + new TCAspects.TC_AspectStack(TCAspects.ELECTRUM, 512L), + new TCAspects.TC_AspectStack(TCAspects.POTENTIA, 512L), + new TCAspects.TC_AspectStack(TCAspects.TENEBRAE, 512L))); + + ItemList.ULV_Coil.set(addItem(ULV_Coil.ID, "Ultra Low Voltage Coil", "Primitive Coil", o)); + ItemList.LV_Coil.set(addItem(LV_Coil.ID, "Low Voltage Coil", "Basic Coil", o)); + ItemList.MV_Coil.set(addItem(MV_Coil.ID, "Medium Voltage Coil", "Good Coil", o)); + ItemList.HV_Coil.set(addItem(HV_Coil.ID, "High Voltage Coil", "Advanced Coil", o)); + ItemList.EV_Coil.set(addItem(EV_Coil.ID, "Extreme Voltage Coil", "Extreme Coil", o)); + ItemList.IV_Coil.set(addItem(IV_Coil.ID, "Insane Voltage Coil", "Elite Coil", o)); + ItemList.LuV_Coil.set(addItem(LuV_Coil.ID, "Ludicrous Voltage Coil", "Master Coil", o)); + ItemList.ZPM_Coil.set(addItem(ZPM_Coil.ID, "ZPM Voltage Coil", "Ultimate Coil", o)); + ItemList.UV_Coil.set(addItem(UV_Coil.ID, "Ultimate Voltage Coil", "Super Coil", o)); + ItemList.UHV_Coil.set(addItem(UHV_Coil.ID, "Highly Ultimate Voltage Coil", "Infinite Coil", o)); + + ItemList.GalliumArsenideCrystal + .set(addItem(GalliumArsenideCrystal.ID, "Gallium Arsenide Crystal", "For making boules", o)); + ItemList.GalliumArsenideCrystalSmallPart + .set(addItem(GalliumArsenideCrystalSmallPart.ID, "Small Gallium Arsenide Crystal", "For making boules", o)); + ItemList.KevlarFiber.set(addItem(KevlarFiber.ID, "Kevlar Fiber", "For making Kevlar Plates", o)); + ItemList.WovenKevlar.set(addItem(WovenKevlar.ID, "Woven Kevlar", "For making Kevlar Plates", o)); + ItemList.Spinneret.set(addItem(Spinneret.ID, "Spinneret", "For making Kevlar Fiber", o)); + + ItemList.IndustrialApiary_Upgrade_Frame + .set(addItem(IndustrialApiary_Upgrade_Frame.ID, "Upgrade Frame", "Crafting component", o)); + + ItemList.IndustrialApiary_Upgrade_Acceleration_1.set( + addItem( + IndustrialApiary_Upgrade_Acceleration_1.ID, + "Acceleration Upgrade x2", + "Acceleration upgrade for Industrial Apiary/n Maximum Installed: 1/n * Unlocks 2x acceleration level/n * Energy Consumption +1 AMP LV", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_Acceleration_2.set( + addItem( + IndustrialApiary_Upgrade_Acceleration_2.ID, + "Acceleration Upgrade x4", + "Acceleration upgrade for Industrial Apiary/n Maximum Installed: 1/n * Unlocks 4x acceleration level/n * Energy Consumption +1 AMP MV", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_Acceleration_3.set( + addItem( + IndustrialApiary_Upgrade_Acceleration_3.ID, + "Acceleration Upgrade x8", + "Acceleration upgrade for Industrial Apiary/n Maximum Installed: 1/n * Unlocks 8x acceleration level/n * Energy Consumption +1 AMP HV", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_Acceleration_4.set( + addItem( + IndustrialApiary_Upgrade_Acceleration_4.ID, + "Acceleration Upgrade x16", + "Acceleration upgrade for Industrial Apiary/n Maximum Installed: 1/n * Unlocks 16x acceleration level/n * Energy Consumption +1 AMP EV", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_Acceleration_5.set( + addItem( + IndustrialApiary_Upgrade_Acceleration_5.ID, + "Acceleration Upgrade x32", + "Acceleration upgrade for Industrial Apiary/n Maximum Installed: 1/n * Unlocks 32x acceleration level/n * Energy Consumption +1 AMP IV", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_Acceleration_6.set( + addItem( + IndustrialApiary_Upgrade_Acceleration_6.ID, + "Acceleration Upgrade x64", + "Acceleration upgrade for Industrial Apiary/n Maximum Installed: 1/n * Unlocks 64x acceleration level/n * Energy Consumption +1 AMP LuV", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_Acceleration_7.set( + addItem( + IndustrialApiary_Upgrade_Acceleration_7.ID, + "Acceleration Upgrade x128", + "Acceleration upgrade for Industrial Apiary/n Maximum Installed: 1/n * Unlocks 128x acceleration level/n * Energy Consumption +1 AMP ZPM", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_Acceleration_8.set( + addItem( + IndustrialApiary_Upgrade_Acceleration_8.ID, + "Acceleration Upgrade x256", + "Acceleration upgrade for Industrial Apiary/n Maximum Installed: 1/n * Unlocks 256x acceleration level/n * Energy Consumption +1 AMP UV", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_Acceleration_8_Upgraded.set( + addItem( + IndustrialApiary_Upgrade_Acceleration_8_Upgraded.ID, + "Upgraded Acceleration Upgrade x256", + "Acceleration upgrade for Industrial Apiary/n Maximum Installed: 1/n * Unlocks 256x acceleration level/n * Will also grant 8x production upgrade/n * Energy Consumption +1 AMP UV", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_PRODUCTION.set( + addItem( + IndustrialApiary_Upgrade_PRODUCTION.ID, + "Production Upgrade", + "Production upgrade for Industrial Apiary/n Maximum Installed: 8/n Increases production modifier by 0.25/n Energy Consumption +40%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_PLAINS.set( + addItem( + IndustrialApiary_Upgrade_PLAINS.ID, + "Plains Emulation Upgrade", + "Plains emulation upgrade for Industrial Apiary/n Maximum Installed: 1/n * Biome Override: Plains/n * Energy Consumption +40%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_LIGHT.set( + addItem( + IndustrialApiary_Upgrade_LIGHT.ID, + "Light Upgrade", + "Light upgrade for Industrial Apiary/n Maximum Installed: 1/n * Internal Lighting/n * Energy Consumption +5%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_FLOWERING.set( + addItem( + IndustrialApiary_Upgrade_FLOWERING.ID, + "Flowering Upgrade", + "Flowering upgrade for Industrial Apiary/n Maximum Installed: 8/n * Flowering and Pollination +20%/n * Energy Consumption +10%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_WINTER.set( + addItem( + IndustrialApiary_Upgrade_WINTER.ID, + "Winter Emulation Upgrade", + "Winter emulation upgrade for Industrial Apiary/n Maximum Installed: 1/n * Biome Override: Taiga/n * Energy Consumption +50%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_DRYER.set( + addItem( + IndustrialApiary_Upgrade_DRYER.ID, + "Dryer Upgrade", + "Dryer upgrade for Industrial Apiary/n Maximum Installed: 16/n * Humidity -12.5%/n * Energy Consumption +2.5%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_AUTOMATION.set( + addItem( + IndustrialApiary_Upgrade_AUTOMATION.ID, + "Automation Upgrade", + "Automation upgrade for Industrial Apiary/n Maximum Installed: 1/n * Automation/n * Energy Consumption +10%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_HUMIDIFIER.set( + addItem( + IndustrialApiary_Upgrade_HUMIDIFIER.ID, + "Humidifier Upgrade", + "Humidifier upgrade for Industrial Apiary/n Maximum Installed: 16/n * Humidity +12.5%/n * Energy Consumption +2.5%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_HELL.set( + addItem( + IndustrialApiary_Upgrade_HELL.ID, + "HELL Emulation Upgrade", + "HELL emulation upgrade for Industrial Apiary/n Maximum Installed: 1/n * Biome Override: HELL/n * Energy Consumption +50%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_POLLEN.set( + addItem( + IndustrialApiary_Upgrade_POLLEN.ID, + "Pollen Scrubber Upgrade", + "Pollen scrubber upgrade for Industrial Apiary/n Maximum Installed: 1/n * Flowering and Pollination -100%/n * Energy Consumption +30%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_DESERT.set( + addItem( + IndustrialApiary_Upgrade_DESERT.ID, + "Desert Emulation Upgrade", + "Desert emulation upgrade for Industrial Apiary/n Maximum Installed: 1/n * Biome Override: Desert/n * Energy Consumption +20%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_COOLER.set( + addItem( + IndustrialApiary_Upgrade_COOLER.ID, + "Cooler Upgrade", + "Cooler upgrade for Industrial Apiary/n Maximum Installed: 16/n * Temperature -12.5%/n * Energy Consumption +2.5%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_LIFESPAN.set( + addItem( + IndustrialApiary_Upgrade_LIFESPAN.ID, + "Lifespan Upgrade", + "Lifespan upgrade for Industrial Apiary/n Maximum Installed: 4/n * Lifespan -33%/n * Energy Consumption +5%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_SEAL.set( + addItem( + IndustrialApiary_Upgrade_SEAL.ID, + "Seal Upgrade", + "Seal upgrade for Industrial Apiary/n Maximum Installed: 1/n * Rain Protection/n * Energy Consumption +5%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_STABILIZER.set( + addItem( + IndustrialApiary_Upgrade_STABILIZER.ID, + "Genetic Stabilizer Upgrade", + "Genetic stabilizer upgrade for Industrial Apiary/n Maximum Installed: 1/n * Genetic Decay -100%/n * Energy Consumption +150%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_JUNGLE.set( + addItem( + IndustrialApiary_Upgrade_JUNGLE.ID, + "Jungle Emulation Upgrade", + "Jungle emulation upgrade for Industrial Apiary/n Maximum Installed: 1/n * Biome Override: Jungle/n * Energy Consumption +20%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_TERRITORY.set( + addItem( + IndustrialApiary_Upgrade_TERRITORY.ID, + "Territory Upgrade", + "Territory upgrade for Industrial Apiary/n Maximum Installed: 4/n * Territory +50%/n * Energy Consumption +5%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_OCEAN.set( + addItem( + IndustrialApiary_Upgrade_OCEAN.ID, + "Ocean Emulation Upgrade", + "Ocean emulation upgrade for Industrial Apiary/n Maximum Installed: 1/n * Biome Override: Ocean/n * Energy Consumption +20%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_SKY.set( + addItem( + IndustrialApiary_Upgrade_SKY.ID, + "Open Sky Upgrade", + "Open sky upgrade for Industrial Apiary/n Maximum Installed: 1/n * Open Sky Simulation/n * Energy Consumption +5%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_HEATER.set( + addItem( + IndustrialApiary_Upgrade_HEATER.ID, + "Heater Upgrade", + "Heater upgrade for Industrial Apiary/n Maximum Installed: 16/n * Temperature +12.5%/n * Energy Consumption +2.5%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_SIEVE.set( + addItem( + IndustrialApiary_Upgrade_SIEVE.ID, + "Sieve Upgrade", + "Sieve upgrade for Industrial Apiary/n Maximum Installed: 1/n * Pollen Collection/n * Energy Consumption +25%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_UNLIGHT.set( + addItem( + IndustrialApiary_Upgrade_UNLIGHT.ID, + "Night Upgrade", + "Night upgrade for Industrial Apiary/n Maximum Installed: 1/n * Internal Darkness/n * Energy Consumption +5%", + OrePrefixes.apiaryUpgrade.name())); + + ItemList.NuclearStar.set( + addItem( + NuclearStar.ID, + "Nuclear Star", + "By the powers of Greg, I command this star to be really hot.", + SubTag.NO_UNIFICATION)); + + ItemList.Cover_Metrics_Transmitter.set( + addItem( + Cover_Metrics_Transmitter.ID, + "Metrics Transmitter Cover", + String.join( + "/n ", + "Taking Information Panels to the next level!", + "Creates a GregTech Advanced Sensor Card when attached", + "Works across dimensions or if machine is dismantled", + "Removing this cover will destroy the linked card", + GTValues.AuthorQuerns))); + + ItemList.ActivatedCarbonFilterMesh.set( + addItem( + Activated_Carbon_Filter_Mesh.ID, + "Activated Carbon Filter Mesh", + "The most granular filter you could possibly make.", + SubTag.NO_UNIFICATION)); + + ItemList.Quark_Catalyst_Housing.set( + addItem( + Quark_Catalyst_Housing.ID, + "Empty Quark Release Catalyst Housing", + "Capable of holding Quark Release Catalysts", + SubTag.NO_UNIFICATION)); + ItemList.Quark_Creation_Catalyst_Up.set( + addItem( + Quark_Creation_Catalyst_Up.ID, + "Up-Quark Releasing Catalyst", + "Can release up-quarks into environment to reshape matter", + SubTag.NO_UNIFICATION)); + ItemList.Quark_Creation_Catalyst_Down.set( + addItem( + Quark_Creation_Catalyst_Down.ID, + "Down-Quark Releasing Catalyst", + "Can release down-quarks into environment to reshape matter", + SubTag.NO_UNIFICATION)); + ItemList.Quark_Creation_Catalyst_Strange.set( + addItem( + Quark_Creation_Catalyst_Strange.ID, + "Strange-Quark Releasing Catalyst", + "Can release strange-quarks into environment to reshape matter", + SubTag.NO_UNIFICATION)); + ItemList.Quark_Creation_Catalyst_Charm.set( + addItem( + Quark_Creation_Catalyst_Charm.ID, + "Charm-Quark Releasing Catalyst", + "Can release charm-quarks into environment to reshape matter", + SubTag.NO_UNIFICATION)); + ItemList.Quark_Creation_Catalyst_Bottom.set( + addItem( + Quark_Creation_Catalyst_Bottom.ID, + "Bottom-Quark Releasing Catalyst", + "Can release top-quarks into environment to reshape matter", + SubTag.NO_UNIFICATION)); + ItemList.Quark_Creation_Catalyst_Top.set( + addItem( + Quark_Creation_Catalyst_Top.ID, + "Top-Quark Releasing Catalyst", + "Can release bottom-quarks into environment to reshape matter", + SubTag.NO_UNIFICATION)); + ItemList.Quark_Creation_Catalyst_Unaligned.set( + addItem( + Quark_Creation_Catalyst_Unaligned.ID, + "Unaligned Quark Releasing Catalyst", + "Needs to be realigned before use", + SubTag.NO_UNIFICATION)); + + ItemList.Optical_Cpu_Containment_Housing + .set(addItem(Optical_Cpu_Containment_Housing.ID, "Optical CPU Containment Housing", "CPU Housing", o)); + ItemList.Optically_Perfected_CPU + .set(addItem(Optically_Perfected_CPU.ID, "Optically Perfected CPU", "Perfected CPU!", o)); + ItemList.Optically_Compatible_Memory + .set(addItem(Optically_Compatible_Memory.ID, "Optically Compatible Memory", "Its in the name!", o)); + + ItemList.Timepiece.set(addItem(Timepiece.ID, "Timepiece", "Beware of the kid with the hat", o)); + ItemList.Transdimensional_Alignment_Matrix.set( + addItem( + Transdimensional_Alignment_Matrix.ID, + "Transdimensional Alignment Matrix", + String.join( + "/n ", + "Device supporting the alignment of transdimensional spaces.", + "Enables Dimensional Convergence on the DTPF."), + o)); + + ItemList.Thermal_Superconductor + .set(addItem(Thermal_Superconductor.ID, "Thermal Superconductor", "With the power of second sound!", o)); + ItemList.Relativistic_Heat_Capacitor + .set(addItem(Relativistic_Heat_Capacitor.ID, "Relativistic Heat Capacitor", "Thermal Resonance?", o)); + ItemList.Phononic_Seed_Crystal + .set(addItem(Phononic_Seed_Crystal.ID, "Phononic Seed Crystal", "Perfect Thermal Conductance", o)); + + ItemList.White_Dwarf_Shape_Extruder_Plate.set( + addItem( + White_Dwarf_Shape_Extruder_Plate.ID, + "White Dwarf Extruder Shape (Plate)", + "Ultra Strong Stellar Shape for making Plates")); + ItemList.White_Dwarf_Shape_Extruder_Rod.set( + addItem( + White_Dwarf_Shape_Extruder_Rod.ID, + "White Dwarf Extruder Shape (Rod)", + "Ultra Strong Stellar Shape for making Rods")); + ItemList.White_Dwarf_Shape_Extruder_Bolt.set( + addItem( + White_Dwarf_Shape_Extruder_Bolt.ID, + "White Dwarf Extruder Shape (Bolt)", + "Ultra Strong Stellar Shape for making Bolts")); + ItemList.White_Dwarf_Shape_Extruder_Ring.set( + addItem( + White_Dwarf_Shape_Extruder_Ring.ID, + "White Dwarf Extruder Shape (Ring)", + "Ultra Strong Stellar Shape for making Rings")); + ItemList.White_Dwarf_Shape_Extruder_Cell.set( + addItem( + White_Dwarf_Shape_Extruder_Cell.ID, + "White Dwarf Extruder Shape (Cell)", + "Ultra Strong Stellar Shape for making Cells")); + ItemList.White_Dwarf_Shape_Extruder_Ingot.set( + addItem( + White_Dwarf_Shape_Extruder_Ingot.ID, + "White Dwarf Extruder Shape (Ingot)", + "Ultra Strong Stellar Shape for, wait, can't we just use a Furnace?")); + ItemList.White_Dwarf_Shape_Extruder_Wire.set( + addItem( + White_Dwarf_Shape_Extruder_Wire.ID, + "White Dwarf Extruder Shape (Wire)", + "Ultra Strong Stellar Shape for making Wires")); + ItemList.White_Dwarf_Shape_Extruder_Casing.set( + addItem( + White_Dwarf_Shape_Extruder_Casing.ID, + "White Dwarf Extruder Shape (Casing)", + "Ultra Strong Stellar Shape for making Item Casings")); + ItemList.White_Dwarf_Shape_Extruder_Pipe_Tiny.set( + addItem( + White_Dwarf_Shape_Extruder_Pipe_Tiny.ID, + "White Dwarf Extruder Shape (Tiny Pipe)", + "Ultra Strong Stellar Shape for making tiny Pipes")); + ItemList.White_Dwarf_Shape_Extruder_Pipe_Small.set( + addItem( + White_Dwarf_Shape_Extruder_Pipe_Small.ID, + "White Dwarf Extruder Shape (Small Pipe)", + "Ultra Strong Stellar Shape for making small Pipes")); + ItemList.White_Dwarf_Shape_Extruder_Pipe_Medium.set( + addItem( + White_Dwarf_Shape_Extruder_Pipe_Medium.ID, + "White Dwarf Extruder Shape (Normal Pipe)", + "Ultra Strong Stellar Shape for making Pipes")); + ItemList.White_Dwarf_Shape_Extruder_Pipe_Large.set( + addItem( + White_Dwarf_Shape_Extruder_Pipe_Large.ID, + "White Dwarf Extruder Shape (Large Pipe)", + "Ultra Strong Stellar Shape for making large Pipes")); + ItemList.White_Dwarf_Shape_Extruder_Pipe_Huge.set( + addItem( + White_Dwarf_Shape_Extruder_Pipe_Huge.ID, + "White Dwarf Extruder Shape (Huge Pipe)", + "Ultra Strong Stellar Shape for making full Block Pipes")); + ItemList.White_Dwarf_Shape_Extruder_Block.set( + addItem( + White_Dwarf_Shape_Extruder_Block.ID, + "White Dwarf Extruder Shape (Block)", + "Ultra Strong Stellar Shape for making Blocks")); + ItemList.White_Dwarf_Shape_Extruder_Sword.set( + addItem( + White_Dwarf_Shape_Extruder_Sword.ID, + "White Dwarf Extruder Shape (Sword Blade)", + "Ultra Strong Stellar Shape for making Swords")); + ItemList.White_Dwarf_Shape_Extruder_Pickaxe.set( + addItem( + White_Dwarf_Shape_Extruder_Pickaxe.ID, + "White Dwarf Extruder Shape (Pickaxe Head)", + "Ultra Strong Stellar Shape for making Pickaxes")); + ItemList.White_Dwarf_Shape_Extruder_Shovel.set( + addItem( + White_Dwarf_Shape_Extruder_Shovel.ID, + "White Dwarf Extruder Shape (Shovel Head)", + "Ultra Strong Stellar Shape for making Shovels")); + ItemList.White_Dwarf_Shape_Extruder_Axe.set( + addItem( + White_Dwarf_Shape_Extruder_Axe.ID, + "White Dwarf Extruder Shape (Axe Head)", + "Ultra Strong Stellar Shape for making Axes")); + ItemList.White_Dwarf_Shape_Extruder_Hoe.set( + addItem( + White_Dwarf_Shape_Extruder_Hoe.ID, + "White Dwarf Extruder Shape (Hoe Head)", + "Ultra Strong Stellar Shape for making Hoes")); + ItemList.White_Dwarf_Shape_Extruder_Hammer.set( + addItem( + White_Dwarf_Shape_Extruder_Hammer.ID, + "White Dwarf Extruder Shape (Hammer Head)", + "Ultra Strong Stellar Shape for making Hammers")); + ItemList.White_Dwarf_Shape_Extruder_File.set( + addItem( + White_Dwarf_Shape_Extruder_File.ID, + "White Dwarf Extruder Shape (File Head)", + "Ultra Strong Stellar Shape for making Files")); + ItemList.White_Dwarf_Shape_Extruder_Saw.set( + addItem( + White_Dwarf_Shape_Extruder_Saw.ID, + "White Dwarf Extruder Shape (Saw Blade)", + "Ultra Strong Stellar Shape for making Saws")); + ItemList.White_Dwarf_Shape_Extruder_Gear.set( + addItem( + White_Dwarf_Shape_Extruder_Gear.ID, + "White Dwarf Extruder Shape (Gear)", + "Ultra Strong Stellar Shape for making Gears")); + ItemList.White_Dwarf_Shape_Extruder_Bottle.set( + addItem( + White_Dwarf_Shape_Extruder_Bottle.ID, + "White Dwarf Extruder Shape (Bottle)", + "Ultra Strong Stellar Shape for making Bottles")); + ItemList.White_Dwarf_Shape_Extruder_Rotor.set( + addItem( + White_Dwarf_Shape_Extruder_Rotor.ID, + "White Dwarf Extruder Shape (Rotor)", + "Ultra Strong Stellar Shape for a Rotor")); + ItemList.White_Dwarf_Shape_Extruder_Small_Gear.set( + addItem( + White_Dwarf_Shape_Extruder_Small_Gear.ID, + "White Dwarf Extruder Shape (Small Gear)", + "Ultra Strong Stellar Shape for a Small Gear")); + ItemList.White_Dwarf_Shape_Extruder_Turbine_Blade.set( + addItem( + White_Dwarf_Shape_Extruder_Turbine_Blade.ID, + "White Dwarf Extruder Shape (Turbine Blade)", + "Ultra Strong Stellar Extruder Shape for a Turbine Blade")); + ItemList.White_Dwarf_Shape_Extruder_ToolHeadDrill.set( + addItem( + White_Dwarf_Shape_Extruder_ToolHeadDrill.ID, + "White Dwarf Extruder Shape (Drill Head)", + "White Dwarf Extruder Shape for a Drill Head")); + registerAllTieredTooltips(); + registerAllAnimatedTooltips(); + initOrePrefixes(); + initOreDictUnificatorEntries(); + registerCovers(); + } + + private void registerAllTieredTooltips() { + registerTieredTooltip(ItemList.NandChip.get(1), ULV); + registerTieredTooltip(ItemList.Circuit_Integrated_Good.get(1), MV); + registerTieredTooltip(ItemList.Circuit_Microprocessor.get(1), LV); + registerTieredTooltip(ItemList.Circuit_Processor.get(1), MV); + registerTieredTooltip(ItemList.Circuit_Nanoprocessor.get(1), HV); + registerTieredTooltip(ItemList.Circuit_Nanocomputer.get(1), EV); + registerTieredTooltip(ItemList.Circuit_Elitenanocomputer.get(1), IV); + registerTieredTooltip(ItemList.Circuit_Quantumprocessor.get(1), EV); + registerTieredTooltip(ItemList.Circuit_Quantumcomputer.get(1), IV); + registerTieredTooltip(ItemList.Circuit_Masterquantumcomputer.get(1), LuV); + registerTieredTooltip(ItemList.Circuit_Quantummainframe.get(1), ZPM); + registerTieredTooltip(ItemList.Circuit_Crystalprocessor.get(1), IV); + registerTieredTooltip(ItemList.Circuit_Crystalcomputer.get(1), LuV); + registerTieredTooltip(ItemList.Circuit_Ultimatecrystalcomputer.get(1), ZPM); + registerTieredTooltip(ItemList.Circuit_Crystalmainframe.get(1), UV); + registerTieredTooltip(ItemList.Circuit_Neuroprocessor.get(1), LuV); + registerTieredTooltip(ItemList.Circuit_Wetwarecomputer.get(1), ZPM); + registerTieredTooltip(ItemList.Circuit_Wetwaresupercomputer.get(1), UV); + registerTieredTooltip(ItemList.Circuit_Wetwaremainframe.get(1), UHV); + registerTieredTooltip(ItemList.Circuit_Bioprocessor.get(1), ZPM); + registerTieredTooltip(ItemList.Circuit_Biowarecomputer.get(1), UV); + registerTieredTooltip(ItemList.Circuit_Biowaresupercomputer.get(1), UHV); + registerTieredTooltip(ItemList.Circuit_Biomainframe.get(1), UEV); + registerTieredTooltip(ItemList.Circuit_OpticalProcessor.get(1), UV); + registerTieredTooltip(ItemList.Circuit_OpticalAssembly.get(1), UHV); + registerTieredTooltip(ItemList.Circuit_OpticalComputer.get(1), UEV); + registerTieredTooltip(ItemList.Circuit_OpticalMainframe.get(1), UIV); + registerTieredTooltip(ItemList.Circuit_ExoticProcessor.get(1), UHV); + registerTieredTooltip(ItemList.Circuit_ExoticAssembly.get(1), UEV); + registerTieredTooltip(ItemList.Circuit_ExoticComputer.get(1), UIV); + registerTieredTooltip(ItemList.Circuit_ExoticMainframe.get(1), UMV); + registerTieredTooltip(ItemList.Circuit_CosmicProcessor.get(1), UEV); + registerTieredTooltip(ItemList.Circuit_CosmicAssembly.get(1), UIV); + registerTieredTooltip(ItemList.Circuit_CosmicComputer.get(1), UMV); + registerTieredTooltip(ItemList.Circuit_CosmicMainframe.get(1), UXV); + registerTieredTooltip(ItemList.Circuit_TranscendentProcessor.get(1), UIV); + registerTieredTooltip(ItemList.Circuit_TranscendentAssembly.get(1), UMV); + registerTieredTooltip(ItemList.Circuit_TranscendentComputer.get(1), UXV); + registerTieredTooltip(ItemList.Circuit_TranscendentMainframe.get(1), MAX); + } + + private void registerAllAnimatedTooltips() { + addItemTooltip(ItemList.Transdimensional_Alignment_Matrix.get(1), GTValues.AuthorCloud); + } + + private void initOreDictUnificatorEntries() { + GTOreDictUnificator + .set(OrePrefixes.componentCircuit, Materials.Resistor, ItemList.Circuit_Parts_Resistor.get(1L)); + GTOreDictUnificator.set(OrePrefixes.componentCircuit, Materials.Diode, ItemList.Circuit_Parts_Diode.get(1L)); + GTOreDictUnificator + .set(OrePrefixes.componentCircuit, Materials.Transistor, ItemList.Circuit_Parts_Transistor.get(1L)); + GTOreDictUnificator.set(OrePrefixes.componentCircuit, Materials.Inductor, ItemList.Circuit_Parts_Coil.get(1L)); + GTOreDictUnificator + .set(OrePrefixes.componentCircuit, Materials.Capacitor, ItemList.Circuit_Parts_Capacitor.get(1L)); + + GTOreDictUnificator.addAssociation( + OrePrefixes.componentCircuit, + Materials.Resistor, + ItemList.Circuit_Parts_ResistorSMD.get(1L), + true); + GTOreDictUnificator.addAssociation( + OrePrefixes.componentCircuit, + Materials.Diode, + ItemList.Circuit_Parts_DiodeSMD.get(1L), + true); + GTOreDictUnificator.addAssociation( + OrePrefixes.componentCircuit, + Materials.Transistor, + ItemList.Circuit_Parts_TransistorSMD.get(1L), + true); + GTOreDictUnificator.addAssociation( + OrePrefixes.componentCircuit, + Materials.Capacitor, + ItemList.Circuit_Parts_CapacitorSMD.get(1L), + true); + GTOreDictUnificator.addAssociation( + OrePrefixes.componentCircuit, + Materials.Inductor, + ItemList.Circuit_Parts_InductorSMD.get(1L), + true); + + } + + private void initOrePrefixes() { + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_Acceleration_1.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_Acceleration_2.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_Acceleration_3.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_Acceleration_4.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_Acceleration_5.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_Acceleration_6.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_Acceleration_7.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_Acceleration_8.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_Acceleration_8_Upgraded.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_PRODUCTION.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_PLAINS.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_LIGHT.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_FLOWERING.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_WINTER.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_DRYER.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_AUTOMATION.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_HUMIDIFIER.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_HELL.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_POLLEN.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_DESERT.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_COOLER.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_LIFESPAN.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_SEAL.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_STABILIZER.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_JUNGLE.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_TERRITORY.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_OCEAN.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_SKY.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_HEATER.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_SIEVE.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_UNLIGHT.get(1L)); + } + + private void registerCovers() { + GregTechAPI.registerCover( + ItemList.Cover_Metrics_Transmitter.get(1L), + TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(OVERLAY_METRICS_TRANSMITTER)), + new CoverMetricsTransmitter(TextureFactory.of(OVERLAY_METRICS_TRANSMITTER))); + GregTechAPI.registerCover( + ItemList.Cover_SolarPanel_UHV.get(1L), + TextureFactory.of(SOLARPANEL_UHV), + new CoverSolarPanel(2097152)); + GregTechAPI.registerCover( + ItemList.Cover_SolarPanel_UEV.get(1L), + TextureFactory.of(SOLARPANEL_UEV), + new CoverSolarPanel(8388608)); + GregTechAPI.registerCover( + ItemList.Cover_SolarPanel_UIV.get(1L), + TextureFactory.of(SOLARPANEL_UIV), + new CoverSolarPanel(33554432)); + } + + @Override + public boolean doesShowInCreative(OrePrefixes aPrefix, Materials aMaterial, boolean aDoShowAllItems) { + return aDoShowAllItems || (aPrefix.toString() + .toLowerCase() + .contains("nanite")) + || (aPrefix.toString() + .toLowerCase() + .contains("rawore")); + } +} diff --git a/src/main/java/gregtech/common/items/MetaGeneratedItem98.java b/src/main/java/gregtech/common/items/MetaGeneratedItem98.java new file mode 100644 index 0000000000..875b7f7b5a --- /dev/null +++ b/src/main/java/gregtech/common/items/MetaGeneratedItem98.java @@ -0,0 +1,352 @@ +package gregtech.common.items; + +import java.util.Arrays; +import java.util.EnumMap; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +import javax.annotation.Nullable; + +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidContainerRegistry; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.interfaces.IIconContainer; +import gregtech.api.items.MetaGeneratedItem; +import gregtech.api.util.GTLanguageManager; +import gregtech.api.util.GTModHandler; +import gregtech.api.util.GTOreDictUnificator; +import gregtech.api.util.GTUtil; +import gregtech.api.util.GTUtility; + +/** This class holds cells for non-GT fluids. */ +public class MetaGeneratedItem98 extends MetaGeneratedItem { + + public static MetaGeneratedItem98 INSTANCE; + + /** + * Registered fluids. + * + *

+ * When adding a fluid, don't forget to make sure that GregTech loads after the mod that adds that fluid! + * + *

+ * In order to avoid breaking existing worlds, fluids must not have their IDs changed! The only safe modification + * that can be made to this enum is adding new fluids, or removing existing fluids. When removing fluids, maybe + * leave a comment mentioning the old ID, so that we don't re-use it for a new fluid. + */ + public enum FluidCell { + // Next unused ID: 32 + + // GregTech + DRILLING_FLUID(5, "liquid_drillingfluid", CellType.REGULAR), + SQUID_INK(6, "squidink", CellType.SMALL), + BLUE_VITRIOL(22, "solution.bluevitriol", CellType.REGULAR), + NICKEL_SULFATE(23, "solution.nickelsulfate", CellType.REGULAR), + GREEN_VITRIOL(24, "solution.greenvitriol", CellType.REGULAR), + INDIUM_CONCENTRATE(25, "indiumconcentrate", CellType.REGULAR), + LEAD_ZINC_SOLUTION(26, "leadzincsolution", CellType.REGULAR), + + // New Horizons Core Mod + UNKNOWN_NUTRIENT_AGAR(7, "unknownnutrientagar", CellType.REGULAR), + SEAWEED_BROTH(8, "seaweedbroth", CellType.REGULAR), + SUPER_HEAVY_RADOX(28, "superheavyradox", CellType.REGULAR), + HEAVY_RADOX(29, "heavyradox", CellType.REGULAR), + CRACKED_RADOX(30, "crackedradox", CellType.REGULAR), + LIGHT_RADOX(31, "lightradox", CellType.REGULAR), + SUPER_LIGHT_RADOX(9, "superlightradox", CellType.REGULAR), + SODIUM_POTASSIUM(18, "sodiumpotassium", CellType.REGULAR), + ENRICHED_BACTERIAL_SLUDGE(19, "enrichedbacterialsludge", CellType.REGULAR), + FERMENTED_BACTERIAL_SLUDGE(20, "fermentedbacterialsludge", CellType.REGULAR), + POLLUTION(21, "pollution", CellType.REGULAR), + XENOXENE(27, "xenoxene", CellType.REGULAR), + + // BartWorks + ENZYME_SOLUTION(10, "enzymessollution", CellType.REGULAR), + ESCHERICHIA_COLI_FLUID(11, "escherichiakolifluid", CellType.REGULAR), + PENICILLIN(12, "penicillin", CellType.REGULAR), + FLUORESCENT_DNA(13, "fluorecentddna", CellType.REGULAR), + POLYMERASE(17, "polymerase", CellType.REGULAR), + + // Good Generator + COMBUSTION_PROMOTER(14, "combustionpromotor", CellType.REGULAR), + + // Galacticraft + BACTERIAL_SLUDGE(1, "bacterialsludge", CellType.REGULAR), + + // Railcraft + STEAM(0, "steam", CellType.REGULAR), + + // Gendustry + BACTERIA(15, "binnie.bacteria", CellType.REGULAR), + MUTAGEN(2, "mutagen", CellType.REGULAR), + LIQUID_DNA(16, "liquiddna", CellType.REGULAR), + + // Tinker's Construct + LIQUID_ENDER(3, "ender", CellType.REGULAR), + + // Hardcore Ender Expansion + ENDER_GOO(4, "endergoo", CellType.REGULAR),; + + private final int mId; + /** This is the Forge internal fluid name. */ + private final String mfluidName; + + private final CellType mType; + + @Nullable + private ItemStack mStack; + + FluidCell(int aId, String aFluidName, CellType aType) { + mId = aId; + mfluidName = aFluidName; + mType = aType; + } + + public int getId() { + return mId; + } + + public String getFluidName() { + return mfluidName; + } + + public CellType getDisplayType() { + return mType; + } + + /** + * Get a copy of this stack with stack size 1. + *

+ * Always returns non-null stack even if the fluid referenced doesn't exist, so don't assume it's always valid. + */ + public ItemStack get() { + trySetStack(); + return GTUtility.copy(mStack); + } + + /** + * Get a copy of this cell WITHOUT copy. + *

+ * Always returns non-null stack even if the fluid referenced doesn't exist, so don't assume it's always valid. + *

+ * Use with caution. + */ + public ItemStack getNoCopy() { + trySetStack(); + return mStack; + } + + /** + * Get a copy of this cell with specified stack size. + *

+ * Always returns non-null stack even if the fluid referenced doesn't exist, so don't assume it's always valid. + */ + public ItemStack get(int aStackSize) { + trySetStack(); + return GTUtility.copyAmount(aStackSize, mStack); + } + + private void trySetStack() { + if (mStack == null) { + mStack = new ItemStack(MetaGeneratedItem98.INSTANCE, 1, mId); + } + } + } + + /** Cell type specifies the cell capacity, appearance, and item name format. */ + private enum CellType { + + REGULAR(1_000, OrePrefixes.cell), + SMALL(144, OrePrefixes.cell), + MOLTEN(144, OrePrefixes.cellMolten), + PLASMA(1_000, OrePrefixes.cellPlasma); + + private final int capacity; + private final OrePrefixes prefix; + + CellType(int capacity, OrePrefixes prefix) { + this.capacity = capacity; + this.prefix = prefix; + } + } + + /** Struct class holding data that we need to properly handle a registered fluid cell item. */ + private static class RegisteredFluidData { + + private final short[] rgba; + private final IIconContainer iconContainer; + + private RegisteredFluidData(short[] rgba, IIconContainer iconContainer) { + this.rgba = rgba; + this.iconContainer = iconContainer; + } + } + + /** + * Map of ID to registered fluid data. + * + *

+ * Only contains IDs that were successfully registered. + */ + private final Map registeredFluidDataMap; + + private final EnumMap iconContainerMap; + + private MetaGeneratedItem98() { + // For some reason, fluid cells will be rendered only if the metadata ID is less than the + // offset. So we will specify maximum offset here. + // See: GT_MetaGenerated_Item_Renderer.java + super("metaitem.98", (short) 32766, (short) 0); + + registeredFluidDataMap = new HashMap<>(); + iconContainerMap = new EnumMap<>(CellType.class); + } + + /** + * Loading needs to happen after the fluids we need have been registered, which means during post-load. However, + * cell icons seem to be deleted some time between load and post-load, so we must pre-cache them. + */ + public static synchronized void preInit() { + if (INSTANCE == null) INSTANCE = new MetaGeneratedItem98(); + + // We'll just steal the icons from Water. They are all the same anyway (except _NULL is broken for cells). + for (CellType cellType : CellType.values()) { + IIconContainer iconContainer = Materials.Water.mIconSet.mTextures[cellType.prefix.mTextureIndex]; + INSTANCE.iconContainerMap.put(cellType, iconContainer); + } + } + + public static synchronized void init() { + INSTANCE.createAllItems(); + INSTANCE.registerOreDict(); + } + + private void createAllItems() { + for (FluidCell tCell : FluidCell.values()) { + tryToInitialize(tCell); + } + + // We're not going to use these BitSets, so clear them to save memory. + mEnabledItems.clear(); + mVisibleItems.clear(); + } + + private void tryToInitialize(FluidCell aCell) { + final boolean isStackAlreadySet = aCell.mStack != null; + + int id = aCell.getId(); + String fluidName = aCell.getFluidName(); + CellType cellType = aCell.getDisplayType(); + + // We'll check for ID uniqueness. Better to throw an exception than silently overwrite some + // fluid cells with other fluids due to ID collision. + if (registeredFluidDataMap.containsKey(id)) { + throw new IllegalStateException("Got ID collision for ID: " + id); + } + + aCell.trySetStack(); + + Fluid fluid = FluidRegistry.getFluid(fluidName); + if (fluid == null) { + // The fluid is not guaranteed to exist. + // These fluids are non-GT fluids, so the mod may not be present. + if (isStackAlreadySet) { + throw new RuntimeException( + "Cell item for fluid " + fluidName + + " has already been created, but the fluid doesn't exist during postload"); + } else { + // fluid doesn't exist and this item has not been referenced + return; + } + } + + FluidStack fluidStack = new FluidStack(fluid, cellType.capacity); + + ItemStack emptyCell = ItemList.Cell_Empty.get(1L); + FluidContainerRegistry + .registerFluidContainer(new FluidContainerRegistry.FluidContainerData(fluidStack, aCell.mStack, emptyCell)); + + GTLanguageManager.addStringLocalization( + getUnlocalizedName(aCell.mStack) + ".name", + cellType.prefix.mLocalizedMaterialPre + fluid.getLocalizedName(fluidStack) + + cellType.prefix.mLocalizedMaterialPost); + + int color = fluid.getColor(); + short[] rgba = GTUtil.getRGBaArray(color); + + registeredFluidDataMap.put(id, new RegisteredFluidData(rgba, iconContainerMap.get(cellType))); + } + + private void registerOreDict() { + // The GregTech ore dictionary requires an entry in the Materials enum, and since the whole + // point of this class is to add cell items for non-GregTech fluids, the vast majority of + // cell items won't have an associated material. So only a rare few cell items will need to + // be registered. + + // Register IC2 steam cell and Railcraft steam cell as synonyms. + // There is no steam material, so we'll use Water.cellMolten instead. + GTOreDictUnificator.add(OrePrefixes.cellMolten, Materials.Water, GTModHandler.getIC2Item("steamCell", 1L)); + GTOreDictUnificator.add(OrePrefixes.cellMolten, Materials.Water, FluidCell.STEAM.getNoCopy()); + } + + @Override + public short[] getRGBa(ItemStack aStack) { + RegisteredFluidData fluidData = registeredFluidDataMap.get(aStack.getItemDamage()); + if (fluidData == null) { + return Materials._NULL.mRGBa; + } + + return fluidData.rgba; + } + + @Override + public ItemStack getContainerItem(ItemStack aStack) { + return ItemList.Cell_Empty.get(1L); + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(Item aItem, CreativeTabs aCreativeTab, List aList) { + Arrays.stream(FluidCell.values()) + .filter(fluid -> FluidRegistry.getFluid(fluid.getFluidName()) != null) + .map(FluidCell::get) + .filter(Objects::nonNull) + .forEach(aList::add); + } + + @Override + public final IIcon getIconFromDamage(int aMetaData) { + IIconContainer iconContainer = getIconContainer(aMetaData); + if (iconContainer != null) { + return iconContainer.getIcon(); + } + return null; + } + + @Override + public IIconContainer getIconContainer(int aMetaData) { + RegisteredFluidData fluidData = registeredFluidDataMap.get(aMetaData); + if (fluidData == null) { + return null; + } + return fluidData.iconContainer; + } + + @Override + public int getItemStackLimit(ItemStack aStack) { + return 64; + } +} diff --git a/src/main/java/gregtech/common/items/MetaGeneratedItem99.java b/src/main/java/gregtech/common/items/MetaGeneratedItem99.java new file mode 100644 index 0000000000..e776a5eb26 --- /dev/null +++ b/src/main/java/gregtech/common/items/MetaGeneratedItem99.java @@ -0,0 +1,214 @@ +package gregtech.common.items; + +import static gregtech.api.enums.GTValues.M; +import static gregtech.api.enums.OrePrefixes.cellMolten; + +import java.util.BitSet; +import java.util.List; + +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +import com.google.common.collect.ImmutableList; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gregtech.api.GregTechAPI; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.SubTag; +import gregtech.api.interfaces.IIconContainer; +import gregtech.api.items.MetaGeneratedItem; +import gregtech.api.util.GTLanguageManager; +import gregtech.api.util.GTOreDictUnificator; + +public class MetaGeneratedItem99 extends MetaGeneratedItem { + + public static MetaGeneratedItem99 INSTANCE; + + /** + * Ore prefixes appear in this list in the order in which they will be assigned ID blocks. + * + *

+ * In order to avoid breaking existing worlds, the entries in this list must not be re-ordered! The only safe + * modification that can be made to this list is adding new entries to the end. + */ + private static final ImmutableList CRACKED_CELL_TYPES = ImmutableList.of( + OrePrefixes.cellHydroCracked1, + OrePrefixes.cellHydroCracked2, + OrePrefixes.cellHydroCracked3, + OrePrefixes.cellSteamCracked1, + OrePrefixes.cellSteamCracked2, + OrePrefixes.cellSteamCracked3); + + private static final int NUM_CRACKED_CELL_TYPES = CRACKED_CELL_TYPES.size(); + + /** + * Assignment of metadata IDs: 0 - 999: Molten cells 10_000 - 15_999: Cracked fluid cells (# IDs used is + * NUM_CRACKED_CELL_TYPES * 1_000; update this if you add any) + */ + private final BitSet enabled = new BitSet(); + + public MetaGeneratedItem99() { + super("metaitem.99", (short) (10_000 + NUM_CRACKED_CELL_TYPES * 1_000), (short) 0); + + INSTANCE = this; + + for (Materials tMaterial : GregTechAPI.sGeneratedMaterials) { + if (tMaterial == null || tMaterial.mMetaItemSubID < 0 || tMaterial.mMetaItemSubID >= 1_000) { + continue; + } + + if ((tMaterial.contains(SubTag.SMELTING_TO_FLUID)) && (!tMaterial.contains(SubTag.NO_SMELTING)) + && !tMaterial.contains(SubTag.SMELTING_TO_GEM)) { + registerMolten(tMaterial, tMaterial.mMetaItemSubID); + if (tMaterial.mSmeltInto != tMaterial && tMaterial.mSmeltInto.mMetaItemSubID >= 0 + && tMaterial.mSmeltInto.mMetaItemSubID < 1_000) { + registerMolten(tMaterial.mSmeltInto, tMaterial.mSmeltInto.mMetaItemSubID); + } + } + + if (tMaterial.canBeCracked()) { + registerCracked(tMaterial, tMaterial.mMetaItemSubID); + } + } + + // We're not going to use these BitSets, so clear them to save memory. + mEnabledItems.clear(); + mVisibleItems.clear(); + } + + private void registerMolten(Materials tMaterial, int i) { + ItemStack tStack = new ItemStack(this, 1, i); + enabled.set(i); + + GTLanguageManager.addStringLocalization( + getUnlocalizedName(tStack) + ".name", + cellMolten.getDefaultLocalNameFormatForItem(tMaterial)); + GTLanguageManager.addStringLocalization( + getUnlocalizedName(tStack) + ".tooltip", + tMaterial.getToolTip(cellMolten.mMaterialAmount / M)); + + if (cellMolten.mIsUnificatable) { + GTOreDictUnificator.set(cellMolten, tMaterial, tStack); + } else { + GTOreDictUnificator.registerOre(cellMolten.get(tMaterial), tStack); + } + } + + private void registerCracked(Materials tMaterial, int i) { + int offset = 10_000; + for (OrePrefixes prefix : CRACKED_CELL_TYPES) { + ItemStack tStack = new ItemStack(this, 1, offset + i); + enabled.set(offset + i); + + GTLanguageManager.addStringLocalization( + getUnlocalizedName(tStack) + ".name", + prefix.getDefaultLocalNameFormatForItem(tMaterial)); + GTLanguageManager.addStringLocalization( + getUnlocalizedName(tStack) + ".tooltip", + tMaterial.getToolTip(prefix.mMaterialAmount / M)); + + if (prefix.mIsUnificatable) { + GTOreDictUnificator.set(prefix, tMaterial, tStack); + } else { + GTOreDictUnificator.registerOre(prefix.get(tMaterial), tStack); + } + + offset += 1_000; + } + } + + /** Returns null for item damage out of bounds. */ + private Materials getMaterial(int damage) { + if (damage < 0) { + return null; + } + return GregTechAPI.sGeneratedMaterials[damage % 1_000]; + } + + /** Returns null for item damage out of bounds. */ + private OrePrefixes getOrePrefix(int damage) { + if (damage < 0) { + return null; + } else if (damage < 1_000) { + return cellMolten; + } else if (damage >= 10_000 && damage < 10_000 + (NUM_CRACKED_CELL_TYPES * 1_000)) { + return CRACKED_CELL_TYPES.get((damage / 1_000) - 10); + } + return null; + } + + @Override + public short[] getRGBa(ItemStack aStack) { + OrePrefixes prefix = getOrePrefix(aStack.getItemDamage()); + Materials material = getMaterial(aStack.getItemDamage()); + if (material == null) { + material = Materials._NULL; + } + + if (prefix == cellMolten) { + return material.mMoltenRGBa; + } else { + return material.mRGBa; + } + } + + @Override + public String getItemStackDisplayName(ItemStack aStack) { + String aName = super.getItemStackDisplayName(aStack); + Materials material = getMaterial(aStack.getItemDamage()); + if (material != null) { + return material.getLocalizedNameForItem(aName); + } + return aName; + } + + @Override + public ItemStack getContainerItem(ItemStack aStack) { + OrePrefixes prefix = getOrePrefix(aStack.getItemDamage()); + if (prefix != null) { + return prefix.mContainerItem; + } + return null; + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(Item aItem, CreativeTabs aCreativeTab, List aList) { + enabled.stream() + .mapToObj(i -> new ItemStack(this, 1, i)) + .forEach(aList::add); + } + + @Override + public final IIcon getIconFromDamage(int aMetaData) { + IIconContainer iconContainer = getIconContainer(aMetaData); + if (iconContainer != null) { + return iconContainer.getIcon(); + } + return null; + } + + @Override + public IIconContainer getIconContainer(int aMetaData) { + Materials material = getMaterial(aMetaData); + OrePrefixes prefix = getOrePrefix(aMetaData); + if (material != null && prefix != null) { + return material.mIconSet.mTextures[prefix.mTextureIndex]; + } + return null; + } + + @Override + public int getItemStackLimit(ItemStack aStack) { + OrePrefixes prefix = getOrePrefix(aStack.getItemDamage()); + if (prefix != null) { + return prefix.mDefaultStackSize; + } else { + return 64; + } + } +} diff --git a/src/main/java/gregtech/common/items/MetaGeneratedTool01.java b/src/main/java/gregtech/common/items/MetaGeneratedTool01.java new file mode 100644 index 0000000000..11c3fa104e --- /dev/null +++ b/src/main/java/gregtech/common/items/MetaGeneratedTool01.java @@ -0,0 +1,738 @@ +package gregtech.common.items; + +import static gregtech.common.items.IDMetaTool01.AXE; +import static gregtech.common.items.IDMetaTool01.BRANCHCUTTER; +import static gregtech.common.items.IDMetaTool01.BUTCHERYKNIFE; +import static gregtech.common.items.IDMetaTool01.BUZZSAW_HV; +import static gregtech.common.items.IDMetaTool01.BUZZSAW_LV; +import static gregtech.common.items.IDMetaTool01.BUZZSAW_MV; +import static gregtech.common.items.IDMetaTool01.CHAINSAW_HV; +import static gregtech.common.items.IDMetaTool01.CHAINSAW_LV; +import static gregtech.common.items.IDMetaTool01.CHAINSAW_MV; +import static gregtech.common.items.IDMetaTool01.CROWBAR; +import static gregtech.common.items.IDMetaTool01.DRILL_HV; +import static gregtech.common.items.IDMetaTool01.DRILL_LV; +import static gregtech.common.items.IDMetaTool01.DRILL_MV; +import static gregtech.common.items.IDMetaTool01.FILE; +import static gregtech.common.items.IDMetaTool01.HARDHAMMER; +import static gregtech.common.items.IDMetaTool01.HOE; +import static gregtech.common.items.IDMetaTool01.JACKHAMMER; +import static gregtech.common.items.IDMetaTool01.KNIFE; +import static gregtech.common.items.IDMetaTool01.MORTAR; +import static gregtech.common.items.IDMetaTool01.PICKAXE; +import static gregtech.common.items.IDMetaTool01.PLOW; +import static gregtech.common.items.IDMetaTool01.PLUNGER; +import static gregtech.common.items.IDMetaTool01.POCKET_BRANCHCUTTER; +import static gregtech.common.items.IDMetaTool01.POCKET_FILE; +import static gregtech.common.items.IDMetaTool01.POCKET_KNIFE; +import static gregtech.common.items.IDMetaTool01.POCKET_MULTITOOL; +import static gregtech.common.items.IDMetaTool01.POCKET_SAW; +import static gregtech.common.items.IDMetaTool01.POCKET_SCREWDRIVER; +import static gregtech.common.items.IDMetaTool01.POCKET_WIRECUTTER; +import static gregtech.common.items.IDMetaTool01.ROLLING_PIN; +import static gregtech.common.items.IDMetaTool01.SAW; +import static gregtech.common.items.IDMetaTool01.SCOOP; +import static gregtech.common.items.IDMetaTool01.SCREWDRIVER; +import static gregtech.common.items.IDMetaTool01.SCREWDRIVER_HV; +import static gregtech.common.items.IDMetaTool01.SCREWDRIVER_LV; +import static gregtech.common.items.IDMetaTool01.SCREWDRIVER_MV; +import static gregtech.common.items.IDMetaTool01.SENSE; +import static gregtech.common.items.IDMetaTool01.SHOVEL; +import static gregtech.common.items.IDMetaTool01.SOFTMALLET; +import static gregtech.common.items.IDMetaTool01.SOLDERING_IRON_HV; +import static gregtech.common.items.IDMetaTool01.SOLDERING_IRON_LV; +import static gregtech.common.items.IDMetaTool01.SOLDERING_IRON_MV; +import static gregtech.common.items.IDMetaTool01.SWORD; +import static gregtech.common.items.IDMetaTool01.TURBINE; +import static gregtech.common.items.IDMetaTool01.TURBINE_HUGE; +import static gregtech.common.items.IDMetaTool01.TURBINE_LARGE; +import static gregtech.common.items.IDMetaTool01.TURBINE_SMALL; +import static gregtech.common.items.IDMetaTool01.UNIVERSALSPADE; +import static gregtech.common.items.IDMetaTool01.WIRECUTTER; +import static gregtech.common.items.IDMetaTool01.WRENCH; +import static gregtech.common.items.IDMetaTool01.WRENCH_HV; +import static gregtech.common.items.IDMetaTool01.WRENCH_LV; +import static gregtech.common.items.IDMetaTool01.WRENCH_MV; + +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +import gregtech.api.GregTechAPI; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TCAspects; +import gregtech.api.enums.ToolDictNames; +import gregtech.api.items.MetaGeneratedTool; +import gregtech.api.util.GTModHandler; +import gregtech.api.util.GTOreDictUnificator; +import gregtech.common.tools.ToolAxe; +import gregtech.common.tools.ToolBranchCutter; +import gregtech.common.tools.ToolButcheryKnife; +import gregtech.common.tools.ToolBuzzSaw; +import gregtech.common.tools.ToolChainsawHV; +import gregtech.common.tools.ToolChainsawLV; +import gregtech.common.tools.ToolChainsawMV; +import gregtech.common.tools.ToolCrowbar; +import gregtech.common.tools.ToolDrillHV; +import gregtech.common.tools.ToolDrillLV; +import gregtech.common.tools.ToolDrillMV; +import gregtech.common.tools.ToolFile; +import gregtech.common.tools.ToolHardHammer; +import gregtech.common.tools.ToolHoe; +import gregtech.common.tools.ToolJackHammer; +import gregtech.common.tools.ToolKnife; +import gregtech.common.tools.ToolMortar; +import gregtech.common.tools.ToolPickaxe; +import gregtech.common.tools.ToolPlow; +import gregtech.common.tools.ToolPlunger; +import gregtech.common.tools.ToolRollingPin; +import gregtech.common.tools.ToolSaw; +import gregtech.common.tools.ToolScoop; +import gregtech.common.tools.ToolScrewdriver; +import gregtech.common.tools.ToolScrewdriverLV; +import gregtech.common.tools.ToolSense; +import gregtech.common.tools.ToolShovel; +import gregtech.common.tools.ToolSoftHammer; +import gregtech.common.tools.ToolSolderingIron; +import gregtech.common.tools.ToolSword; +import gregtech.common.tools.ToolTurbineHuge; +import gregtech.common.tools.ToolTurbineLarge; +import gregtech.common.tools.ToolTurbineNormal; +import gregtech.common.tools.ToolTurbineSmall; +import gregtech.common.tools.ToolUniversalSpade; +import gregtech.common.tools.ToolWireCutter; +import gregtech.common.tools.ToolWrench; +import gregtech.common.tools.ToolWrenchHV; +import gregtech.common.tools.ToolWrenchLV; +import gregtech.common.tools.ToolWrenchMV; +import gregtech.common.tools.pocket.ToolPocketBranchCutter; +import gregtech.common.tools.pocket.ToolPocketFile; +import gregtech.common.tools.pocket.ToolPocketKnife; +import gregtech.common.tools.pocket.ToolPocketMultitool; +import gregtech.common.tools.pocket.ToolPocketSaw; +import gregtech.common.tools.pocket.ToolPocketScrewdriver; +import gregtech.common.tools.pocket.ToolPocketWireCutter; + +public class MetaGeneratedTool01 extends MetaGeneratedTool { + + public static MetaGeneratedTool01 INSTANCE; + + public MetaGeneratedTool01() { + super("metatool.01"); + INSTANCE = this; + addTool( + SWORD.ID, + "Sword", + "", + new ToolSword(), + ToolDictNames.craftingToolSword, + ToolDictNames.craftingToolBlade, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.TELUM, 4L)); + addTool( + PICKAXE.ID, + "Pickaxe", + "", + new ToolPickaxe(), + ToolDictNames.craftingToolPickaxe, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.PERFODIO, 4L)); + addTool( + SHOVEL.ID, + "Shovel", + "", + new ToolShovel(), + ToolDictNames.craftingToolShovel, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.PERFODIO, 4L)); + addTool( + AXE.ID, + "Axe", + "", + new ToolAxe(), + ToolDictNames.craftingToolAxe, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.METO, 2L), + new TCAspects.TC_AspectStack(TCAspects.ARBOR, 2L)); + addTool( + HOE.ID, + "Hoe", + "", + new ToolHoe(), + ToolDictNames.craftingToolHoe, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.MESSIS, 4L)); + addTool( + SAW.ID, + "Saw", + "Can also harvest Ice", + new ToolSaw(), + ToolDictNames.craftingToolSaw, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.METO, 2L), + new TCAspects.TC_AspectStack(TCAspects.ARBOR, 2L)); + GregTechAPI.registerTool( + addTool( + HARDHAMMER.ID, + "Hammer", + "Crushes Ores instead of harvesting them", + new ToolHardHammer(), + ToolDictNames.craftingToolHardHammer, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 2L), + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L)), + GregTechAPI.sHardHammerList); + GregTechAPI.registerTool( + addTool( + SOFTMALLET.ID, + "Soft Mallet", + "", + new ToolSoftHammer(), + ToolDictNames.craftingToolSoftHammer, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.LIMUS, 4L)), + GregTechAPI.sSoftHammerList); + GregTechAPI.registerTool( + addTool( + WRENCH.ID, + "Wrench", + "Hold Leftclick to dismantle Machines", + new ToolWrench(), + ToolDictNames.craftingToolWrench, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L)), + GregTechAPI.sWrenchList); + addTool( + FILE.ID, + "File", + "", + new ToolFile(), + ToolDictNames.craftingToolFile, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 2L), + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L)); + GregTechAPI.registerTool( + addTool( + CROWBAR.ID, + "Crowbar", + "Dismounts Covers and Rotates Rails", + new ToolCrowbar(), + ToolDictNames.craftingToolCrowbar, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 2L), + new TCAspects.TC_AspectStack(TCAspects.TELUM, 2L)), + GregTechAPI.sCrowbarList); + GregTechAPI.registerTool( + addTool( + SCREWDRIVER.ID, + "Screwdriver", + "Adjusts Covers and Machines", + new ToolScrewdriver(), + ToolDictNames.craftingToolScrewdriver, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 2L), + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L)), + GregTechAPI.sScrewdriverList); + addTool( + MORTAR.ID, + "Mortar", + "", + new ToolMortar(), + ToolDictNames.craftingToolMortar, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 2L), + new TCAspects.TC_AspectStack(TCAspects.PERDITIO, 2L)); + GregTechAPI.registerTool( + addTool( + WIRECUTTER.ID, + "Wire Cutter", + "", + new ToolWireCutter(), + ToolDictNames.craftingToolWireCutter, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 2L), + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L)), + GregTechAPI.sWireCutterList); + addTool( + SCOOP.ID, + "Scoop", + "", + new ToolScoop(), + ToolDictNames.craftingToolScoop, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.BESTIA, 2L), + new TCAspects.TC_AspectStack(TCAspects.PANNUS, 2L)); + addTool( + BRANCHCUTTER.ID, + "Branch Cutter", + "", + new ToolBranchCutter(), + ToolDictNames.craftingToolBranchCutter, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.METO, 2L), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 2L)); + GregTechAPI.registerTool( + addTool( + UNIVERSALSPADE.ID, + "Universal Spade", + "", + new ToolUniversalSpade(), + ToolDictNames.craftingToolBlade, + ToolDictNames.craftingToolShovel, + ToolDictNames.craftingToolCrowbar, + ToolDictNames.craftingToolSaw, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.TELUM, 1L), + new TCAspects.TC_AspectStack(TCAspects.METO, 1L), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 1L)), + GregTechAPI.sCrowbarList); + addTool( + KNIFE.ID, + "Knife", + "", + new ToolKnife(), + ToolDictNames.craftingToolBlade, + ToolDictNames.craftingToolKnife, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.TELUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.CORPUS, 2L)); + addTool( + BUTCHERYKNIFE.ID, + "Butchery Knife", + "Has a slow Attack Rate", + new ToolButcheryKnife(), + ToolDictNames.craftingToolBlade, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 2L), + new TCAspects.TC_AspectStack(TCAspects.CORPUS, 4L)); + + addTool( + SENSE.ID, + "Sense", + "Because a Scythe doesn't make Sense", + new ToolSense(), + ToolDictNames.craftingToolBlade, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.METO, 2L), + new TCAspects.TC_AspectStack(TCAspects.HERBA, 2L), + new TCAspects.TC_AspectStack(TCAspects.MORTUUS, 2L)); + addTool( + PLOW.ID, + "Plow", + "Used to get rid of Snow", + new ToolPlow(), + ToolDictNames.craftingToolPlow, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.METO, 2L), + new TCAspects.TC_AspectStack(TCAspects.GELUM, 2L)); + addTool( + PLUNGER.ID, + "Plunger", + "", + new ToolPlunger(), + ToolDictNames.craftingToolPlunger, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.VACUOS, 2L), + new TCAspects.TC_AspectStack(TCAspects.ITER, 2L)); + addTool( + ROLLING_PIN.ID, + "Rolling Pin", + "", + new ToolRollingPin(), + ToolDictNames.craftingToolRollingPin, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 2L), + new TCAspects.TC_AspectStack(TCAspects.LIMUS, 4L)); + + addTool( + DRILL_LV.ID, + "Drill (LV)", + "", + new ToolDrillLV(), + ToolDictNames.craftingToolMiningDrill, + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.PERFODIO, 4L)); + addTool( + DRILL_MV.ID, + "Drill (MV)", + "", + new ToolDrillMV(), + ToolDictNames.craftingToolMiningDrill, + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.PERFODIO, 4L)); + addTool( + DRILL_HV.ID, + "Drill (HV)", + "", + new ToolDrillHV(), + ToolDictNames.craftingToolMiningDrill, + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.PERFODIO, 4L)); + addTool( + CHAINSAW_LV.ID, + "Chainsaw (LV)", + "Can also harvest Ice", + new ToolChainsawLV(), + ToolDictNames.craftingToolSaw, + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.METO, 2L), + new TCAspects.TC_AspectStack(TCAspects.ARBOR, 2L)); + addTool( + CHAINSAW_MV.ID, + "Chainsaw (MV)", + "Can also harvest Ice", + new ToolChainsawMV(), + ToolDictNames.craftingToolSaw, + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.METO, 2L), + new TCAspects.TC_AspectStack(TCAspects.ARBOR, 2L)); + addTool( + CHAINSAW_HV.ID, + "Chainsaw (HV)", + "Can also harvest Ice", + new ToolChainsawHV(), + ToolDictNames.craftingToolSaw, + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.METO, 2L), + new TCAspects.TC_AspectStack(TCAspects.ARBOR, 2L)); + GregTechAPI.registerTool( + addTool( + WRENCH_LV.ID, + "Wrench (LV)", + "Hold Left Button to dismantle Machines", + new ToolWrenchLV(), + ToolDictNames.craftingToolWrench, + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 4L), + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L)), + GregTechAPI.sWrenchList); + GregTechAPI.registerTool( + addTool( + WRENCH_MV.ID, + "Wrench (MV)", + "Hold Left Button to dismantle Machines", + new ToolWrenchMV(), + ToolDictNames.craftingToolWrench, + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 4L), + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L)), + GregTechAPI.sWrenchList); + GregTechAPI.registerTool( + addTool( + WRENCH_HV.ID, + "Wrench (HV)", + "Hold Left Button to dismantle Machines", + new ToolWrenchHV(), + ToolDictNames.craftingToolWrench, + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 4L), + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L)), + GregTechAPI.sWrenchList); + GregTechAPI.registerTool( + addTool( + JACKHAMMER.ID, + "JackHammer (HV)", + "Breaks Rocks into pieces", + new ToolJackHammer(), + ToolDictNames.craftingToolJackHammer, + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.PERFODIO, 2L), + new TCAspects.TC_AspectStack(TCAspects.PERDITIO, 2L)), + GregTechAPI.sJackhammerList); + addTool( + BUZZSAW_LV.ID, + "Buzzsaw (LV)", + "Not suitable for harvesting Blocks", + new ToolBuzzSaw(), + ToolDictNames.craftingToolSaw, + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 2L), + new TCAspects.TC_AspectStack(TCAspects.ARBOR, 2L)); + addTool( + BUZZSAW_MV.ID, + "Buzzsaw (MV)", + "Not suitable for harvesting Blocks", + new ToolBuzzSaw(), + ToolDictNames.craftingToolSaw, + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 2L), + new TCAspects.TC_AspectStack(TCAspects.ARBOR, 2L)); + addTool( + BUZZSAW_HV.ID, + "Buzzsaw (HV)", + "Not suitable for harvesting Blocks", + new ToolBuzzSaw(), + ToolDictNames.craftingToolSaw, + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 2L), + new TCAspects.TC_AspectStack(TCAspects.ARBOR, 2L)); + GregTechAPI.registerTool( + addTool( + SCREWDRIVER_LV.ID, + "Screwdriver (LV)", + "Adjusts Covers and Machines", + new ToolScrewdriverLV(), + ToolDictNames.craftingToolScrewdriver, + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 2L), + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L)), + GregTechAPI.sScrewdriverList); + GregTechAPI.registerTool( + addTool( + SCREWDRIVER_MV.ID, + "Screwdriver (MV)", + "Adjusts Covers and Machines", + new ToolScrewdriverLV(), + ToolDictNames.craftingToolScrewdriver, + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 2L), + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L)), + GregTechAPI.sScrewdriverList); + GregTechAPI.registerTool( + addTool( + SCREWDRIVER_HV.ID, + "Screwdriver (HV)", + "Adjusts Covers and Machines", + new ToolScrewdriverLV(), + ToolDictNames.craftingToolScrewdriver, + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 2L), + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L)), + GregTechAPI.sScrewdriverList); + GregTechAPI.registerTool( + addTool( + SOLDERING_IRON_LV.ID, + "Soldering Iron (LV)", + "Fixes burned out Circuits. Needs soldering materials in inventory.", + new ToolSolderingIron(), + ToolDictNames.craftingToolSolderingIron, + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 2L), + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L)), + GregTechAPI.sSolderingToolList); + GregTechAPI.registerTool( + addTool( + SOLDERING_IRON_MV.ID, + "Soldering Iron (MV)", + "Fixes burned out Circuits. Needs soldering materials in inventory.", + new ToolSolderingIron(), + ToolDictNames.craftingToolSolderingIron, + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 2L), + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L)), + GregTechAPI.sSolderingToolList); + GregTechAPI.registerTool( + addTool( + SOLDERING_IRON_HV.ID, + "Soldering Iron (HV)", + "Fixes burned out Circuits. Needs soldering materials in inventory.", + new ToolSolderingIron(), + ToolDictNames.craftingToolSolderingIron, + new TCAspects.TC_AspectStack(TCAspects.MACHINA, 2L), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 2L), + new TCAspects.TC_AspectStack(TCAspects.ORDO, 2L)), + GregTechAPI.sSolderingToolList); + + addTool(TURBINE_SMALL.ID, "Small Turbine", "Turbine Rotors for your power station", new ToolTurbineSmall()); + addTool(TURBINE.ID, "Turbine", "Turbine Rotors for your power station", new ToolTurbineNormal()); + addTool(TURBINE_LARGE.ID, "Large Turbine", "Turbine Rotors for your power station", new ToolTurbineLarge()); + addTool(TURBINE_HUGE.ID, "Huge Turbine", "Turbine Rotors for your power station", new ToolTurbineHuge()); + + addTool( + POCKET_MULTITOOL.ID, + "Pocket Multitool", + "6 useful Tools in one!", + new ToolPocketMultitool(POCKET_KNIFE.ID), + null, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 6), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 3), + new TCAspects.TC_AspectStack(TCAspects.ORDO, 3)); + addTool( + POCKET_KNIFE.ID, + "Pocket Multitool (Knife)", + "", + new ToolPocketKnife(POCKET_SAW.ID), + ToolDictNames.craftingToolKnife, + ToolDictNames.craftingToolBlade, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 6), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 3), + new TCAspects.TC_AspectStack(TCAspects.ORDO, 3)); + addTool( + POCKET_SAW.ID, + "Pocket Multitool (Saw)", + "Can also harvest Ice", + new ToolPocketSaw(POCKET_FILE.ID), + ToolDictNames.craftingToolSaw, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 6), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 3), + new TCAspects.TC_AspectStack(TCAspects.ORDO, 3)); + addTool( + POCKET_FILE.ID, + "Pocket Multitool (File)", + "", + new ToolPocketFile(POCKET_SCREWDRIVER.ID), + ToolDictNames.craftingToolFile, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 6), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 3), + new TCAspects.TC_AspectStack(TCAspects.ORDO, 3)); + GregTechAPI.registerTool( + addTool( + POCKET_SCREWDRIVER.ID, + "Pocket Multitool (Screwdriver)", + "Adjusts Covers and Machines", + new ToolPocketScrewdriver(POCKET_WIRECUTTER.ID), + ToolDictNames.craftingToolScrewdriver, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 6), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 3), + new TCAspects.TC_AspectStack(TCAspects.ORDO, 3)), + GregTechAPI.sScrewdriverList); + GregTechAPI.registerTool( + addTool( + POCKET_WIRECUTTER.ID, + "Pocket Multitool (Wire Cutter)", + "", + new ToolPocketWireCutter(POCKET_BRANCHCUTTER.ID), + ToolDictNames.craftingToolWireCutter, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 6), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 3), + new TCAspects.TC_AspectStack(TCAspects.ORDO, 3)), + GregTechAPI.sWireCutterList); + addTool( + POCKET_BRANCHCUTTER.ID, + "Pocket Multitool (Branch Cutter)", + "", + new ToolPocketBranchCutter(POCKET_MULTITOOL.ID), + ToolDictNames.craftingToolBranchCutter, + new TCAspects.TC_AspectStack(TCAspects.INSTRUMENTUM, 6), + new TCAspects.TC_AspectStack(TCAspects.FABRICO, 3), + new TCAspects.TC_AspectStack(TCAspects.ORDO, 3)); + initCraftingShapedRecipes(); + initCraftingShapelessRecipes(); + } + + private void initCraftingShapelessRecipes() { + GTModHandler.addShapelessCraftingRecipe( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Coal, 1L), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ToolDictNames.craftingToolMortar, new ItemStack(Items.coal, 1) }); + GTModHandler.addShapelessCraftingRecipe( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Clay, 1L), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ToolDictNames.craftingToolMortar, new ItemStack(Blocks.clay, 1) }); + GTModHandler.addShapelessCraftingRecipe( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Wheat, 1L), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ToolDictNames.craftingToolMortar, new ItemStack(Items.wheat, 1) }); + GTModHandler.addShapelessCraftingRecipe( + new ItemStack(Items.flint, 1), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ToolDictNames.craftingToolMortar, new ItemStack(Blocks.gravel, 1) }); + GTModHandler.addShapelessCraftingRecipe( + new ItemStack(Items.blaze_powder, 2), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { ToolDictNames.craftingToolMortar, new ItemStack(Items.blaze_rod, 1) }); + } + + private void initCraftingShapedRecipes() { + GTModHandler.addCraftingRecipe( + INSTANCE.getToolWithStats(MORTAR.ID, 1, Materials.Flint, Materials.Stone, null), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { " I ", "SIS", "SSS", 'I', new ItemStack(Items.flint, 1), 'S', OrePrefixes.stone }); + GTModHandler.addCraftingRecipe( + INSTANCE.getToolWithStats(MORTAR.ID, 1, Materials.Bronze, Materials.Stone, null), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { " I ", "SIS", "SSS", 'I', OrePrefixes.ingot.get(Materials.Bronze), 'S', OrePrefixes.stone }); + GTModHandler.addCraftingRecipe( + INSTANCE.getToolWithStats(MORTAR.ID, 1, Materials.Iron, Materials.Stone, null), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { " I ", "SIS", "SSS", 'I', OrePrefixes.ingot.get(Materials.Iron), 'S', OrePrefixes.stone }); + GTModHandler.addCraftingRecipe( + INSTANCE.getToolWithStats(MORTAR.ID, 1, Materials.Steel, Materials.Stone, null), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { " I ", "SIS", "SSS", 'I', OrePrefixes.ingot.get(Materials.Steel), 'S', OrePrefixes.stone }); + GTModHandler.addCraftingRecipe( + INSTANCE.getToolWithStats(MORTAR.ID, 1, Materials.WroughtIron, Materials.Stone, null), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { " I ", "SIS", "SSS", 'I', OrePrefixes.ingot.get(Materials.WroughtIron), 'S', + OrePrefixes.stone }); + GTModHandler.addCraftingRecipe( + INSTANCE.getToolWithStats(MORTAR.ID, 1, Materials.RedSteel, Materials.Stone, null), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { " I ", "SIS", "SSS", 'I', OrePrefixes.ingot.get(Materials.RedSteel), 'S', + OrePrefixes.stone }); + GTModHandler.addCraftingRecipe( + INSTANCE.getToolWithStats(MORTAR.ID, 1, Materials.BlueSteel, Materials.Stone, null), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { " I ", "SIS", "SSS", 'I', OrePrefixes.ingot.get(Materials.BlueSteel), 'S', + OrePrefixes.stone }); + GTModHandler.addCraftingRecipe( + INSTANCE.getToolWithStats(MORTAR.ID, 1, Materials.BlackSteel, Materials.Stone, null), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { " I ", "SIS", "SSS", 'I', OrePrefixes.ingot.get(Materials.BlackSteel), 'S', + OrePrefixes.stone }); + GTModHandler.addCraftingRecipe( + INSTANCE.getToolWithStats(MORTAR.ID, 1, Materials.DamascusSteel, Materials.Stone, null), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { " I ", "SIS", "SSS", 'I', OrePrefixes.ingot.get(Materials.DamascusSteel), 'S', + OrePrefixes.stone }); + GTModHandler.addCraftingRecipe( + INSTANCE.getToolWithStats(MORTAR.ID, 1, Materials.Thaumium, Materials.Stone, null), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { " I ", "SIS", "SSS", 'I', OrePrefixes.ingot.get(Materials.Thaumium), 'S', + OrePrefixes.stone }); + + GTModHandler.addCraftingRecipe( + INSTANCE.getToolWithStats(ROLLING_PIN.ID, 1, Materials.Wood, Materials.Wood, null), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { " S", " I ", "S f", 'I', OrePrefixes.plank.get(Materials.Wood), 'S', + OrePrefixes.stick.get(Materials.Wood) }); + GTModHandler.addCraftingRecipe( + INSTANCE.getToolWithStats(ROLLING_PIN.ID, 1, Materials.Plastic, Materials.Plastic, null), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { " S", " I ", "S f", 'I', OrePrefixes.ingot.get(Materials.Plastic), 'S', + OrePrefixes.stick.get(Materials.Plastic) }); + GTModHandler.addCraftingRecipe( + INSTANCE.getToolWithStats(ROLLING_PIN.ID, 1, Materials.Aluminium, Materials.Aluminium, null), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { " S", " I ", "S f", 'I', OrePrefixes.ingot.get(Materials.Aluminium), 'S', + OrePrefixes.stick.get(Materials.Aluminium) }); + GTModHandler.addCraftingRecipe( + INSTANCE.getToolWithStats(ROLLING_PIN.ID, 1, Materials.StainlessSteel, Materials.StainlessSteel, null), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { " S", " I ", "S f", 'I', OrePrefixes.ingot.get(Materials.StainlessSteel), 'S', + OrePrefixes.stick.get(Materials.StainlessSteel) }); + GTModHandler.addCraftingRecipe( + INSTANCE.getToolWithStats(ROLLING_PIN.ID, 1, Materials.IronWood, Materials.IronWood, null), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { " S", " I ", "S f", 'I', OrePrefixes.ingot.get(Materials.IronWood), 'S', + OrePrefixes.stick.get(Materials.IronWood) }); + + GTModHandler.addCraftingRecipe( + INSTANCE.getToolWithStats(SWORD.ID, 1, Materials.Flint, Materials.Wood, null), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "F", "F", "S", 'S', OrePrefixes.stick.get(Materials.Wood), 'F', + new ItemStack(Items.flint, 1) }); + GTModHandler.addCraftingRecipe( + INSTANCE.getToolWithStats(PICKAXE.ID, 1, Materials.Flint, Materials.Wood, null), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "FFF", " S ", " S ", 'S', OrePrefixes.stick.get(Materials.Wood), 'F', + new ItemStack(Items.flint, 1) }); + GTModHandler.addCraftingRecipe( + INSTANCE.getToolWithStats(SHOVEL.ID, 1, Materials.Flint, Materials.Wood, null), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "F", "S", "S", 'S', OrePrefixes.stick.get(Materials.Wood), 'F', + new ItemStack(Items.flint, 1) }); + GTModHandler.addCraftingRecipe( + INSTANCE.getToolWithStats(AXE.ID, 1, Materials.Flint, Materials.Wood, null), + GTModHandler.RecipeBits.MIRRORED | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "FF", "FS", " S", 'S', OrePrefixes.stick.get(Materials.Wood), 'F', + new ItemStack(Items.flint, 1) }); + GTModHandler.addCraftingRecipe( + INSTANCE.getToolWithStats(HOE.ID, 1, Materials.Flint, Materials.Wood, null), + GTModHandler.RecipeBits.MIRRORED | GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "FF", " S", " S", 'S', OrePrefixes.stick.get(Materials.Wood), 'F', + new ItemStack(Items.flint, 1) }); + GTModHandler.addCraftingRecipe( + INSTANCE.getToolWithStats(KNIFE.ID, 1, Materials.Flint, Materials.Wood, null), + GTModHandler.RecipeBits.NOT_REMOVABLE, + new Object[] { "F", "S", 'S', OrePrefixes.stick.get(Materials.Wood), 'F', new ItemStack(Items.flint, 1) }); + } +} diff --git a/src/main/java/gregtech/common/items/PollenType.java b/src/main/java/gregtech/common/items/PollenType.java index 3cd9484b69..85b87b54c4 100644 --- a/src/main/java/gregtech/common/items/PollenType.java +++ b/src/main/java/gregtech/common/items/PollenType.java @@ -1,7 +1,7 @@ package gregtech.common.items; import gregtech.api.enums.Materials; -import gregtech.api.util.GT_LanguageManager; +import gregtech.api.util.GTLanguageManager; public enum PollenType { @@ -23,7 +23,7 @@ public enum PollenType { } public String getName() { - return GT_LanguageManager.addStringLocalization( + return GTLanguageManager.addStringLocalization( "pollen." + this.name, this.name.substring(0, 1) .toUpperCase() + this.name.substring(1) + " Pollen"); diff --git a/src/main/java/gregtech/common/items/PropolisType.java b/src/main/java/gregtech/common/items/PropolisType.java index e6f08b0cfa..746f2d0916 100644 --- a/src/main/java/gregtech/common/items/PropolisType.java +++ b/src/main/java/gregtech/common/items/PropolisType.java @@ -1,7 +1,7 @@ package gregtech.common.items; import gregtech.api.enums.Materials; -import gregtech.api.util.GT_LanguageManager; +import gregtech.api.util.GTLanguageManager; public enum PropolisType { @@ -34,7 +34,7 @@ public enum PropolisType { public String getName() { // return "gt.comb."+this.name; - return GT_LanguageManager.addStringLocalization( + return GTLanguageManager.addStringLocalization( "propolis." + this.name, this.name.substring(0, 1) .toUpperCase() + this.name.substring(1) + " Propolis"); diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourCoverTool.java b/src/main/java/gregtech/common/items/behaviors/BehaviourCoverTool.java new file mode 100644 index 0000000000..b39135fed2 --- /dev/null +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourCoverTool.java @@ -0,0 +1,193 @@ +package gregtech.common.items.behaviors; + +import java.util.ArrayList; +import java.util.List; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTBase; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +import gregtech.api.GregTechAPI; +import gregtech.api.enums.SoundResource; +import gregtech.api.interfaces.IItemBehaviour; +import gregtech.api.interfaces.tileentity.ICoverable; +import gregtech.api.items.MetaBaseItem; +import gregtech.api.util.CoverBehaviorBase; +import gregtech.api.util.GTLanguageManager; +import gregtech.api.util.GTUtility; +import gregtech.api.util.ISerializableObject; + +public class BehaviourCoverTool extends BehaviourNone { + + public static final IItemBehaviour INSTANCE = new BehaviourCoverTool(); + private final String mTooltip = GTLanguageManager + .addStringLocalization("gt.behaviour.cover_copy_paste", "Can copy/paste cover data."); + + private ISerializableObject mStoredData = GregTechAPI.sNoBehavior.createDataObject(); + private int mCoverType; + private int mTickRateAddition = 0; + + @Override + public boolean onItemUseFirst(MetaBaseItem aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, + int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { + if (aWorld.isRemote) { + return false; + } + final NBTTagCompound tNBT = aStack.getTagCompound(); + final TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + final boolean isCopyMode = aPlayer.isSneaking(); + initDataFromNBT(tNBT); + if (((aPlayer instanceof EntityPlayerMP)) && (aItem.canUse(aStack, 100.0D))) { + if (isCopyMode) { + ArrayList tList = new ArrayList<>(); + doCopy(tTileEntity, aWorld, aX, aY, aZ, side, hitX, hitY, hitZ, tList); + aItem.discharge(aStack, 100.0D, Integer.MAX_VALUE, true, false, false); + writeListToNBT(tList, tNBT, aPlayer); + saveDataToNBT(tNBT); + } else { + doPaste(tTileEntity, side, hitX, hitY, hitZ, aPlayer); + aItem.discharge(aStack, 25.0D, Integer.MAX_VALUE, true, false, false); + } + } + GTUtility.doSoundAtClient(SoundResource.IC2_TOOLS_OD_SCANNER, 1, 1.0F, aX, aY, aZ); + return aPlayer instanceof EntityPlayerMP; + } + + private void initDataFromNBT(NBTTagCompound aNBT) { + if (aNBT != null) { + mCoverType = aNBT.getInteger("mCoverType"); + CoverBehaviorBase tBehavior = GregTechAPI.getCoverBehaviorNew(mCoverType); + NBTBase tData = aNBT.getTag("mCoverData"); + if (tData != null) mStoredData = tBehavior.createDataObject(tData); + else mStoredData = GregTechAPI.sNoBehavior.createDataObject(); + mTickRateAddition = aNBT.hasKey("mTickRateAddition") ? aNBT.getInteger("mTickRateAddition") : 0; + } + } + + private void saveDataToNBT(NBTTagCompound aNBT) { + aNBT.setInteger("mCoverType", mCoverType); + if (mStoredData == null) mStoredData = GregTechAPI.sNoBehavior.createDataObject(); + aNBT.setTag("mCoverData", mStoredData.saveDataToNBT()); + aNBT.setInteger("mTickRateAddition", mTickRateAddition); + } + + @SuppressWarnings("rawtypes") + private void writeListToNBT(List aList, NBTTagCompound aNBT, EntityPlayer aPlayer) { + if (aList != null && aNBT != null) { + int tSize = aList.size(); + aNBT.setInteger("dataLinesCount", tSize); + for (int i = 0; i < tSize; i++) { + aNBT.setString("dataLines" + i, (String) aList.get(i)); + GTUtility.sendChatToPlayer(aPlayer, (String) aList.get(i)); + } + } + } + + @SuppressWarnings({ "unchecked", "rawtypes" }) + private void doCopy(TileEntity aTileEntity, World aWorld, int aX, int aY, int aZ, ForgeDirection side, float hitX, + float hitY, float hitZ, List aList) { + aList.add( + "----- X: " + EnumChatFormatting.AQUA + + GTUtility.formatNumbers(aX) + + EnumChatFormatting.RESET + + " Y: " + + EnumChatFormatting.AQUA + + GTUtility.formatNumbers(aY) + + EnumChatFormatting.RESET + + " Z: " + + EnumChatFormatting.AQUA + + GTUtility.formatNumbers(aZ) + + EnumChatFormatting.RESET + + " D: " + + EnumChatFormatting.AQUA + + aWorld.provider.dimensionId + + EnumChatFormatting.RESET + + " -----"); + if (aTileEntity instanceof ICoverable tCoverable) { + final ForgeDirection tSide = tCoverable.getCoverItemAtSide(side) != null ? side + : tCoverable.getCoverItemAtSide(GTUtility.determineWrenchingSide(side, hitX, hitY, hitZ)) != null + ? GTUtility.determineWrenchingSide(side, hitX, hitY, hitZ) + : ForgeDirection.UNKNOWN; + if (tSide != ForgeDirection.UNKNOWN) { + if (tCoverable.getCoverBehaviorAtSideNew(tSide) + .allowsCopyPasteTool()) { + mStoredData = tCoverable.getComplexCoverDataAtSide(tSide); + mCoverType = tCoverable.getCoverIDAtSide(tSide); + mTickRateAddition = tCoverable.getCoverInfoAtSide(tSide) + .getTickRateAddition(); + + aList.add("Block Side: " + EnumChatFormatting.AQUA + tSide.name() + EnumChatFormatting.RESET); + aList.add( + "Cover Type: " + EnumChatFormatting.GREEN + + tCoverable.getCoverItemAtSide(tSide) + .getDisplayName() + + EnumChatFormatting.RESET); + } else { + mStoredData = GregTechAPI.sNoBehavior.createDataObject(); + mCoverType = 0; + mTickRateAddition = 0; + aList.add("Copy unavailable for this cover type"); + } + } else { + mStoredData = GregTechAPI.sNoBehavior.createDataObject(); + mCoverType = 0; + mTickRateAddition = 0; + aList.add("No Cover Found"); + } + } else { + mStoredData = GregTechAPI.sNoBehavior.createDataObject(); + mCoverType = 0; + mTickRateAddition = 0; + aList.add("No Cover Found"); + } + } + + private void doPaste(TileEntity aTileEntity, ForgeDirection side, float hitX, float hitY, float hitZ, + EntityPlayer aPlayer) { + if (aTileEntity instanceof ICoverable tCoverable) { + if (mCoverType == 0 || mStoredData == null) { + GTUtility.sendChatToPlayer(aPlayer, "Please Copy a Valid Cover First."); + return; + } + final ForgeDirection tSide = tCoverable.getCoverItemAtSide(side) != null ? side + : tCoverable.getCoverItemAtSide(GTUtility.determineWrenchingSide(side, hitX, hitY, hitZ)) != null + ? GTUtility.determineWrenchingSide(side, hitX, hitY, hitZ) + : ForgeDirection.UNKNOWN; + if (tSide != ForgeDirection.UNKNOWN) { + int tCoverID = tCoverable.getCoverIDAtSide(tSide); + if (tCoverID == mCoverType) { + tCoverable.setCoverDataAtSide(tSide, mStoredData); + tCoverable.getCoverInfoAtSide(tSide) + .setTickRateAddition(mTickRateAddition); + GTUtility.sendChatToPlayer(aPlayer, "Cover Data Pasted."); + } else { + GTUtility.sendChatToPlayer(aPlayer, "Not Matched Cover."); + } + } else { + GTUtility.sendChatToPlayer(aPlayer, "No Cover Found."); + } + } + } + + @Override + public List getAdditionalToolTips(MetaBaseItem aItem, List aList, ItemStack aStack) { + try { + final NBTTagCompound tNBT = aStack.getTagCompound(); + final int tSize = tNBT.getInteger("dataLinesCount"); + if (tSize < 1) throw new Exception(); + aList.add(EnumChatFormatting.BLUE + "Stored Cover Data:"); + for (int i = 0; i < tSize; i++) { + aList.add(EnumChatFormatting.RESET + tNBT.getString("dataLines" + i)); + } + } catch (Exception e) { + aList.add(this.mTooltip); + } + return aList; + } +} diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourCrowbar.java b/src/main/java/gregtech/common/items/behaviors/BehaviourCrowbar.java new file mode 100644 index 0000000000..76c215bfd0 --- /dev/null +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourCrowbar.java @@ -0,0 +1,61 @@ +package gregtech.common.items.behaviors; + +import static gregtech.api.enums.Mods.Railcraft; + +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +import gregtech.api.enums.SoundResource; +import gregtech.api.items.MetaBaseItem; +import gregtech.api.util.GTModHandler; +import gregtech.api.util.GTUtility; + +public class BehaviourCrowbar extends BehaviourNone { + + private final int mVanillaCosts; + private final int mEUCosts; + + public BehaviourCrowbar(int aVanillaCosts, int aEUCosts) { + this.mVanillaCosts = aVanillaCosts; + this.mEUCosts = aEUCosts; + } + + @Override + public boolean onItemUseFirst(MetaBaseItem aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, + int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { + if (aWorld.isRemote) { + return false; + } + if (GTModHandler.getModItem(Railcraft.ID, "fluid.creosote.bucket", 1L) != null) { + return false; + } + Block aBlock = aWorld.getBlock(aX, aY, aZ); + if (aBlock == null) { + return false; + } + byte aMeta = (byte) aWorld.getBlockMetadata(aX, aY, aZ); + if (aBlock == Blocks.rail) { + if (GTModHandler.damageOrDechargeItem(aStack, this.mVanillaCosts, this.mEUCosts, aPlayer)) { + aWorld.isRemote = true; + aWorld.setBlock(aX, aY, aZ, aBlock, (aMeta + 1) % 10, 0); + aWorld.isRemote = false; + GTUtility.sendSoundToPlayers(aWorld, SoundResource.RANDOM_BREAK, 1.0F, -1.0F, aX, aY, aZ); + } + return true; + } + if ((aBlock == Blocks.detector_rail) || (aBlock == Blocks.activator_rail) || (aBlock == Blocks.golden_rail)) { + if (GTModHandler.damageOrDechargeItem(aStack, this.mVanillaCosts, this.mEUCosts, aPlayer)) { + aWorld.isRemote = true; + aWorld.setBlock(aX, aY, aZ, aBlock, aMeta / 8 * 8 + (aMeta % 8 + 1) % 6, 0); + aWorld.isRemote = false; + GTUtility.sendSoundToPlayers(aWorld, SoundResource.RANDOM_BREAK, 1.0F, -1.0F, aX, aY, aZ); + } + return true; + } + return false; + } +} diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourDataOrb.java b/src/main/java/gregtech/common/items/behaviors/BehaviourDataOrb.java new file mode 100644 index 0000000000..c5d045ecd0 --- /dev/null +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourDataOrb.java @@ -0,0 +1,105 @@ +package gregtech.common.items.behaviors; + +import java.util.List; + +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; + +import gregtech.api.items.MetaBaseItem; +import gregtech.api.util.GTUtility; + +public class BehaviourDataOrb extends BehaviourNone { + + public static void copyInventory(ItemStack[] aInventory, ItemStack[] aNewContent, int aIndexlength) { + for (int i = 0; i < aIndexlength; i++) { + if (aNewContent[i] == null) { + aInventory[i] = null; + } else { + aInventory[i] = GTUtility.copyOrNull(aNewContent[i]); + } + } + } + + public static String getDataName(ItemStack aStack) { + NBTTagCompound tNBT = aStack.getTagCompound(); + if (tNBT == null) { + return ""; + } + return tNBT.getString("mDataName"); + } + + public static String getDataTitle(ItemStack aStack) { + NBTTagCompound tNBT = aStack.getTagCompound(); + if (tNBT == null) { + return ""; + } + return tNBT.getString("mDataTitle"); + } + + public static NBTTagCompound setDataName(ItemStack aStack, String aDataName) { + NBTTagCompound tNBT = aStack.getTagCompound(); + if (tNBT == null) { + tNBT = new NBTTagCompound(); + } + tNBT.setString("mDataName", aDataName); + aStack.setTagCompound(tNBT); + return tNBT; + } + + public static NBTTagCompound setDataTitle(ItemStack aStack, String aDataTitle) { + NBTTagCompound tNBT = aStack.getTagCompound(); + if (tNBT == null) { + tNBT = new NBTTagCompound(); + } + tNBT.setString("mDataTitle", aDataTitle); + aStack.setTagCompound(tNBT); + return tNBT; + } + + public static ItemStack[] getNBTInventory(ItemStack aStack) { + ItemStack[] tInventory = new ItemStack[256]; + NBTTagCompound tNBT = aStack.getTagCompound(); + if (tNBT == null) { + return tInventory; + } + NBTTagList tNBT_ItemList = tNBT.getTagList("Inventory", 10); + for (int i = 0; i < tNBT_ItemList.tagCount(); i++) { + NBTTagCompound tag = tNBT_ItemList.getCompoundTagAt(i); + byte slot = tag.getByte("Slot"); + if (slot >= 0) { + tInventory[slot] = GTUtility.loadItem(tag); + } + } + return tInventory; + } + + public static NBTTagCompound setNBTInventory(ItemStack aStack, ItemStack[] aInventory) { + NBTTagCompound tNBT = aStack.getTagCompound(); + if (tNBT == null) { + tNBT = new NBTTagCompound(); + } + NBTTagList tNBT_ItemList = new NBTTagList(); + for (int i = 0; i < aInventory.length; i++) { + ItemStack stack = aInventory[i]; + if (stack != null) { + NBTTagCompound tag = new NBTTagCompound(); + tag.setByte("Slot", (byte) i); + stack.writeToNBT(tag); + tNBT_ItemList.appendTag(tag); + } + } + tNBT.setTag("Inventory", tNBT_ItemList); + aStack.setTagCompound(tNBT); + return tNBT; + } + + @Override + public List getAdditionalToolTips(MetaBaseItem aItem, List aList, ItemStack aStack) { + if (!(getDataTitle(aStack).length() == 0)) { + aList.add(getDataTitle(aStack)); + aList.add(getDataName(aStack)); + } + return aList; + } +} diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourDataStick.java b/src/main/java/gregtech/common/items/behaviors/BehaviourDataStick.java new file mode 100644 index 0000000000..63462b8d9b --- /dev/null +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourDataStick.java @@ -0,0 +1,52 @@ +package gregtech.common.items.behaviors; + +import java.util.List; + +import net.minecraft.item.ItemStack; + +import gregtech.api.items.MetaBaseItem; +import gregtech.api.util.GTUtility; + +public class BehaviourDataStick extends BehaviourNone { + + @Override + public List getAdditionalToolTips(MetaBaseItem aItem, List aList, ItemStack aStack) { + String tString = GTUtility.ItemNBT.getBookTitle(aStack); + if (GTUtility.isStringValid(tString)) { + aList.add(tString); + } + tString = GTUtility.ItemNBT.getBookAuthor(aStack); + if (GTUtility.isStringValid(tString)) { + aList.add("by " + tString); + } + short tMapID = GTUtility.ItemNBT.getMapID(aStack); + if (tMapID >= 0) { + aList.add("Map ID: " + tMapID); + } + tString = GTUtility.ItemNBT.getPunchCardData(aStack); + if (GTUtility.isStringValid(tString)) { + aList.add("Punch Card Data"); + int i = 0; + int j = tString.length(); + for (; i < j; i += 64) { + aList.add(tString.substring(i, Math.min(i + 64, j))); + } + } + short sTier = GTUtility.ItemNBT.getNBT(aStack) + .getShort("rocket_tier"); + if (sTier > 0 && sTier < 100) { + aList.add("Rocket Schematic Tier: " + sTier); + } else if (sTier >= 100) { + switch (sTier) { + case 100 -> aList.add("Moonbuggy Schematic"); + case 101 -> aList.add("Cargo-Rocket Schematic"); + case 102 -> aList.add("Astro-Miner Schematic"); + } + } + long lastUpdate = GTUtility.ItemNBT.getNBT(aStack) + .getLong("lastUpdate"); + if (lastUpdate != 0) aList.add(String.format("Last update at: %tc", lastUpdate)); + + return aList; + } +} diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourHoe.java b/src/main/java/gregtech/common/items/behaviors/BehaviourHoe.java new file mode 100644 index 0000000000..ca9166b581 --- /dev/null +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourHoe.java @@ -0,0 +1,72 @@ +package gregtech.common.items.behaviors; + +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.event.entity.player.UseHoeEvent; + +import cpw.mods.fml.common.eventhandler.Event; +import gregtech.api.items.MetaBaseItem; +import gregtech.api.items.MetaGeneratedTool; +import gregtech.api.util.GTLanguageManager; +import gregtech.api.util.GTUtility; +import gregtech.api.util.WorldSpawnedEventBuilder; + +public class BehaviourHoe extends BehaviourNone { + + private final int mCosts; + private final String mTooltip = GTLanguageManager.addStringLocalization("gt.behaviour.hoe", "Can till Dirt"); + + public BehaviourHoe(int aCosts) { + this.mCosts = aCosts; + } + + @Override + public boolean onItemUse(MetaBaseItem aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, + int aZ, int ordinalSide, float hitX, float hitY, float hitZ) { + if (!aPlayer.canPlayerEdit(aX, aY, aZ, ordinalSide, aStack)) { + return false; + } + UseHoeEvent event = new UseHoeEvent(aPlayer, aStack, aWorld, aX, aY, aZ); + if (MinecraftForge.EVENT_BUS.post(event)) { + return false; + } + if (event.getResult() == Event.Result.ALLOW) { + if (!aPlayer.capabilities.isCreativeMode) { + ((MetaGeneratedTool) aItem).doDamage(aStack, this.mCosts); + } + return true; + } + Block aBlock = aWorld.getBlock(aX, aY, aZ); + if ((ordinalSide != 0) && (GTUtility.isBlockAir(aWorld, aX, aY + 1, aZ)) + && ((aBlock == Blocks.grass) || (aBlock == Blocks.dirt))) { + new WorldSpawnedEventBuilder.SoundEventBuilder() + .setVolume((Blocks.farmland.stepSound.getVolume() + 1.0F) / 2.0F) + .setPitch(Blocks.farmland.stepSound.getPitch() * 0.8F) + .setIdentifier(Blocks.farmland.stepSound.getStepResourcePath()) + .setPosition(aX + 0.5F, aY + 0.5F, aZ + 0.5F) + .setWorld(aWorld) + .run(); + if (aWorld.isRemote) { + return true; + } + aWorld.setBlock(aX, aY, aZ, Blocks.farmland); + if (!aPlayer.capabilities.isCreativeMode) { + ((MetaGeneratedTool) aItem).doDamage(aStack, this.mCosts); + } + return true; + } + return false; + } + + @Override + public List getAdditionalToolTips(MetaBaseItem aItem, List aList, ItemStack aStack) { + aList.add(this.mTooltip); + return aList; + } +} diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourLighter.java b/src/main/java/gregtech/common/items/behaviors/BehaviourLighter.java new file mode 100644 index 0000000000..9c9c8ab9f0 --- /dev/null +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourLighter.java @@ -0,0 +1,139 @@ +package gregtech.common.items.behaviors; + +import java.util.List; + +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.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +import codechicken.lib.math.MathHelper; +import gregtech.api.enums.SoundResource; +import gregtech.api.items.MetaBaseItem; +import gregtech.api.util.GTLanguageManager; +import gregtech.api.util.GTUtility; + +public class BehaviourLighter extends BehaviourNone { + + private final ItemStack mEmptyLighter; + private final ItemStack mUsedLighter; + private final ItemStack mFullLighter; + private final long mFuelAmount; + private final String mTooltip = GTLanguageManager + .addStringLocalization("gt.behaviour.lighter.tooltip", "Can light things on Fire"); + private final String mTooltipUses = GTLanguageManager + .addStringLocalization("gt.behaviour.lighter.uses", "Remaining Uses:"); + private final String mTooltipUnstackable = GTLanguageManager + .addStringLocalization("gt.behaviour.unstackable", "Not usable when stacked!"); + + public BehaviourLighter(ItemStack aEmptyLighter, ItemStack aUsedLighter, ItemStack aFullLighter, long aFuelAmount) { + this.mFullLighter = aFullLighter; + this.mUsedLighter = aUsedLighter; + this.mEmptyLighter = aEmptyLighter; + this.mFuelAmount = aFuelAmount; + } + + @Override + public boolean onLeftClickEntity(MetaBaseItem aItem, ItemStack aStack, EntityPlayer aPlayer, Entity aEntity) { + if ((aPlayer.worldObj.isRemote) || (aStack.stackSize != 1)) { + return false; + } + boolean rOutput = false; + if ((aEntity instanceof EntityCreeper)) { + prepare(aStack); + long tFuelAmount = GTUtility.ItemNBT.getLighterFuel(aStack); + if (GTUtility.areStacksEqual(aStack, this.mUsedLighter, true)) { + GTUtility.sendSoundToPlayers( + aPlayer.worldObj, + SoundResource.FIRE_IGNITE, + 1.0F, + 1.0F, + MathHelper.floor_double(aEntity.posX), + MathHelper.floor_double(aEntity.posY), + MathHelper.floor_double(aEntity.posZ)); + ((EntityCreeper) aEntity).func_146079_cb(); + if (!aPlayer.capabilities.isCreativeMode) { + tFuelAmount -= 1L; + } + rOutput = true; + } + GTUtility.ItemNBT.setLighterFuel(aStack, tFuelAmount); + if (tFuelAmount <= 0L) { + useUp(aStack); + } + } + return rOutput; + } + + @Override + public boolean onItemUse(MetaBaseItem aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, + int aZ, int ordinalSide, float hitX, float hitY, float hitZ) { + return false; + } + + @Override + public boolean onItemUseFirst(MetaBaseItem aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, + int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { + if ((aWorld.isRemote) || (aStack.stackSize != 1)) { + return false; + } + boolean rOutput = false; + + aX += side.offsetX; + aY += side.offsetY; + aZ += side.offsetZ; + if ((!GTUtility.isBlockAir(aWorld, aX, aY, aZ)) + || (!aPlayer.canPlayerEdit(aX, aY, aZ, side.ordinal(), aStack))) { + return false; + } + prepare(aStack); + long tFuelAmount = GTUtility.ItemNBT.getLighterFuel(aStack); + if (GTUtility.areStacksEqual(aStack, this.mUsedLighter, true)) { + GTUtility.sendSoundToPlayers(aWorld, SoundResource.FIRE_IGNITE, 1.0F, 1.0F, aX, aY, aZ); + aWorld.setBlock(aX, aY, aZ, Blocks.fire); + if (!aPlayer.capabilities.isCreativeMode) { + tFuelAmount -= 1L; + } + rOutput = true; + } + GTUtility.ItemNBT.setLighterFuel(aStack, tFuelAmount); + if (tFuelAmount <= 0L) { + useUp(aStack); + } + return rOutput; + } + + private void prepare(ItemStack aStack) { + if (GTUtility.areStacksEqual(aStack, this.mFullLighter, true)) { + aStack.func_150996_a(this.mUsedLighter.getItem()); + Items.feather.setDamage(aStack, Items.feather.getDamage(this.mUsedLighter)); + GTUtility.ItemNBT.setLighterFuel(aStack, this.mFuelAmount); + } + } + + private void useUp(ItemStack aStack) { + if (this.mEmptyLighter == null) { + aStack.stackSize -= 1; + } else { + aStack.func_150996_a(this.mEmptyLighter.getItem()); + Items.feather.setDamage(aStack, Items.feather.getDamage(this.mEmptyLighter)); + } + } + + @Override + public List getAdditionalToolTips(MetaBaseItem aItem, List aList, ItemStack aStack) { + aList.add(this.mTooltip); + NBTTagCompound tNBT = aStack.getTagCompound(); + long tFuelAmount = tNBT == null ? this.mFuelAmount + : GTUtility.areStacksEqual(aStack, this.mFullLighter, true) ? this.mFuelAmount + : tNBT.getLong("GT.LighterFuel"); + aList.add(this.mTooltipUses + " " + tFuelAmount); + aList.add(this.mTooltipUnstackable); + return aList; + } +} diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourNone.java b/src/main/java/gregtech/common/items/behaviors/BehaviourNone.java new file mode 100644 index 0000000000..f8b5f74b72 --- /dev/null +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourNone.java @@ -0,0 +1,90 @@ +package gregtech.common.items.behaviors; + +import java.util.List; + +import net.minecraft.block.BlockDispenser; +import net.minecraft.dispenser.BehaviorDefaultDispenseItem; +import net.minecraft.dispenser.IBlockSource; +import net.minecraft.dispenser.IPosition; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.projectile.EntityArrow; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumFacing; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +import gregtech.api.enums.SubTag; +import gregtech.api.interfaces.IItemBehaviour; +import gregtech.api.items.MetaBaseItem; + +public class BehaviourNone implements IItemBehaviour { + + @Override + public boolean onLeftClickEntity(MetaBaseItem aItem, ItemStack aStack, EntityPlayer aPlayer, Entity aEntity) { + return false; + } + + @Override + public boolean onItemUse(MetaBaseItem aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, + int aZ, int ordinalSide, float hitX, float hitY, float hitZ) { + return false; + } + + @Override + public boolean onItemUseFirst(MetaBaseItem aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, + int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { + return false; + } + + @Override + public ItemStack onItemRightClick(MetaBaseItem aItem, ItemStack aStack, World aWorld, EntityPlayer aPlayer) { + return aStack; + } + + @Override + public List getAdditionalToolTips(MetaBaseItem aItem, List aList, ItemStack aStack) { + return aList; + } + + @Override + public void onUpdate(MetaBaseItem aItem, ItemStack aStack, World aWorld, Entity aPlayer, int aTimer, + boolean aIsInHand) {} + + @Override + public boolean isItemStackUsable(MetaBaseItem aItem, ItemStack aStack) { + return true; + } + + @Override + public boolean canDispense(MetaBaseItem aItem, IBlockSource aSource, ItemStack aStack) { + return false; + } + + @Override + public ItemStack onDispense(MetaBaseItem aItem, IBlockSource aSource, ItemStack aStack) { + EnumFacing enumfacing = BlockDispenser.func_149937_b(aSource.getBlockMetadata()); + IPosition iposition = BlockDispenser.func_149939_a(aSource); + ItemStack itemstack1 = aStack.splitStack(1); + BehaviorDefaultDispenseItem.doDispense(aSource.getWorld(), itemstack1, 6, enumfacing, iposition); + return aStack; + } + + @Override + public boolean hasProjectile(MetaBaseItem aItem, SubTag aProjectileType, ItemStack aStack) { + return false; + } + + @Override + public EntityArrow getProjectile(MetaBaseItem aItem, SubTag aProjectileType, ItemStack aStack, World aWorld, + double aX, double aY, double aZ) { + return null; + } + + @Override + public EntityArrow getProjectile(MetaBaseItem aItem, SubTag aProjectileType, ItemStack aStack, World aWorld, + EntityLivingBase aEntity, float aSpeed) { + return null; + } +} diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourPlungerEssentia.java b/src/main/java/gregtech/common/items/behaviors/BehaviourPlungerEssentia.java new file mode 100644 index 0000000000..910ea2d2d4 --- /dev/null +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourPlungerEssentia.java @@ -0,0 +1,54 @@ +package gregtech.common.items.behaviors; + +import java.util.List; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +import gregtech.api.enums.SoundResource; +import gregtech.api.items.MetaBaseItem; +import gregtech.api.items.MetaGeneratedTool; +import gregtech.api.util.GTLanguageManager; +import gregtech.api.util.GTUtility; +import thaumcraft.api.aspects.IEssentiaTransport; + +public class BehaviourPlungerEssentia extends BehaviourNone { + + private final int mCosts; + private final String mTooltip = GTLanguageManager + .addStringLocalization("gt.behaviour.plunger.essentia", "Clears Essentia from Containers and Tubes"); + + public BehaviourPlungerEssentia(int aCosts) { + this.mCosts = aCosts; + } + + @Override + public boolean onItemUseFirst(MetaBaseItem aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, + int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { + if (aWorld.isRemote) { + return false; + } + TileEntity aTileEntity = aWorld.getTileEntity(aX, aY, aZ); + if (((aTileEntity instanceof IEssentiaTransport)) + && ((aPlayer.capabilities.isCreativeMode) || (((MetaGeneratedTool) aItem).doDamage(aStack, this.mCosts)))) { + GTUtility.sendSoundToPlayers(aWorld, SoundResource.IC2_TOOLS_RUBBER_TRAMPOLINE, 1.0F, -1.0F, aX, aY, aZ); + for (ForgeDirection tDirection : ForgeDirection.VALID_DIRECTIONS) { + ((IEssentiaTransport) aTileEntity).takeEssentia( + ((IEssentiaTransport) aTileEntity).getEssentiaType(tDirection), + ((IEssentiaTransport) aTileEntity).getEssentiaAmount(tDirection), + tDirection); + } + return true; + } + return false; + } + + @Override + public List getAdditionalToolTips(MetaBaseItem aItem, List aList, ItemStack aStack) { + aList.add(this.mTooltip); + return aList; + } +} diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourPlungerFluid.java b/src/main/java/gregtech/common/items/behaviors/BehaviourPlungerFluid.java new file mode 100644 index 0000000000..b406b27b15 --- /dev/null +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourPlungerFluid.java @@ -0,0 +1,75 @@ +package gregtech.common.items.behaviors; + +import java.util.List; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.fluids.IFluidHandler; + +import gregtech.api.enums.SoundResource; +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.items.MetaBaseItem; +import gregtech.api.items.MetaGeneratedTool; +import gregtech.api.metatileentity.implementations.MTEBasicTank; +import gregtech.api.util.GTLanguageManager; +import gregtech.api.util.GTUtility; + +public class BehaviourPlungerFluid extends BehaviourNone { + + private final int mCosts; + private final String mTooltip = GTLanguageManager + .addStringLocalization("gt.behaviour.plunger.fluid", "Clears 1000 Liters of Fluid from Tanks"); + + public BehaviourPlungerFluid(int aCosts) { + this.mCosts = aCosts; + } + + @Override + public boolean onItemUseFirst(MetaBaseItem aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, + int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { + if (aWorld.isRemote) { + return false; + } + TileEntity aTileEntity = aWorld.getTileEntity(aX, aY, aZ); + if ((aTileEntity instanceof IFluidHandler)) { + for (ForgeDirection tDirection : ForgeDirection.VALID_DIRECTIONS) { + if (((IFluidHandler) aTileEntity).drain(tDirection, 1000, false) != null) { + if ((aPlayer.capabilities.isCreativeMode) + || (((MetaGeneratedTool) aItem).doDamage(aStack, this.mCosts))) { + ((IFluidHandler) aTileEntity).drain(tDirection, 1000, true); + GTUtility.sendSoundToPlayers( + aWorld, + SoundResource.IC2_TOOLS_RUBBER_TRAMPOLINE, + 1.0F, + -1.0F, + aX, + aY, + aZ); + return true; + } + } + } + } + if (aTileEntity instanceof IGregTechTileEntity tTileEntity) { + IMetaTileEntity mTileEntity = tTileEntity.getMetaTileEntity(); + if (mTileEntity instanceof MTEBasicTank machine) { + if (machine.mFluid != null && machine.mFluid.amount > 0) + machine.mFluid.amount = machine.mFluid.amount - Math.min(machine.mFluid.amount, 1000); + GTUtility + .sendSoundToPlayers(aWorld, SoundResource.IC2_TOOLS_RUBBER_TRAMPOLINE, 1.0F, -1.0F, aX, aY, aZ); + return true; + } + } + return false; + } + + @Override + public List getAdditionalToolTips(MetaBaseItem aItem, List aList, ItemStack aStack) { + aList.add(this.mTooltip); + return aList; + } +} diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourPlungerItem.java b/src/main/java/gregtech/common/items/behaviors/BehaviourPlungerItem.java new file mode 100644 index 0000000000..c0db5c76b4 --- /dev/null +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourPlungerItem.java @@ -0,0 +1,88 @@ +package gregtech.common.items.behaviors; + +import java.util.HashMap; +import java.util.List; + +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +import gregtech.api.enums.SoundResource; +import gregtech.api.interfaces.metatileentity.IMetaTileEntity; +import gregtech.api.interfaces.metatileentity.IMetaTileEntityItemPipe; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.items.MetaBaseItem; +import gregtech.api.items.MetaGeneratedTool; +import gregtech.api.util.GTLanguageManager; +import gregtech.api.util.GTUtility; + +public class BehaviourPlungerItem extends BehaviourNone { + + private final int mCosts; + private final String mTooltip = GTLanguageManager + .addStringLocalization("gt.behaviour.plunger.item", "Clears Items from Pipes"); + + public BehaviourPlungerItem(int aCosts) { + this.mCosts = aCosts; + } + + @Override + public boolean onItemUseFirst(MetaBaseItem aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, + int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { + if (aWorld.isRemote) { + return false; + } + TileEntity aTileEntity = aWorld.getTileEntity(aX, aY, aZ); + if (aTileEntity instanceof IGregTechTileEntity gtTE) { + IMetaTileEntity tMetaTileEntity = gtTE.getMetaTileEntity(); + if ((tMetaTileEntity instanceof IMetaTileEntityItemPipe)) { + for (IMetaTileEntityItemPipe tTileEntity : GTUtility + .sortMapByValuesAcending( + IMetaTileEntityItemPipe.Util + .scanPipes((IMetaTileEntityItemPipe) tMetaTileEntity, new HashMap<>(), 0L, false, true)) + .keySet()) { + int i = 0; + for (int j = tTileEntity.getSizeInventory(); i < j; i++) { + if (tTileEntity.isValidSlot(i)) { + if ((tTileEntity.getStackInSlot(i) != null) && ((aPlayer.capabilities.isCreativeMode) + || (((MetaGeneratedTool) aItem).doDamage(aStack, this.mCosts)))) { + final ItemStack tStack = tTileEntity.decrStackSize(i, 64); + if (tStack != null) { + final EntityItem tEntity = new EntityItem( + aWorld, + gtTE.getOffsetX(side, 1) + 0.5D, + gtTE.getOffsetY(side, 1) + 0.5D, + gtTE.getOffsetZ(side, 1) + 0.5D, + tStack); + tEntity.motionX = 0.0D; + tEntity.motionY = 0.0D; + tEntity.motionZ = 0.0D; + aWorld.spawnEntityInWorld(tEntity); + GTUtility.sendSoundToPlayers( + aWorld, + SoundResource.IC2_TOOLS_RUBBER_TRAMPOLINE, + 1.0F, + -1.0F, + aX, + aY, + aZ); + } + return true; + } + } + } + } + } + } + return false; + } + + @Override + public List getAdditionalToolTips(MetaBaseItem aItem, List aList, ItemStack aStack) { + aList.add(this.mTooltip); + return aList; + } +} diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourPrintedPages.java b/src/main/java/gregtech/common/items/behaviors/BehaviourPrintedPages.java new file mode 100644 index 0000000000..0716ffae7e --- /dev/null +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourPrintedPages.java @@ -0,0 +1,39 @@ +package gregtech.common.items.behaviors; + +import java.util.List; + +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; + +import gregtech.api.items.MetaBaseItem; +import gregtech.api.util.GTUtility; + +public class BehaviourPrintedPages extends BehaviourNone { + + public static String getTitle(ItemStack aStack) { + NBTTagCompound tNBT = aStack.getTagCompound(); + if (tNBT == null) { + return ""; + } + return tNBT.getString("title"); + } + + public static String getAuthor(ItemStack aStack) { + NBTTagCompound tNBT = aStack.getTagCompound(); + if (tNBT == null) { + return ""; + } + return tNBT.getString("author"); + } + + @Override + public List getAdditionalToolTips(MetaBaseItem aItem, List aList, ItemStack aStack) { + if (GTUtility.isStringValid(getTitle(aStack))) { + aList.add(getTitle(aStack)); + } + if (GTUtility.isStringValid(getAuthor(aStack))) { + aList.add("by " + getAuthor(aStack)); + } + return aList; + } +} diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourProspecting.java b/src/main/java/gregtech/common/items/behaviors/BehaviourProspecting.java new file mode 100644 index 0000000000..98aed597f9 --- /dev/null +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourProspecting.java @@ -0,0 +1,158 @@ +package gregtech.common.items.behaviors; + +import java.util.List; +import java.util.Random; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockLiquid; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.fluids.IFluidBlock; + +import gregtech.api.GregTechAPI; +import gregtech.api.enums.Materials; +import gregtech.api.enums.SoundResource; +import gregtech.api.items.MetaBaseItem; +import gregtech.api.items.MetaGeneratedTool; +import gregtech.api.objects.ItemData; +import gregtech.api.objects.XSTR; +import gregtech.api.util.GTLanguageManager; +import gregtech.api.util.GTModHandler; +import gregtech.api.util.GTOreDictUnificator; +import gregtech.api.util.GTUtility; +import gregtech.common.blocks.BlockOresAbstract; +import gregtech.common.blocks.TileEntityOres; + +public class BehaviourProspecting extends BehaviourNone { + + private final int mVanillaCosts; + private final int mEUCosts; + private final String mTooltip = GTLanguageManager + .addStringLocalization("gt.behaviour.prospecting", "Usable for Prospecting"); + + public BehaviourProspecting(int aVanillaCosts, int aEUCosts) { + this.mVanillaCosts = aVanillaCosts; + this.mEUCosts = aEUCosts; + } + + @Override + public boolean onItemUseFirst(MetaBaseItem aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, + int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { + if (aWorld.isRemote) { + return false; + } + Block aBlock = aWorld.getBlock(aX, aY, aZ); + if (aBlock == null) { + return false; + } + byte aMeta = (byte) aWorld.getBlockMetadata(aX, aY, aZ); + + ItemData tAssociation = GTOreDictUnificator.getAssociation(new ItemStack(aBlock, 1, aMeta)); + if (tAssociation != null && tAssociation.mPrefix != null + && tAssociation.mMaterial != null + && tAssociation.mPrefix.toString() + .startsWith("ore")) { + GTUtility.sendChatToPlayer( + aPlayer, + GTUtility.trans("100", "This is ") + tAssociation.mMaterial.mMaterial.mDefaultLocalName + + GTUtility.trans("101", " Ore.")); + GTUtility.sendSoundToPlayers(aWorld, SoundResource.RANDOM_ANVIL_USE, 1.0F, -1.0F, aX, aY, aZ); + return true; + } + + if (aBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Blocks.stone) + || aBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Blocks.netherrack) + || aBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Blocks.end_stone) + || aBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, GregTechAPI.sBlockStones) + || aBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, GregTechAPI.sBlockGranites) + || aBlock == GregTechAPI.sBlockOresUb1 + || aBlock == GregTechAPI.sBlockOresUb2 + || aBlock == GregTechAPI.sBlockOresUb3 + || aBlock == GregTechAPI.sBlockOres1) { + if (GTModHandler.damageOrDechargeItem(aStack, this.mVanillaCosts, this.mEUCosts, aPlayer)) { + GTUtility.sendSoundToPlayers(aWorld, SoundResource.RANDOM_ANVIL_USE, 1.0F, -1.0F, aX, aY, aZ); + int tMetaID; + int tQuality = aItem instanceof MetaGeneratedTool ? aItem.getHarvestLevel(aStack, "") : 0; + int tX = aX, tY = aY, tZ = aZ; + Block tBlock; + for (int i = 0, j = 6 + tQuality; i < j; i++) { + tX -= side.offsetX; + tY -= side.offsetY; + tZ -= side.offsetZ; + + tBlock = aWorld.getBlock(tX, tY, tZ); + if (tBlock == Blocks.lava || tBlock == Blocks.flowing_lava) { + GTUtility.sendChatToPlayer(aPlayer, GTUtility.trans("102", "There is Lava behind this Rock.")); + break; + } + if (tBlock instanceof BlockLiquid || tBlock instanceof IFluidBlock) { + GTUtility + .sendChatToPlayer(aPlayer, GTUtility.trans("103", "There is a Liquid behind this Rock.")); + break; + } + if (tBlock == Blocks.monster_egg || !GTUtility.hasBlockHitBox(aWorld, tX, tY, tZ)) { + GTUtility.sendChatToPlayer( + aPlayer, + GTUtility.trans("104", "There is an Air Pocket behind this Rock.")); + break; + } + if (tBlock != aBlock) { + if (i < 4) GTUtility.sendChatToPlayer( + aPlayer, + GTUtility.trans("105", "Material is changing behind this Rock.")); + break; + } + } + + final Random tRandom = new XSTR(aX ^ aY ^ aZ ^ side.ordinal()); + for (int i = 0, j = 9 + 2 * tQuality; i < j; i++) { + tX = aX - 4 - tQuality + tRandom.nextInt(j); + tY = aY - 4 - tQuality + tRandom.nextInt(j); + tZ = aZ - 4 - tQuality + tRandom.nextInt(j); + tBlock = aWorld.getBlock(tX, tY, tZ); + if (tBlock instanceof BlockOresAbstract) { + final TileEntity tTileEntity = aWorld.getTileEntity(tX, tY, tZ); + if (tTileEntity instanceof TileEntityOres) { + final Materials tMaterial = GregTechAPI.sGeneratedMaterials[((TileEntityOres) tTileEntity).mMetaData + % 1000]; + if (tMaterial != null && tMaterial != Materials._NULL) { + GTUtility.sendChatToPlayer( + aPlayer, + GTUtility.trans("106", "Found traces of ") + tMaterial.mDefaultLocalName + + GTUtility.trans("101", " Ore.")); + return true; + } + } + } else { + tMetaID = aWorld.getBlockMetadata(tX, tY, tZ); + tAssociation = GTOreDictUnificator.getAssociation(new ItemStack(tBlock, 1, tMetaID)); + if (tAssociation != null && tAssociation.mPrefix != null + && tAssociation.mMaterial != null + && tAssociation.mPrefix.toString() + .startsWith("ore")) { + GTUtility.sendChatToPlayer( + aPlayer, + GTUtility.trans("106", "Found traces of ") + + tAssociation.mMaterial.mMaterial.mDefaultLocalName + + GTUtility.trans("101", " Ore.")); + return true; + } + } + } + GTUtility.sendChatToPlayer(aPlayer, GTUtility.trans("107", "No Ores found.")); + return true; + } + } + return false; + } + + @Override + public List getAdditionalToolTips(MetaBaseItem aItem, List aList, ItemStack aStack) { + aList.add(this.mTooltip); + return aList; + } +} diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourScanner.java b/src/main/java/gregtech/common/items/behaviors/BehaviourScanner.java new file mode 100644 index 0000000000..75e702a3a7 --- /dev/null +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourScanner.java @@ -0,0 +1,65 @@ +package gregtech.common.items.behaviors; + +import java.util.ArrayList; +import java.util.List; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +import gregtech.api.enums.SoundResource; +import gregtech.api.interfaces.IItemBehaviour; +import gregtech.api.items.MetaBaseItem; +import gregtech.api.util.GTLanguageManager; +import gregtech.api.util.GTUtility; + +public class BehaviourScanner extends BehaviourNone { + + public static final IItemBehaviour INSTANCE = new BehaviourScanner(); + private final String mTooltip = GTLanguageManager + .addStringLocalization("gt.behaviour.scanning", "Can scan Blocks in World"); + + @Override + public boolean onItemUseFirst(MetaBaseItem aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, + int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { + final NBTTagCompound tNBT = aStack.getTagCompound(); + if (((aPlayer instanceof EntityPlayerMP)) && (aItem.canUse(aStack, 20000.0D))) { + final ArrayList tList = new ArrayList<>(); + if (aItem.use( + aStack, + GTUtility.getCoordinateScan(tList, aPlayer, aWorld, 1, aX, aY, aZ, side, hitX, hitY, hitZ), + aPlayer)) { + final int tList_sS = tList.size(); + tNBT.setInteger("dataLinesCount", tList_sS); + for (int i = 0; i < tList_sS; i++) { + tNBT.setString("dataLines" + i, tList.get(i)); + GTUtility.sendChatToPlayer(aPlayer, tList.get(i)); + } + } + return true; + } + GTUtility.doSoundAtClient(SoundResource.IC2_TOOLS_OD_SCANNER, 1, 1.0F, aX, aY, aZ); + // doGuiAtClient() + return aPlayer instanceof EntityPlayerMP; + } + + @Override + public List getAdditionalToolTips(MetaBaseItem aItem, List aList, ItemStack aStack) { + try { + NBTTagCompound tNBT = aStack.getTagCompound(); + int lines = tNBT.getInteger("dataLinesCount"); + if (lines < 1) throw new Exception(); + aList.add(EnumChatFormatting.BLUE + "Block scan data result:"); + for (int i = 0; i < lines; i++) { + aList.add(EnumChatFormatting.RESET + tNBT.getString("dataLines" + i)); + } + } catch (Exception e) { + aList.add(this.mTooltip); + } + return aList; + } +} diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourScoop.java b/src/main/java/gregtech/common/items/behaviors/BehaviourScoop.java new file mode 100644 index 0000000000..9f727dd8cc --- /dev/null +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourScoop.java @@ -0,0 +1,62 @@ +package gregtech.common.items.behaviors; + +import java.util.List; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; + +import forestry.api.lepidopterology.EnumFlutterType; +import forestry.api.lepidopterology.IButterfly; +import forestry.api.lepidopterology.IEntityButterfly; +import gregtech.api.items.MetaBaseItem; +import gregtech.api.items.MetaGeneratedTool; +import gregtech.api.util.GTLanguageManager; + +public class BehaviourScoop extends BehaviourNone { + + private final int mCosts; + private final String mTooltip = GTLanguageManager + .addStringLocalization("gt.behaviour.scoop", "Catches Butterflies on Leftclick"); + + public BehaviourScoop(int aCosts) { + this.mCosts = aCosts; + } + + @Override + public boolean onLeftClickEntity(MetaBaseItem aItem, ItemStack aStack, EntityPlayer aPlayer, Entity aEntity) { + if ((aEntity instanceof IEntityButterfly)) { + if (aPlayer.worldObj.isRemote) { + return true; + } + if ((aPlayer.capabilities.isCreativeMode) || (((MetaGeneratedTool) aItem).doDamage(aStack, this.mCosts))) { + IButterfly tButterfly = ((IEntityButterfly) aEntity).getButterfly(); + tButterfly.getGenome() + .getPrimary() + .getRoot() + .getBreedingTracker(aEntity.worldObj, aPlayer.getGameProfile()) + .registerCatch(tButterfly); + aPlayer.worldObj.spawnEntityInWorld( + new EntityItem( + aPlayer.worldObj, + aEntity.posX, + aEntity.posY, + aEntity.posZ, + tButterfly.getGenome() + .getPrimary() + .getRoot() + .getMemberStack(tButterfly.copy(), EnumFlutterType.BUTTERFLY.ordinal()))); + aEntity.setDead(); + } + return true; + } + return false; + } + + @Override + public List getAdditionalToolTips(MetaBaseItem aItem, List aList, ItemStack aStack) { + aList.add(this.mTooltip); + return aList; + } +} diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourScrewdriver.java b/src/main/java/gregtech/common/items/behaviors/BehaviourScrewdriver.java new file mode 100644 index 0000000000..599398349f --- /dev/null +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourScrewdriver.java @@ -0,0 +1,52 @@ +package gregtech.common.items.behaviors; + +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +import gregtech.api.enums.SoundResource; +import gregtech.api.items.MetaBaseItem; +import gregtech.api.util.GTModHandler; +import gregtech.api.util.GTUtility; + +public class BehaviourScrewdriver extends BehaviourNone { + + private final int mVanillaCosts; + private final int mEUCosts; + + public BehaviourScrewdriver(int aVanillaCosts, int aEUCosts) { + this.mVanillaCosts = aVanillaCosts; + this.mEUCosts = aEUCosts; + } + + @Override + public boolean onItemUseFirst(MetaBaseItem aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, + int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { + if (aWorld.isRemote) { + return false; + } + Block aBlock = aWorld.getBlock(aX, aY, aZ); + if (aBlock == null) { + return false; + } + byte aMeta = (byte) aWorld.getBlockMetadata(aX, aY, aZ); + if ((aBlock == Blocks.unpowered_repeater) || (aBlock == Blocks.powered_repeater)) { + if (GTModHandler.damageOrDechargeItem(aStack, this.mVanillaCosts, this.mEUCosts, aPlayer)) { + aWorld.setBlockMetadataWithNotify(aX, aY, aZ, aMeta / 4 * 4 + (aMeta % 4 + 1) % 4, 3); + GTUtility.sendSoundToPlayers(aWorld, SoundResource.IC2_TOOLS_WRENCH, 1.0F, -1.0F, aX, aY, aZ); + } + return true; + } + if ((aBlock == Blocks.unpowered_comparator) || (aBlock == Blocks.powered_comparator)) { + if (GTModHandler.damageOrDechargeItem(aStack, this.mVanillaCosts, this.mEUCosts, aPlayer)) { + aWorld.setBlockMetadataWithNotify(aX, aY, aZ, aMeta / 4 * 4 + (aMeta % 4 + 1) % 4, 3); + GTUtility.sendSoundToPlayers(aWorld, SoundResource.IC2_TOOLS_WRENCH, 1.0F, -1.0F, aX, aY, aZ); + } + return true; + } + return false; + } +} diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourSense.java b/src/main/java/gregtech/common/items/behaviors/BehaviourSense.java new file mode 100644 index 0000000000..eb55802207 --- /dev/null +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourSense.java @@ -0,0 +1,56 @@ +package gregtech.common.items.behaviors; + +import java.util.List; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +import gregtech.api.items.MetaBaseItem; +import gregtech.api.items.MetaGeneratedTool; +import gregtech.api.util.GTLanguageManager; +import ic2.api.crops.ICropTile; + +public class BehaviourSense extends BehaviourNone { + + private final int mCosts; + private final String mTooltip = GTLanguageManager + .addStringLocalization("gt.behaviour.sense", "Rightclick to harvest Crop Sticks"); + + public BehaviourSense(int aCosts) { + this.mCosts = aCosts; + } + + @Override + public boolean onItemUseFirst(MetaBaseItem aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, + int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { + if (aWorld.isRemote) { + return false; + } + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + if ((tTileEntity instanceof ICropTile)) { + for (int i = -2; i < 3; i++) { + for (int j = -2; j < 3; j++) { + for (int k = -2; k < 3; k++) { + if ((aStack.stackSize > 0) + && (((tTileEntity = aWorld.getTileEntity(aX + i, aY + j, aZ + k)) instanceof ICropTile)) + && (((ICropTile) tTileEntity).harvest(true)) + && (!aPlayer.capabilities.isCreativeMode)) { + ((MetaGeneratedTool) aItem).doDamage(aStack, this.mCosts / 20); + } + } + } + } + return true; + } + return false; + } + + @Override + public List getAdditionalToolTips(MetaBaseItem aItem, List aList, ItemStack aStack) { + aList.add(this.mTooltip); + return aList; + } +} diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourSensorKit.java b/src/main/java/gregtech/common/items/behaviors/BehaviourSensorKit.java new file mode 100644 index 0000000000..70ec04551e --- /dev/null +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourSensorKit.java @@ -0,0 +1,56 @@ +package gregtech.common.items.behaviors; + +import java.util.List; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +import gregtech.api.enums.ItemList; +import gregtech.api.interfaces.tileentity.IGregTechDeviceInformation; +import gregtech.api.items.MetaBaseItem; +import gregtech.api.util.GTLanguageManager; +import gregtech.api.util.GTUtility; + +public class BehaviourSensorKit extends BehaviourNone { + + private final String mTooltip = GTLanguageManager.addStringLocalization( + "gt.behaviour.sensorkit.tooltip", + "Used to display Information using the Mod Nuclear Control"); + + @Override + public boolean onItemUseFirst(MetaBaseItem aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, + int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { + if ((aPlayer instanceof EntityPlayerMP)) { + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + if (((tTileEntity instanceof IInventory)) && (!((IInventory) tTileEntity).isUseableByPlayer(aPlayer))) { + return false; + } + if (((tTileEntity instanceof IGregTechDeviceInformation)) + && (((IGregTechDeviceInformation) tTileEntity).isGivingInformation())) { + GTUtility.setStack(aStack, ItemList.NC_SensorCard.get(aStack.stackSize)); + NBTTagCompound tNBT = aStack.getTagCompound(); + if (tNBT == null) { + tNBT = new NBTTagCompound(); + } + tNBT.setInteger("x", aX); + tNBT.setInteger("y", aY); + tNBT.setInteger("z", aZ); + aStack.setTagCompound(tNBT); + } + return true; + } + return false; + } + + @Override + public List getAdditionalToolTips(MetaBaseItem aItem, List aList, ItemStack aStack) { + aList.add(this.mTooltip); + return aList; + } +} diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourSoftHammer.java b/src/main/java/gregtech/common/items/behaviors/BehaviourSoftHammer.java new file mode 100644 index 0000000000..83e458276d --- /dev/null +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourSoftHammer.java @@ -0,0 +1,123 @@ +package gregtech.common.items.behaviors; + +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +import gregtech.api.enums.SoundResource; +import gregtech.api.items.MetaBaseItem; +import gregtech.api.items.MetaGeneratedTool; +import gregtech.api.util.GTLanguageManager; +import gregtech.api.util.GTUtility; + +public class BehaviourSoftHammer extends BehaviourNone { + + private final int mCosts; + private final String mTooltip = GTLanguageManager + .addStringLocalization("gt.behaviour.softhammer", "Activates and Deactivates Machines"); + + public BehaviourSoftHammer(int aCosts) { + this.mCosts = aCosts; + } + + @Override + public boolean onItemUseFirst(MetaBaseItem aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, + int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { + if (aWorld.isRemote) { + return false; + } + Block aBlock = aWorld.getBlock(aX, aY, aZ); + if (aBlock == null) { + return false; + } + byte aMeta = (byte) aWorld.getBlockMetadata(aX, aY, aZ); + if (aBlock == Blocks.lit_redstone_lamp) { + if ((aPlayer.capabilities.isCreativeMode) || (((MetaGeneratedTool) aItem).doDamage(aStack, this.mCosts))) { + aWorld.isRemote = true; + aWorld.setBlock(aX, aY, aZ, Blocks.redstone_lamp, 0, 0); + aWorld.isRemote = false; + GTUtility + .sendSoundToPlayers(aWorld, SoundResource.IC2_TOOLS_RUBBER_TRAMPOLINE, 1.0F, -1.0F, aX, aY, aZ); + } + return true; + } + if (aBlock == Blocks.redstone_lamp) { + if ((aPlayer.capabilities.isCreativeMode) || (((MetaGeneratedTool) aItem).doDamage(aStack, this.mCosts))) { + aWorld.isRemote = true; + aWorld.setBlock(aX, aY, aZ, Blocks.lit_redstone_lamp, 0, 0); + aWorld.isRemote = false; + GTUtility + .sendSoundToPlayers(aWorld, SoundResource.IC2_TOOLS_RUBBER_TRAMPOLINE, 1.0F, -1.0F, aX, aY, aZ); + } + return true; + } + if (aBlock == Blocks.golden_rail) { + if ((aPlayer.capabilities.isCreativeMode) || (((MetaGeneratedTool) aItem).doDamage(aStack, this.mCosts))) { + aWorld.isRemote = true; + aWorld.setBlock(aX, aY, aZ, aBlock, (aMeta + 8) % 16, 0); + aWorld.isRemote = false; + GTUtility + .sendSoundToPlayers(aWorld, SoundResource.IC2_TOOLS_RUBBER_TRAMPOLINE, 1.0F, -1.0F, aX, aY, aZ); + } + return true; + } + if (aBlock == Blocks.activator_rail) { + if ((aPlayer.capabilities.isCreativeMode) || (((MetaGeneratedTool) aItem).doDamage(aStack, this.mCosts))) { + aWorld.isRemote = true; + aWorld.setBlock(aX, aY, aZ, aBlock, (aMeta + 8) % 16, 0); + aWorld.isRemote = false; + GTUtility + .sendSoundToPlayers(aWorld, SoundResource.IC2_TOOLS_RUBBER_TRAMPOLINE, 1.0F, -1.0F, aX, aY, aZ); + } + return true; + } + if ((aBlock == Blocks.log) || (aBlock == Blocks.log2) || (aBlock == Blocks.hay_block)) { + if ((aPlayer.capabilities.isCreativeMode) || (((MetaGeneratedTool) aItem).doDamage(aStack, this.mCosts))) { + aWorld.setBlockMetadataWithNotify(aX, aY, aZ, (aMeta + 4) % 12, 3); + } + return true; + } + if ((aBlock == Blocks.piston) || (aBlock == Blocks.sticky_piston) + || (aBlock == Blocks.dispenser) + || (aBlock == Blocks.dropper)) { + if ((aPlayer.capabilities.isCreativeMode) || (((MetaGeneratedTool) aItem).doDamage(aStack, this.mCosts))) { + aWorld.setBlockMetadataWithNotify(aX, aY, aZ, (aMeta + 1) % 6, 3); + GTUtility + .sendSoundToPlayers(aWorld, SoundResource.IC2_TOOLS_RUBBER_TRAMPOLINE, 1.0F, -1.0F, aX, aY, aZ); + } + return true; + } + if ((aBlock == Blocks.pumpkin) || (aBlock == Blocks.lit_pumpkin) + || (aBlock == Blocks.furnace) + || (aBlock == Blocks.lit_furnace) + || (aBlock == Blocks.chest) + || (aBlock == Blocks.trapped_chest)) { + if ((aPlayer.capabilities.isCreativeMode) || (((MetaGeneratedTool) aItem).doDamage(aStack, this.mCosts))) { + aWorld.setBlockMetadataWithNotify(aX, aY, aZ, (aMeta - 1) % 4 + 2, 3); + GTUtility + .sendSoundToPlayers(aWorld, SoundResource.IC2_TOOLS_RUBBER_TRAMPOLINE, 1.0F, -1.0F, aX, aY, aZ); + } + return true; + } + if (aBlock == Blocks.hopper) { + if ((aPlayer.capabilities.isCreativeMode) || (((MetaGeneratedTool) aItem).doDamage(aStack, this.mCosts))) { + aWorld.setBlockMetadataWithNotify(aX, aY, aZ, (aMeta + 1) % 6 != 1 ? (aMeta + 1) % 6 : 2, 3); + GTUtility + .sendSoundToPlayers(aWorld, SoundResource.IC2_TOOLS_RUBBER_TRAMPOLINE, 1.0F, -1.0F, aX, aY, aZ); + } + return true; + } + return false; + } + + @Override + public List getAdditionalToolTips(MetaBaseItem aItem, List aList, ItemStack aStack) { + aList.add(this.mTooltip); + return aList; + } +} diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourSonictron.java b/src/main/java/gregtech/common/items/behaviors/BehaviourSonictron.java new file mode 100644 index 0000000000..f362f7b3f4 --- /dev/null +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourSonictron.java @@ -0,0 +1,135 @@ +package gregtech.common.items.behaviors; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +import gregtech.api.enums.GTValues; +import gregtech.api.interfaces.IItemBehaviour; +import gregtech.api.items.MetaBaseItem; +import gregtech.api.util.GTUtility; + +public class BehaviourSonictron extends BehaviourNone { + + public static final IItemBehaviour INSTANCE = new BehaviourSonictron(); + + public static int getCurrentIndex(ItemStack aStack) { + NBTTagCompound tNBTTagCompound = aStack.getTagCompound(); + if (tNBTTagCompound == null) { + tNBTTagCompound = new NBTTagCompound(); + } + return tNBTTagCompound.getInteger("mCurrentIndex"); + } + + public static int getTickTimer(ItemStack aStack) { + NBTTagCompound tNBTTagCompound = aStack.getTagCompound(); + if (tNBTTagCompound == null) { + tNBTTagCompound = new NBTTagCompound(); + } + return tNBTTagCompound.getInteger("mTickTimer"); + } + + public static NBTTagCompound setCurrentIndex(ItemStack aStack, int aIndex) { + NBTTagCompound tNBTTagCompound = aStack.getTagCompound(); + if (tNBTTagCompound == null) { + tNBTTagCompound = new NBTTagCompound(); + } + tNBTTagCompound.setInteger("mCurrentIndex", aIndex); + return tNBTTagCompound; + } + + public static NBTTagCompound setTickTimer(ItemStack aStack, int aTime) { + NBTTagCompound tNBTTagCompound = aStack.getTagCompound(); + if (tNBTTagCompound == null) { + tNBTTagCompound = new NBTTagCompound(); + } + tNBTTagCompound.setInteger("mTickTimer", aTime); + return tNBTTagCompound; + } + + public static ItemStack[] getNBTInventory(ItemStack aStack) { + ItemStack[] tInventory = new ItemStack[64]; + NBTTagCompound tNBT = aStack.getTagCompound(); + if (tNBT == null) { + return tInventory; + } + NBTTagList tNBT_ItemList = tNBT.getTagList("Inventory", 10); + for (int i = 0; i < tNBT_ItemList.tagCount(); i++) { + NBTTagCompound tag = tNBT_ItemList.getCompoundTagAt(i); + byte slot = tag.getByte("Slot"); + if ((slot >= 0) && (slot < tInventory.length)) { + tInventory[slot] = GTUtility.loadItem(tag); + } + } + return tInventory; + } + + public static NBTTagCompound setNBTInventory(ItemStack aStack, ItemStack[] aInventory) { + NBTTagCompound tNBT = aStack.getTagCompound(); + if (tNBT == null) { + tNBT = new NBTTagCompound(); + } + NBTTagList tNBT_ItemList = new NBTTagList(); + for (int i = 0; i < aInventory.length; i++) { + ItemStack stack = aInventory[i]; + if (stack != null) { + NBTTagCompound tag = new NBTTagCompound(); + tag.setByte("Slot", (byte) i); + stack.writeToNBT(tag); + tNBT_ItemList.appendTag(tag); + } + } + tNBT.setTag("Inventory", tNBT_ItemList); + aStack.setTagCompound(tNBT); + return tNBT; + } + + public static void copyInventory(ItemStack[] aInventory, ItemStack[] aNewContent, int aIndexlength) { + for (int i = 0; i < aIndexlength; i++) { + if (aNewContent[i] == null) { + aInventory[i] = null; + } else { + aInventory[i] = GTUtility.copyOrNull(aNewContent[i]); + } + } + } + + @Override + public boolean onItemUseFirst(MetaBaseItem aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, + int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { + setCurrentIndex(aStack, -1); + return false; + } + + @Override + public ItemStack onItemRightClick(MetaBaseItem aItem, ItemStack aStack, World aWorld, EntityPlayer aPlayer) { + setCurrentIndex(aStack, 0); + return aStack; + } + + @Override + public void onUpdate(MetaBaseItem aItem, ItemStack aStack, World aWorld, Entity aPlayer, int aTimer, + boolean aIsInHand) { + int tTickTimer = getTickTimer(aStack); + int tCurrentIndex = getCurrentIndex(aStack); + if ((tTickTimer++ % 2 == 0) && (tCurrentIndex > -1)) { + ItemStack[] tInventory = getNBTInventory(aStack); + GTValues.GT.doSonictronSound( + tInventory[tCurrentIndex], + aPlayer.worldObj, + aPlayer.posX, + aPlayer.posY, + aPlayer.posZ); + tCurrentIndex++; + if (tCurrentIndex > 63) { + tCurrentIndex = -1; + } + } + setTickTimer(aStack, tTickTimer); + setCurrentIndex(aStack, tCurrentIndex); + } +} diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourSprayColor.java b/src/main/java/gregtech/common/items/behaviors/BehaviourSprayColor.java new file mode 100644 index 0000000000..e79f8e0939 --- /dev/null +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourSprayColor.java @@ -0,0 +1,218 @@ +package gregtech.common.items.behaviors; + +import java.util.Arrays; +import java.util.Collection; +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockColored; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +import appeng.api.implementations.tiles.IColorableTile; +import appeng.api.util.AEColor; +import appeng.block.networking.BlockCableBus; +import gregtech.api.enums.Dyes; +import gregtech.api.enums.SoundResource; +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.items.MetaBaseItem; +import gregtech.api.util.GTLanguageManager; +import gregtech.api.util.GTUtility; +import gregtech.common.config.other.ConfigGeneral; + +public class BehaviourSprayColor extends BehaviourNone { + + private final ItemStack mEmpty; + private final ItemStack mUsed; + private final ItemStack mFull; + private final long mUses; + private final byte mColor; + private final Collection mAllowedVanillaBlocks = Arrays.asList( + Blocks.glass, + Blocks.glass_pane, + Blocks.stained_glass, + Blocks.stained_glass_pane, + Blocks.carpet, + Blocks.hardened_clay); + protected String mTooltip; + private final String mTooltipUses = GTLanguageManager + .addStringLocalization("gt.behaviour.paintspray.uses", "Remaining Uses:"); + private final String mTooltipUnstackable = GTLanguageManager + .addStringLocalization("gt.behaviour.unstackable", "Not usable when stacked!"); + private final String mTooltipChain = GTLanguageManager.addStringLocalization( + "gt.behaviour.paintspray.chain", + "If used while sneaking it will spray a chain of blocks"); + + private final String mTooltipChainAmount = GTLanguageManager.addStringLocalization( + "gt.behaviour.paintspray.chain", + "Sprays up to %d blocks, in the direction you're looking at"); + + public BehaviourSprayColor(ItemStack aEmpty, ItemStack aUsed, ItemStack aFull, long aUses, int aColor) { + this.mEmpty = aEmpty; + this.mUsed = aUsed; + this.mFull = aFull; + this.mUses = aUses; + this.mColor = ((byte) aColor); + this.mTooltip = GTLanguageManager.addStringLocalization( + "gt.behaviour.paintspray." + this.mColor + ".tooltip", + "Can Color things in " + Dyes.get(this.mColor).mName); + } + + public BehaviourSprayColor(ItemStack aEmpty, ItemStack aUsed, ItemStack aFull, long aUses) { + this.mEmpty = aEmpty; + this.mUsed = aUsed; + this.mFull = aFull; + this.mUses = aUses; + this.mColor = 0; + mTooltip = ""; + } + + @Override + public boolean onItemUseFirst(MetaBaseItem aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, + int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { + if ((aWorld.isRemote) || (aStack.stackSize != 1)) { + return false; + } + boolean rOutput = false; + if (!aPlayer.canPlayerEdit(aX, aY, aZ, side.ordinal(), aStack)) { + return false; + } + NBTTagCompound tNBT = aStack.getTagCompound(); + if (tNBT == null) { + tNBT = new NBTTagCompound(); + } + long tUses = tNBT.getLong("GT.RemainingPaint"); + if (GTUtility.areStacksEqual(aStack, this.mFull, true)) { + aStack.func_150996_a(this.mUsed.getItem()); + Items.feather.setDamage(aStack, Items.feather.getDamage(this.mUsed)); + tUses = this.mUses; + } + int painted = 0; + int maxPainted = ConfigGeneral.sprayCanChainRange; + ForgeDirection lookSide; + Vec3 look = aPlayer.getLookVec(); + double absX = Math.abs(look.xCoord); + double absY = Math.abs(look.yCoord); + double absZ = Math.abs(look.zCoord); + if (absX > absY && absX > absZ) { + lookSide = look.xCoord > 0 ? ForgeDirection.EAST : ForgeDirection.WEST; + } else if (absY > absX && absY > absZ) { + lookSide = look.yCoord > 0 ? ForgeDirection.UP : ForgeDirection.DOWN; + } else { + lookSide = look.zCoord > 0 ? ForgeDirection.SOUTH : ForgeDirection.NORTH; + } + Block initialBlock = aWorld.getBlock(aX, aY, aZ); + int initialBlockMeta = aWorld.getBlockMetadata(aX, aY, aZ); + TileEntity initialTE = aWorld.getTileEntity(aX, aY, aZ); + while ((GTUtility.areStacksEqual(aStack, this.mUsed, true)) && (colorize(aWorld, aX, aY, aZ, side, aPlayer))) { + GTUtility.sendSoundToPlayers(aWorld, SoundResource.IC2_TOOLS_PAINTER, 1.0F, 1.0F, aX, aY, aZ); + if (!aPlayer.capabilities.isCreativeMode) { + tUses -= 1L; + } + rOutput = true; + painted++; + if (painted >= maxPainted && maxPainted != -1) break; + if (!aPlayer.isSneaking() || tUses <= 0) break; + switch (lookSide) { + case UP -> aY += 1; + case DOWN -> aY -= 1; + case NORTH -> aZ -= 1; + case SOUTH -> aZ += 1; + case WEST -> aX -= 1; + case EAST -> aX += 1; + default -> throw new IllegalArgumentException("Unexpected value: " + lookSide); + } + + if (aWorld.getBlock(aX, aY, aZ) != initialBlock) break; + if (aWorld.getBlockMetadata(aX, aY, aZ) != initialBlockMeta) break; + + /* + * Check if the initial block had a TE and if the next one does, check if its the same kind. + * else one does and the other doesnt, thus stop checking. + */ + TileEntity targetTE = aWorld.getTileEntity(aX, aY, aZ); + if (initialTE == null ^ targetTE == null) break; + if (initialTE != null && targetTE != null) { + if (!initialTE.getClass() + .isInstance(targetTE)) break; + + if (initialTE instanceof IGregTechTileEntity currentGTTile + && targetTE instanceof IGregTechTileEntity targetGTTile) { + if (currentGTTile.getMetaTileID() != targetGTTile.getMetaTileID()) break; + } + } + } + tNBT.removeTag("GT.RemainingPaint"); + if (tUses > 0L) { + tNBT.setLong("GT.RemainingPaint", tUses); + } + if (tNBT.hasNoTags()) { + aStack.setTagCompound(null); + } else { + aStack.setTagCompound(tNBT); + } + if (tUses <= 0L) { + if (this.mEmpty == null) { + aStack.stackSize -= 1; + } else { + aStack.func_150996_a(this.mEmpty.getItem()); + Items.feather.setDamage(aStack, Items.feather.getDamage(this.mEmpty)); + } + } + return rOutput; + } + + protected boolean colorize(World aWorld, int aX, int aY, int aZ, ForgeDirection side, EntityPlayer player) { + final Block aBlock = aWorld.getBlock(aX, aY, aZ); + if (aBlock != Blocks.air) { + if (this.mAllowedVanillaBlocks.contains(aBlock) || aBlock instanceof BlockColored) { + if (aBlock == Blocks.hardened_clay) { + aWorld.setBlock(aX, aY, aZ, Blocks.stained_hardened_clay, (~this.mColor) & 0xF, 3); + return true; + } + if (aBlock == Blocks.glass_pane) { + aWorld.setBlock(aX, aY, aZ, Blocks.stained_glass_pane, (~this.mColor) & 0xF, 3); + return true; + } + if (aBlock == Blocks.glass) { + aWorld.setBlock(aX, aY, aZ, Blocks.stained_glass, (~this.mColor) & 0xF, 3); + return true; + } + if (aWorld.getBlockMetadata(aX, aY, aZ) == ((~this.mColor) & 0xF)) { + return false; + } + aWorld.setBlockMetadataWithNotify(aX, aY, aZ, (~this.mColor) & 0xF, 3); + return true; + } + + if (aBlock instanceof IColorableTile) { + return ((IColorableTile) aBlock).recolourBlock(side, AEColor.values()[(~this.mColor) & 0xF], player); + } + + if (aBlock instanceof BlockCableBus) { + return ((BlockCableBus) aBlock).recolourBlock(aWorld, aX, aY, aZ, side, (~this.mColor) & 0xF, player); + } + } + return aBlock.recolourBlock(aWorld, aX, aY, aZ, side, (~this.mColor) & 0xF); + } + + @Override + public List getAdditionalToolTips(MetaBaseItem aItem, List aList, ItemStack aStack) { + aList.add(this.mTooltip); + aList.add(this.mTooltipChain); + aList.add(String.format(this.mTooltipChainAmount, ConfigGeneral.sprayCanChainRange)); + NBTTagCompound tNBT = aStack.getTagCompound(); + long tRemainingPaint = tNBT == null ? this.mUses + : GTUtility.areStacksEqual(aStack, this.mFull, true) ? this.mUses : tNBT.getLong("GT.RemainingPaint"); + aList.add(this.mTooltipUses + " " + tRemainingPaint); + aList.add(this.mTooltipUnstackable); + return aList; + } +} diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourSprayColorRemover.java b/src/main/java/gregtech/common/items/behaviors/BehaviourSprayColorRemover.java new file mode 100644 index 0000000000..cdf35161e3 --- /dev/null +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourSprayColorRemover.java @@ -0,0 +1,48 @@ +package gregtech.common.items.behaviors; + +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +import appeng.api.implementations.tiles.IColorableTile; +import appeng.api.util.AEColor; +import appeng.block.networking.BlockCableBus; +import gregtech.api.interfaces.tileentity.IColoredTileEntity; +import gregtech.api.util.GTLanguageManager; + +public class BehaviourSprayColorRemover extends BehaviourSprayColor { + + public BehaviourSprayColorRemover(ItemStack aEmpty, ItemStack aUsed, ItemStack aFull, long aUses) { + super(aEmpty, aUsed, aFull, aUses); + this.mTooltip = GTLanguageManager + .addStringLocalization("gt.behaviour.paintspray.solvent.tooltip", "Can remove paint from things"); + } + + @Override + protected boolean colorize(World aWorld, int aX, int aY, int aZ, ForgeDirection side, EntityPlayer player) { + final Block aBlock = aWorld.getBlock(aX, aY, aZ); + if (aBlock != Blocks.air) { + if (aBlock instanceof IColorableTile) { + return ((IColorableTile) aBlock).recolourBlock(side, AEColor.Transparent, player); + } + + if (aBlock instanceof BlockCableBus) { + return ((BlockCableBus) aBlock) + .recolourBlock(aWorld, aX, aY, aZ, side, AEColor.Transparent.ordinal(), player); + } + + TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); + if (tTileEntity instanceof IColoredTileEntity gte) { + if (gte.getColorization() >= 0) { + gte.setColorization((byte) -1); + return true; + } + } + } + return false; + } +} diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourSwitchMetadata.java b/src/main/java/gregtech/common/items/behaviors/BehaviourSwitchMetadata.java new file mode 100644 index 0000000000..0d195660c2 --- /dev/null +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourSwitchMetadata.java @@ -0,0 +1,67 @@ +package gregtech.common.items.behaviors; + +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +import gregtech.api.items.GTGenericBlock; +import gregtech.api.items.MetaBaseItem; +import gregtech.api.util.GTUtil; +import gregtech.api.util.GTUtility; + +public class BehaviourSwitchMetadata extends BehaviourNone { + + public final int mSwitchIndex; + public final boolean mCheckTarget, mShowModeSwitchTooltip; + + public BehaviourSwitchMetadata(int aSwitchIndex) { + this(aSwitchIndex, false); + } + + public BehaviourSwitchMetadata(int aSwitchIndex, boolean aCheckTarget) { + this(aSwitchIndex, aCheckTarget, false); + } + + public BehaviourSwitchMetadata(int aSwitchIndex, boolean aCheckTarget, boolean aShowModeSwitchTooltip) { + mSwitchIndex = aSwitchIndex; + mCheckTarget = aCheckTarget; + mShowModeSwitchTooltip = aShowModeSwitchTooltip; + } + + @Override + public List getAdditionalToolTips(MetaBaseItem aItem, List aList, ItemStack aStack) { + if (mShowModeSwitchTooltip) aList.add(GTUtility.trans("330", "Sneak Rightclick to switch Mode")); + return aList; + } + + @Override + public boolean onItemUseFirst(MetaBaseItem aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, + int aY, int aZ, ForgeDirection side, float aHitX, float aHitY, float aHitZ) { + if (aStack != null && (aPlayer == null || aPlayer.isSneaking()) && !aWorld.isRemote) { + if (mCheckTarget) { + Block aBlock = aWorld.blockExists(aX, aY, aZ) ? aWorld.getBlock(aX, aY, aZ) : Blocks.air; + if (aBlock instanceof GTGenericBlock) { + Items.feather.setDamage(aStack, (short) mSwitchIndex); + GTUtility.updateItemStack(aStack); + return true; + } + if (GTUtil.getTileEntity(aWorld, aX, aY, aZ, true) == null) { + Items.feather.setDamage(aStack, (short) mSwitchIndex); + GTUtility.updateItemStack(aStack); + return true; + } + return false; + } + Items.feather.setDamage(aStack, (short) mSwitchIndex); + GTUtility.updateItemStack(aStack); + return true; + } + return false; + } +} diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourSwitchMode.java b/src/main/java/gregtech/common/items/behaviors/BehaviourSwitchMode.java new file mode 100644 index 0000000000..ba1730f805 --- /dev/null +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourSwitchMode.java @@ -0,0 +1,53 @@ +package gregtech.common.items.behaviors; + +import java.util.List; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; + +import gregtech.api.enums.GTValues; +import gregtech.api.items.MetaBaseItem; +import gregtech.api.items.MetaGeneratedTool; +import gregtech.api.net.GTPacketToolSwitchMode; +import gregtech.api.util.GTUtility; + +public class BehaviourSwitchMode extends BehaviourNone { + + public BehaviourSwitchMode() {} + + @Override + public ItemStack onItemRightClick(MetaBaseItem aItem, ItemStack aStack, World aWorld, EntityPlayer aPlayer) { + if (aStack != null && (aPlayer == null || aPlayer.isSneaking()) && aWorld.isRemote) { + + MetaGeneratedTool itemTool = (MetaGeneratedTool) aItem; + final byte maxMode = itemTool.getToolMaxMode(aStack); + if (maxMode == 1) { + return aStack; + } + + MovingObjectPosition mop = GTUtility.getPlayerLookingTarget(aPlayer); + if (mop == null) { + GTValues.NW.sendToServer(new GTPacketToolSwitchMode()); + } + return aStack; + } + return aStack; + } + + @Override + public List getAdditionalToolTips(MetaBaseItem aItem, List aList, ItemStack aStack) { + super.getAdditionalToolTips(aItem, aList, aStack); + if ((aItem instanceof MetaGeneratedTool)) { + MetaGeneratedTool itemTool = (MetaGeneratedTool) aItem; + final int maxMode = itemTool.getToolMaxMode(aStack); + if (maxMode > 1) { + aList.add("Shift+Rclick to change mode"); + } + } + + return aList; + } + +} diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourWrench.java b/src/main/java/gregtech/common/items/behaviors/BehaviourWrench.java new file mode 100644 index 0000000000..6155a6c739 --- /dev/null +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourWrench.java @@ -0,0 +1,278 @@ +package gregtech.common.items.behaviors; + +import java.util.Arrays; +import java.util.List; +import java.util.function.BooleanSupplier; + +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.oredict.OreDictionary; + +import appeng.api.parts.IPartHost; +import appeng.api.util.IOrientable; +import appeng.tile.misc.TileInterface; +import gregtech.api.enums.SoundResource; +import gregtech.api.items.MetaBaseItem; +import gregtech.api.items.MetaGeneratedTool; +import gregtech.api.util.GTLanguageManager; +import gregtech.api.util.GTUtility; +import ic2.api.tile.IWrenchable; + +public class BehaviourWrench extends BehaviourNone { + + private final int mCosts; + private final String mTooltip = GTLanguageManager + .addStringLocalization("gt.behaviour.wrench", "Rotates Blocks on Rightclick"); + + public BehaviourWrench(int aCosts) { + this.mCosts = aCosts; + } + + @Override + public boolean onItemUseFirst(MetaBaseItem aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, + int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { + final Block aBlock = aWorld.getBlock(aX, aY, aZ); + if (aBlock == null) { + return false; + } + final int aMeta = aWorld.getBlockMetadata(aX, aY, aZ); + final short targetSideOrdinal = (short) GTUtility.determineWrenchingSide(side, hitX, hitY, hitZ) + .ordinal(); + final TileEntity aTileEntity = aWorld.getTileEntity(aX, aY, aZ); + + final WrenchHandler handler = new WrenchHandler( + aBlock, + aMeta, + targetSideOrdinal, + aTileEntity, + aPlayer, + aWorld, + aX, + aY, + aZ, + aStack, + (MetaGeneratedTool) aItem, + mCosts); + + try { + return handler.handle() && !aWorld.isRemote; + } catch (Throwable ignored) {} + return false; + } + + /** + *

+ * A class to simplify wrenching operation, + * stopping "checking creative", "trying to damage tool", + * "doing the logic" and "playing sound" again and again. + * This should have been a record, but it's not available in Java 8. + *

+ *

+ * {@link WrenchHandler#handle()} is the entry point of main logic. + *

+ */ + private static class WrenchHandler { + + boolean handle() { + ForgeDirection direction = ForgeDirection.getOrientation(targetSideOrdinal); + + // AE2 logic + // default to change the up facing + // sneak to change the forward facing + if (tileEntity instanceof IOrientable orientable) { + if (!orientable.canBeRotated()) return false; + ForgeDirection front = orientable.getForward(); + ForgeDirection up = orientable.getUp(); + + // mainly for me-interfaces, whose initial orientation is UNKNOWN + if (front == ForgeDirection.UNKNOWN) { + if (direction == ForgeDirection.UP || direction == ForgeDirection.DOWN) + front = ForgeDirection.NORTH; + else front = ForgeDirection.UP; + } + + ForgeDirection back = front.getOpposite(); + ForgeDirection down = up.getOpposite(); + + if (tileEntity instanceof TileInterface) { + if (player.isSneaking()) return false; + if (direction == down) { + return doWrenchOperation(costs, () -> { + orientable.setOrientation(ForgeDirection.UNKNOWN, ForgeDirection.UNKNOWN); + return true; + }); + } + // interface's up-side is opposite to the arrow on texture + // make it intuitive by rotating it to the opposite side. + direction = direction.getOpposite(); + up = up.getOpposite(); + } else if (direction == up || direction == front) { + // rotate around the direction axis + final var tempFront = front; + final var tempUp = up; + if (!player.isSneaking() && direction == up) return doWrenchOperation(costs, () -> { + orientable.setOrientation(tempFront.getRotation(tempUp), tempUp); + return true; + }); + if (player.isSneaking() && direction == front) return doWrenchOperation(costs, () -> { + orientable.setOrientation( + tempFront, + tempUp.getRotation(tempFront) + .getRotation(tempFront)); + return true; + }); + } + + if (player.isSneaking()) { + if (direction == up || direction == down) { + orientable.setOrientation(direction, down.getRotation(front.getRotation(direction))); + } else orientable.setOrientation(direction, up); + } else { + if (direction == front || direction == back) { + orientable.setOrientation(back.getRotation(up.getRotation(direction)), direction); + } else orientable.setOrientation(front, direction); + } + + return damageWrench(costs); + } + if (world.isRemote) return false; + // IC2 Wrenchable + if (tileEntity instanceof IWrenchable wrenchable) { + if (wrenchable.wrenchCanSetFacing(player, targetSideOrdinal)) { + return doWrenchOperation(costs, () -> { + wrenchable.setFacing(targetSideOrdinal); + return true; + }); + } + return false; + } + + if (block == Blocks.powered_repeater || block == Blocks.unpowered_repeater + || block == Blocks.powered_comparator + || block == Blocks.unpowered_comparator) return setBlockMeta(costs, meta / 4 * 4 + (meta % 4 + 1) % 4); + + // hopper cannot face sky + if (block == Blocks.hopper && targetSideOrdinal != 1) return setBlockMeta(costs, targetSideOrdinal); + + if (isVanillaAllSideRotatable(block)) if (meta < 6) return setBlockMeta(costs, targetSideOrdinal); + + // blocks like chests and furnaces have only four directions + if (isVanillaCantFaceAxisY(block)) { + if (targetSideOrdinal > 1) return setBlockMeta(costs, targetSideOrdinal); + else return false; + } + if (tileEntity instanceof IPartHost) return false; + + final int logWoodId = OreDictionary.getOreID("logWood"); + if (Arrays.stream(OreDictionary.getOreIDs(new ItemStack(block))) + .anyMatch(id -> id == logWoodId)) { + // The meta just work + return setBlockMeta(costs, (meta + 4) % 12); + } + + // vanilla block rotate logic + if ((Arrays.asList(block.getValidRotations(world, x, y, z)) + .contains(direction))) return rotateBlock(costs, direction); + return false; + + // GT blocks' rotations are done by blocks themselves after this returning false + } + + private final Block block; + private final short targetSideOrdinal; + private final TileEntity tileEntity; + private final EntityPlayer player; + private final World world; + private final int x, y, z, meta; + private final ItemStack stack; + + private final MetaGeneratedTool item; + private final int costs; + + public WrenchHandler(Block block, int meta, short targetSideOrdinal, TileEntity tileEntity, EntityPlayer player, + World world, int x, int y, int z, ItemStack stack, MetaGeneratedTool item, int costs) { + this.block = block; + this.meta = meta; + this.targetSideOrdinal = targetSideOrdinal; + this.tileEntity = tileEntity; + this.player = player; + this.world = world; + this.x = x; + this.y = y; + this.z = z; + this.stack = stack; + this.item = item; + this.costs = costs; + } + + /** + * this will run the operation, damage the tool and play the sound if possible (creative mode or + * {@link MetaGeneratedTool#canWrench(EntityPlayer, int, int, int)}) + * + * @param damage damage to be applied to the wrench + * @param operation the real operation of the click + * @return true if the operation was successful + * @see #setBlockMeta(int, int) + * @see #rotateBlock(int, ForgeDirection) + * @see #rotateBlock(int, ForgeDirection) + */ + boolean doWrenchOperation(int damage, BooleanSupplier operation) { + if (player.capabilities.isCreativeMode || item.canWrench(player, x, y, z)) { + if (operation.getAsBoolean()) { + item.doDamage(stack, damage); + GTUtility.sendSoundToPlayers(world, SoundResource.IC2_TOOLS_WRENCH, 1.0F, -1.0F, x, y, z); + return true; + } + } + return false; + } + + boolean setBlockMeta(int damage, int newMeta) { + return doWrenchOperation(damage, () -> setBlockMetadataWithNotify(newMeta)); + } + + boolean rotateBlock(int damage, ForgeDirection direction) { + return doWrenchOperation(damage, () -> block.rotateBlock(world, x, y, z, direction)); + } + + boolean damageWrench(int damage) { + return doWrenchOperation(damage, () -> true); + } + + private boolean setBlockMetadataWithNotify(int newMeta) { + return world.setBlockMetadataWithNotify(x, y, z, newMeta, 3); + } + + } + + public static boolean isVanillaRotatable(Block block) { + return isVanillaCantFaceAxisY(block) || isVanillaAllSideRotatable(block) || block == Blocks.hopper; + } + + public static boolean isVanillaCantFaceAxisY(Block block) { + return GTUtility.arrayContains( + block, + Blocks.pumpkin, + Blocks.lit_pumpkin, + Blocks.furnace, + Blocks.lit_furnace, + Blocks.chest, + Blocks.trapped_chest, + Blocks.ender_chest); + } + + public static boolean isVanillaAllSideRotatable(Block block) { + return GTUtility.arrayContains(block, Blocks.piston, Blocks.sticky_piston, Blocks.dispenser, Blocks.dropper); + } + + @Override + public List getAdditionalToolTips(MetaBaseItem aItem, List aList, ItemStack aStack) { + aList.add(this.mTooltip); + return aList; + } +} diff --git a/src/main/java/gregtech/common/items/behaviors/BehaviourWrittenBook.java b/src/main/java/gregtech/common/items/behaviors/BehaviourWrittenBook.java new file mode 100644 index 0000000000..54aa3d8b0d --- /dev/null +++ b/src/main/java/gregtech/common/items/behaviors/BehaviourWrittenBook.java @@ -0,0 +1,40 @@ +package gregtech.common.items.behaviors; + +import java.util.List; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.entity.EntityPlayerSP; +import net.minecraft.client.gui.GuiScreenBook; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gregtech.api.items.MetaBaseItem; +import gregtech.api.util.GTUtility; + +public class BehaviourWrittenBook extends BehaviourNone { + + @Override + @SideOnly(Side.CLIENT) + public boolean onItemUse(MetaBaseItem aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, + int aZ, int ordinalSide, float hitX, float hitY, float hitZ) { + if ((GTUtility.isStringValid(GTUtility.ItemNBT.getBookTitle(aStack))) + && ((aPlayer instanceof EntityPlayerSP))) { + Minecraft.getMinecraft() + .displayGuiScreen(new GuiScreenBook(aPlayer, aStack, false)); + } + return true; + } + + @Override + public List getAdditionalToolTips(MetaBaseItem aItem, List aList, ItemStack aStack) { + String tTitle = GTUtility.ItemNBT.getBookTitle(aStack); + if (GTUtility.isStringValid(tTitle)) { + aList.add(tTitle); + aList.add("by " + GTUtility.ItemNBT.getBookAuthor(aStack)); + } + return aList; + } +} diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_Cover_Tool.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_Cover_Tool.java deleted file mode 100644 index 4241e07e4b..0000000000 --- a/src/main/java/gregtech/common/items/behaviors/Behaviour_Cover_Tool.java +++ /dev/null @@ -1,193 +0,0 @@ -package gregtech.common.items.behaviors; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTBase; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -import gregtech.api.GregTech_API; -import gregtech.api.enums.SoundResource; -import gregtech.api.interfaces.IItemBehaviour; -import gregtech.api.interfaces.tileentity.ICoverable; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.util.GT_CoverBehaviorBase; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_Utility; -import gregtech.api.util.ISerializableObject; - -public class Behaviour_Cover_Tool extends Behaviour_None { - - public static final IItemBehaviour INSTANCE = new Behaviour_Cover_Tool(); - private final String mTooltip = GT_LanguageManager - .addStringLocalization("gt.behaviour.cover_copy_paste", "Can copy/paste cover data."); - - private ISerializableObject mStoredData = GregTech_API.sNoBehavior.createDataObject(); - private int mCoverType; - private int mTickRateAddition = 0; - - @Override - public boolean onItemUseFirst(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, - int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { - if (aWorld.isRemote) { - return false; - } - final NBTTagCompound tNBT = aStack.getTagCompound(); - final TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); - final boolean isCopyMode = aPlayer.isSneaking(); - initDataFromNBT(tNBT); - if (((aPlayer instanceof EntityPlayerMP)) && (aItem.canUse(aStack, 100.0D))) { - if (isCopyMode) { - ArrayList tList = new ArrayList<>(); - doCopy(tTileEntity, aWorld, aX, aY, aZ, side, hitX, hitY, hitZ, tList); - aItem.discharge(aStack, 100.0D, Integer.MAX_VALUE, true, false, false); - writeListToNBT(tList, tNBT, aPlayer); - saveDataToNBT(tNBT); - } else { - doPaste(tTileEntity, side, hitX, hitY, hitZ, aPlayer); - aItem.discharge(aStack, 25.0D, Integer.MAX_VALUE, true, false, false); - } - } - GT_Utility.doSoundAtClient(SoundResource.IC2_TOOLS_OD_SCANNER, 1, 1.0F, aX, aY, aZ); - return aPlayer instanceof EntityPlayerMP; - } - - private void initDataFromNBT(NBTTagCompound aNBT) { - if (aNBT != null) { - mCoverType = aNBT.getInteger("mCoverType"); - GT_CoverBehaviorBase tBehavior = GregTech_API.getCoverBehaviorNew(mCoverType); - NBTBase tData = aNBT.getTag("mCoverData"); - if (tData != null) mStoredData = tBehavior.createDataObject(tData); - else mStoredData = GregTech_API.sNoBehavior.createDataObject(); - mTickRateAddition = aNBT.hasKey("mTickRateAddition") ? aNBT.getInteger("mTickRateAddition") : 0; - } - } - - private void saveDataToNBT(NBTTagCompound aNBT) { - aNBT.setInteger("mCoverType", mCoverType); - if (mStoredData == null) mStoredData = GregTech_API.sNoBehavior.createDataObject(); - aNBT.setTag("mCoverData", mStoredData.saveDataToNBT()); - aNBT.setInteger("mTickRateAddition", mTickRateAddition); - } - - @SuppressWarnings("rawtypes") - private void writeListToNBT(List aList, NBTTagCompound aNBT, EntityPlayer aPlayer) { - if (aList != null && aNBT != null) { - int tSize = aList.size(); - aNBT.setInteger("dataLinesCount", tSize); - for (int i = 0; i < tSize; i++) { - aNBT.setString("dataLines" + i, (String) aList.get(i)); - GT_Utility.sendChatToPlayer(aPlayer, (String) aList.get(i)); - } - } - } - - @SuppressWarnings({ "unchecked", "rawtypes" }) - private void doCopy(TileEntity aTileEntity, World aWorld, int aX, int aY, int aZ, ForgeDirection side, float hitX, - float hitY, float hitZ, List aList) { - aList.add( - "----- X: " + EnumChatFormatting.AQUA - + GT_Utility.formatNumbers(aX) - + EnumChatFormatting.RESET - + " Y: " - + EnumChatFormatting.AQUA - + GT_Utility.formatNumbers(aY) - + EnumChatFormatting.RESET - + " Z: " - + EnumChatFormatting.AQUA - + GT_Utility.formatNumbers(aZ) - + EnumChatFormatting.RESET - + " D: " - + EnumChatFormatting.AQUA - + aWorld.provider.dimensionId - + EnumChatFormatting.RESET - + " -----"); - if (aTileEntity instanceof ICoverable tCoverable) { - final ForgeDirection tSide = tCoverable.getCoverItemAtSide(side) != null ? side - : tCoverable.getCoverItemAtSide(GT_Utility.determineWrenchingSide(side, hitX, hitY, hitZ)) != null - ? GT_Utility.determineWrenchingSide(side, hitX, hitY, hitZ) - : ForgeDirection.UNKNOWN; - if (tSide != ForgeDirection.UNKNOWN) { - if (tCoverable.getCoverBehaviorAtSideNew(tSide) - .allowsCopyPasteTool()) { - mStoredData = tCoverable.getComplexCoverDataAtSide(tSide); - mCoverType = tCoverable.getCoverIDAtSide(tSide); - mTickRateAddition = tCoverable.getCoverInfoAtSide(tSide) - .getTickRateAddition(); - - aList.add("Block Side: " + EnumChatFormatting.AQUA + tSide.name() + EnumChatFormatting.RESET); - aList.add( - "Cover Type: " + EnumChatFormatting.GREEN - + tCoverable.getCoverItemAtSide(tSide) - .getDisplayName() - + EnumChatFormatting.RESET); - } else { - mStoredData = GregTech_API.sNoBehavior.createDataObject(); - mCoverType = 0; - mTickRateAddition = 0; - aList.add("Copy unavailable for this cover type"); - } - } else { - mStoredData = GregTech_API.sNoBehavior.createDataObject(); - mCoverType = 0; - mTickRateAddition = 0; - aList.add("No Cover Found"); - } - } else { - mStoredData = GregTech_API.sNoBehavior.createDataObject(); - mCoverType = 0; - mTickRateAddition = 0; - aList.add("No Cover Found"); - } - } - - private void doPaste(TileEntity aTileEntity, ForgeDirection side, float hitX, float hitY, float hitZ, - EntityPlayer aPlayer) { - if (aTileEntity instanceof ICoverable tCoverable) { - if (mCoverType == 0 || mStoredData == null) { - GT_Utility.sendChatToPlayer(aPlayer, "Please Copy a Valid Cover First."); - return; - } - final ForgeDirection tSide = tCoverable.getCoverItemAtSide(side) != null ? side - : tCoverable.getCoverItemAtSide(GT_Utility.determineWrenchingSide(side, hitX, hitY, hitZ)) != null - ? GT_Utility.determineWrenchingSide(side, hitX, hitY, hitZ) - : ForgeDirection.UNKNOWN; - if (tSide != ForgeDirection.UNKNOWN) { - int tCoverID = tCoverable.getCoverIDAtSide(tSide); - if (tCoverID == mCoverType) { - tCoverable.setCoverDataAtSide(tSide, mStoredData); - tCoverable.getCoverInfoAtSide(tSide) - .setTickRateAddition(mTickRateAddition); - GT_Utility.sendChatToPlayer(aPlayer, "Cover Data Pasted."); - } else { - GT_Utility.sendChatToPlayer(aPlayer, "Not Matched Cover."); - } - } else { - GT_Utility.sendChatToPlayer(aPlayer, "No Cover Found."); - } - } - } - - @Override - public List getAdditionalToolTips(GT_MetaBase_Item aItem, List aList, ItemStack aStack) { - try { - final NBTTagCompound tNBT = aStack.getTagCompound(); - final int tSize = tNBT.getInteger("dataLinesCount"); - if (tSize < 1) throw new Exception(); - aList.add(EnumChatFormatting.BLUE + "Stored Cover Data:"); - for (int i = 0; i < tSize; i++) { - aList.add(EnumChatFormatting.RESET + tNBT.getString("dataLines" + i)); - } - } catch (Exception e) { - aList.add(this.mTooltip); - } - return aList; - } -} diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_Crowbar.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_Crowbar.java deleted file mode 100644 index 97d3da4ca3..0000000000 --- a/src/main/java/gregtech/common/items/behaviors/Behaviour_Crowbar.java +++ /dev/null @@ -1,61 +0,0 @@ -package gregtech.common.items.behaviors; - -import static gregtech.api.enums.Mods.Railcraft; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -import gregtech.api.enums.SoundResource; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_Utility; - -public class Behaviour_Crowbar extends Behaviour_None { - - private final int mVanillaCosts; - private final int mEUCosts; - - public Behaviour_Crowbar(int aVanillaCosts, int aEUCosts) { - this.mVanillaCosts = aVanillaCosts; - this.mEUCosts = aEUCosts; - } - - @Override - public boolean onItemUseFirst(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, - int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { - if (aWorld.isRemote) { - return false; - } - if (GT_ModHandler.getModItem(Railcraft.ID, "fluid.creosote.bucket", 1L) != null) { - return false; - } - Block aBlock = aWorld.getBlock(aX, aY, aZ); - if (aBlock == null) { - return false; - } - byte aMeta = (byte) aWorld.getBlockMetadata(aX, aY, aZ); - if (aBlock == Blocks.rail) { - if (GT_ModHandler.damageOrDechargeItem(aStack, this.mVanillaCosts, this.mEUCosts, aPlayer)) { - aWorld.isRemote = true; - aWorld.setBlock(aX, aY, aZ, aBlock, (aMeta + 1) % 10, 0); - aWorld.isRemote = false; - GT_Utility.sendSoundToPlayers(aWorld, SoundResource.RANDOM_BREAK, 1.0F, -1.0F, aX, aY, aZ); - } - return true; - } - if ((aBlock == Blocks.detector_rail) || (aBlock == Blocks.activator_rail) || (aBlock == Blocks.golden_rail)) { - if (GT_ModHandler.damageOrDechargeItem(aStack, this.mVanillaCosts, this.mEUCosts, aPlayer)) { - aWorld.isRemote = true; - aWorld.setBlock(aX, aY, aZ, aBlock, aMeta / 8 * 8 + (aMeta % 8 + 1) % 6, 0); - aWorld.isRemote = false; - GT_Utility.sendSoundToPlayers(aWorld, SoundResource.RANDOM_BREAK, 1.0F, -1.0F, aX, aY, aZ); - } - return true; - } - return false; - } -} diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_DataOrb.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_DataOrb.java deleted file mode 100644 index ae0627446c..0000000000 --- a/src/main/java/gregtech/common/items/behaviors/Behaviour_DataOrb.java +++ /dev/null @@ -1,105 +0,0 @@ -package gregtech.common.items.behaviors; - -import java.util.List; - -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; - -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.util.GT_Utility; - -public class Behaviour_DataOrb extends Behaviour_None { - - public static void copyInventory(ItemStack[] aInventory, ItemStack[] aNewContent, int aIndexlength) { - for (int i = 0; i < aIndexlength; i++) { - if (aNewContent[i] == null) { - aInventory[i] = null; - } else { - aInventory[i] = GT_Utility.copyOrNull(aNewContent[i]); - } - } - } - - public static String getDataName(ItemStack aStack) { - NBTTagCompound tNBT = aStack.getTagCompound(); - if (tNBT == null) { - return ""; - } - return tNBT.getString("mDataName"); - } - - public static String getDataTitle(ItemStack aStack) { - NBTTagCompound tNBT = aStack.getTagCompound(); - if (tNBT == null) { - return ""; - } - return tNBT.getString("mDataTitle"); - } - - public static NBTTagCompound setDataName(ItemStack aStack, String aDataName) { - NBTTagCompound tNBT = aStack.getTagCompound(); - if (tNBT == null) { - tNBT = new NBTTagCompound(); - } - tNBT.setString("mDataName", aDataName); - aStack.setTagCompound(tNBT); - return tNBT; - } - - public static NBTTagCompound setDataTitle(ItemStack aStack, String aDataTitle) { - NBTTagCompound tNBT = aStack.getTagCompound(); - if (tNBT == null) { - tNBT = new NBTTagCompound(); - } - tNBT.setString("mDataTitle", aDataTitle); - aStack.setTagCompound(tNBT); - return tNBT; - } - - public static ItemStack[] getNBTInventory(ItemStack aStack) { - ItemStack[] tInventory = new ItemStack[256]; - NBTTagCompound tNBT = aStack.getTagCompound(); - if (tNBT == null) { - return tInventory; - } - NBTTagList tNBT_ItemList = tNBT.getTagList("Inventory", 10); - for (int i = 0; i < tNBT_ItemList.tagCount(); i++) { - NBTTagCompound tag = tNBT_ItemList.getCompoundTagAt(i); - byte slot = tag.getByte("Slot"); - if (slot >= 0) { - tInventory[slot] = GT_Utility.loadItem(tag); - } - } - return tInventory; - } - - public static NBTTagCompound setNBTInventory(ItemStack aStack, ItemStack[] aInventory) { - NBTTagCompound tNBT = aStack.getTagCompound(); - if (tNBT == null) { - tNBT = new NBTTagCompound(); - } - NBTTagList tNBT_ItemList = new NBTTagList(); - for (int i = 0; i < aInventory.length; i++) { - ItemStack stack = aInventory[i]; - if (stack != null) { - NBTTagCompound tag = new NBTTagCompound(); - tag.setByte("Slot", (byte) i); - stack.writeToNBT(tag); - tNBT_ItemList.appendTag(tag); - } - } - tNBT.setTag("Inventory", tNBT_ItemList); - aStack.setTagCompound(tNBT); - return tNBT; - } - - @Override - public List getAdditionalToolTips(GT_MetaBase_Item aItem, List aList, ItemStack aStack) { - if (!(getDataTitle(aStack).length() == 0)) { - aList.add(getDataTitle(aStack)); - aList.add(getDataName(aStack)); - } - return aList; - } -} diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_DataStick.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_DataStick.java deleted file mode 100644 index e9db3195c2..0000000000 --- a/src/main/java/gregtech/common/items/behaviors/Behaviour_DataStick.java +++ /dev/null @@ -1,52 +0,0 @@ -package gregtech.common.items.behaviors; - -import java.util.List; - -import net.minecraft.item.ItemStack; - -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.util.GT_Utility; - -public class Behaviour_DataStick extends Behaviour_None { - - @Override - public List getAdditionalToolTips(GT_MetaBase_Item aItem, List aList, ItemStack aStack) { - String tString = GT_Utility.ItemNBT.getBookTitle(aStack); - if (GT_Utility.isStringValid(tString)) { - aList.add(tString); - } - tString = GT_Utility.ItemNBT.getBookAuthor(aStack); - if (GT_Utility.isStringValid(tString)) { - aList.add("by " + tString); - } - short tMapID = GT_Utility.ItemNBT.getMapID(aStack); - if (tMapID >= 0) { - aList.add("Map ID: " + tMapID); - } - tString = GT_Utility.ItemNBT.getPunchCardData(aStack); - if (GT_Utility.isStringValid(tString)) { - aList.add("Punch Card Data"); - int i = 0; - int j = tString.length(); - for (; i < j; i += 64) { - aList.add(tString.substring(i, Math.min(i + 64, j))); - } - } - short sTier = GT_Utility.ItemNBT.getNBT(aStack) - .getShort("rocket_tier"); - if (sTier > 0 && sTier < 100) { - aList.add("Rocket Schematic Tier: " + sTier); - } else if (sTier >= 100) { - switch (sTier) { - case 100 -> aList.add("Moonbuggy Schematic"); - case 101 -> aList.add("Cargo-Rocket Schematic"); - case 102 -> aList.add("Astro-Miner Schematic"); - } - } - long lastUpdate = GT_Utility.ItemNBT.getNBT(aStack) - .getLong("lastUpdate"); - if (lastUpdate != 0) aList.add(String.format("Last update at: %tc", lastUpdate)); - - return aList; - } -} diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_Hoe.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_Hoe.java deleted file mode 100644 index 167eccdf49..0000000000 --- a/src/main/java/gregtech/common/items/behaviors/Behaviour_Hoe.java +++ /dev/null @@ -1,72 +0,0 @@ -package gregtech.common.items.behaviors; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.player.UseHoeEvent; - -import cpw.mods.fml.common.eventhandler.Event; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.items.GT_MetaGenerated_Tool; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_Utility; -import gregtech.api.util.WorldSpawnedEventBuilder; - -public class Behaviour_Hoe extends Behaviour_None { - - private final int mCosts; - private final String mTooltip = GT_LanguageManager.addStringLocalization("gt.behaviour.hoe", "Can till Dirt"); - - public Behaviour_Hoe(int aCosts) { - this.mCosts = aCosts; - } - - @Override - public boolean onItemUse(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, - int aY, int aZ, int ordinalSide, float hitX, float hitY, float hitZ) { - if (!aPlayer.canPlayerEdit(aX, aY, aZ, ordinalSide, aStack)) { - return false; - } - UseHoeEvent event = new UseHoeEvent(aPlayer, aStack, aWorld, aX, aY, aZ); - if (MinecraftForge.EVENT_BUS.post(event)) { - return false; - } - if (event.getResult() == Event.Result.ALLOW) { - if (!aPlayer.capabilities.isCreativeMode) { - ((GT_MetaGenerated_Tool) aItem).doDamage(aStack, this.mCosts); - } - return true; - } - Block aBlock = aWorld.getBlock(aX, aY, aZ); - if ((ordinalSide != 0) && (GT_Utility.isBlockAir(aWorld, aX, aY + 1, aZ)) - && ((aBlock == Blocks.grass) || (aBlock == Blocks.dirt))) { - new WorldSpawnedEventBuilder.SoundEventBuilder() - .setVolume((Blocks.farmland.stepSound.getVolume() + 1.0F) / 2.0F) - .setPitch(Blocks.farmland.stepSound.getPitch() * 0.8F) - .setIdentifier(Blocks.farmland.stepSound.getStepResourcePath()) - .setPosition(aX + 0.5F, aY + 0.5F, aZ + 0.5F) - .setWorld(aWorld) - .run(); - if (aWorld.isRemote) { - return true; - } - aWorld.setBlock(aX, aY, aZ, Blocks.farmland); - if (!aPlayer.capabilities.isCreativeMode) { - ((GT_MetaGenerated_Tool) aItem).doDamage(aStack, this.mCosts); - } - return true; - } - return false; - } - - @Override - public List getAdditionalToolTips(GT_MetaBase_Item aItem, List aList, ItemStack aStack) { - aList.add(this.mTooltip); - return aList; - } -} diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_Lighter.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_Lighter.java deleted file mode 100644 index a4c26e2254..0000000000 --- a/src/main/java/gregtech/common/items/behaviors/Behaviour_Lighter.java +++ /dev/null @@ -1,140 +0,0 @@ -package gregtech.common.items.behaviors; - -import java.util.List; - -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.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -import codechicken.lib.math.MathHelper; -import gregtech.api.enums.SoundResource; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_Utility; - -public class Behaviour_Lighter extends Behaviour_None { - - private final ItemStack mEmptyLighter; - private final ItemStack mUsedLighter; - private final ItemStack mFullLighter; - 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_Lighter(ItemStack aEmptyLighter, ItemStack aUsedLighter, ItemStack aFullLighter, - long aFuelAmount) { - this.mFullLighter = aFullLighter; - this.mUsedLighter = aUsedLighter; - this.mEmptyLighter = aEmptyLighter; - this.mFuelAmount = aFuelAmount; - } - - @Override - public boolean onLeftClickEntity(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, Entity aEntity) { - if ((aPlayer.worldObj.isRemote) || (aStack.stackSize != 1)) { - return false; - } - boolean rOutput = false; - if ((aEntity instanceof EntityCreeper)) { - prepare(aStack); - long tFuelAmount = GT_Utility.ItemNBT.getLighterFuel(aStack); - if (GT_Utility.areStacksEqual(aStack, this.mUsedLighter, true)) { - GT_Utility.sendSoundToPlayers( - aPlayer.worldObj, - SoundResource.FIRE_IGNITE, - 1.0F, - 1.0F, - MathHelper.floor_double(aEntity.posX), - MathHelper.floor_double(aEntity.posY), - MathHelper.floor_double(aEntity.posZ)); - ((EntityCreeper) aEntity).func_146079_cb(); - if (!aPlayer.capabilities.isCreativeMode) { - tFuelAmount -= 1L; - } - rOutput = true; - } - GT_Utility.ItemNBT.setLighterFuel(aStack, tFuelAmount); - if (tFuelAmount <= 0L) { - useUp(aStack); - } - } - return rOutput; - } - - @Override - public boolean onItemUse(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, - int aY, int aZ, int ordinalSide, float hitX, float hitY, float hitZ) { - return false; - } - - @Override - public boolean onItemUseFirst(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, - int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { - if ((aWorld.isRemote) || (aStack.stackSize != 1)) { - return false; - } - boolean rOutput = false; - - aX += side.offsetX; - aY += side.offsetY; - aZ += side.offsetZ; - if ((!GT_Utility.isBlockAir(aWorld, aX, aY, aZ)) - || (!aPlayer.canPlayerEdit(aX, aY, aZ, side.ordinal(), aStack))) { - return false; - } - prepare(aStack); - long tFuelAmount = GT_Utility.ItemNBT.getLighterFuel(aStack); - if (GT_Utility.areStacksEqual(aStack, this.mUsedLighter, true)) { - GT_Utility.sendSoundToPlayers(aWorld, SoundResource.FIRE_IGNITE, 1.0F, 1.0F, aX, aY, aZ); - aWorld.setBlock(aX, aY, aZ, Blocks.fire); - if (!aPlayer.capabilities.isCreativeMode) { - tFuelAmount -= 1L; - } - rOutput = true; - } - GT_Utility.ItemNBT.setLighterFuel(aStack, tFuelAmount); - if (tFuelAmount <= 0L) { - useUp(aStack); - } - return rOutput; - } - - private void prepare(ItemStack aStack) { - if (GT_Utility.areStacksEqual(aStack, this.mFullLighter, true)) { - aStack.func_150996_a(this.mUsedLighter.getItem()); - Items.feather.setDamage(aStack, Items.feather.getDamage(this.mUsedLighter)); - GT_Utility.ItemNBT.setLighterFuel(aStack, this.mFuelAmount); - } - } - - private void useUp(ItemStack aStack) { - if (this.mEmptyLighter == null) { - aStack.stackSize -= 1; - } else { - aStack.func_150996_a(this.mEmptyLighter.getItem()); - Items.feather.setDamage(aStack, Items.feather.getDamage(this.mEmptyLighter)); - } - } - - @Override - public List getAdditionalToolTips(GT_MetaBase_Item aItem, List aList, ItemStack aStack) { - aList.add(this.mTooltip); - NBTTagCompound tNBT = aStack.getTagCompound(); - long tFuelAmount = tNBT == null ? this.mFuelAmount - : GT_Utility.areStacksEqual(aStack, this.mFullLighter, true) ? this.mFuelAmount - : tNBT.getLong("GT.LighterFuel"); - aList.add(this.mTooltipUses + " " + tFuelAmount); - aList.add(this.mTooltipUnstackable); - return aList; - } -} diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_None.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_None.java deleted file mode 100644 index c31ddc723d..0000000000 --- a/src/main/java/gregtech/common/items/behaviors/Behaviour_None.java +++ /dev/null @@ -1,90 +0,0 @@ -package gregtech.common.items.behaviors; - -import java.util.List; - -import net.minecraft.block.BlockDispenser; -import net.minecraft.dispenser.BehaviorDefaultDispenseItem; -import net.minecraft.dispenser.IBlockSource; -import net.minecraft.dispenser.IPosition; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -import gregtech.api.enums.SubTag; -import gregtech.api.interfaces.IItemBehaviour; -import gregtech.api.items.GT_MetaBase_Item; - -public class Behaviour_None implements IItemBehaviour { - - @Override - public boolean onLeftClickEntity(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, Entity aEntity) { - return false; - } - - @Override - public boolean onItemUse(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, - int aY, int aZ, int ordinalSide, float hitX, float hitY, float hitZ) { - return false; - } - - @Override - public boolean onItemUseFirst(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, - int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { - return false; - } - - @Override - public ItemStack onItemRightClick(GT_MetaBase_Item aItem, ItemStack aStack, World aWorld, EntityPlayer aPlayer) { - return aStack; - } - - @Override - public List getAdditionalToolTips(GT_MetaBase_Item aItem, List aList, ItemStack aStack) { - return aList; - } - - @Override - public void onUpdate(GT_MetaBase_Item aItem, ItemStack aStack, World aWorld, Entity aPlayer, int aTimer, - boolean aIsInHand) {} - - @Override - public boolean isItemStackUsable(GT_MetaBase_Item aItem, ItemStack aStack) { - return true; - } - - @Override - public boolean canDispense(GT_MetaBase_Item aItem, IBlockSource aSource, ItemStack aStack) { - return false; - } - - @Override - public ItemStack onDispense(GT_MetaBase_Item aItem, IBlockSource aSource, ItemStack aStack) { - EnumFacing enumfacing = BlockDispenser.func_149937_b(aSource.getBlockMetadata()); - IPosition iposition = BlockDispenser.func_149939_a(aSource); - ItemStack itemstack1 = aStack.splitStack(1); - BehaviorDefaultDispenseItem.doDispense(aSource.getWorld(), itemstack1, 6, enumfacing, iposition); - return aStack; - } - - @Override - public boolean hasProjectile(GT_MetaBase_Item aItem, SubTag aProjectileType, ItemStack aStack) { - return false; - } - - @Override - public EntityArrow getProjectile(GT_MetaBase_Item aItem, SubTag aProjectileType, ItemStack aStack, World aWorld, - double aX, double aY, double aZ) { - return null; - } - - @Override - public EntityArrow getProjectile(GT_MetaBase_Item aItem, SubTag aProjectileType, ItemStack aStack, World aWorld, - EntityLivingBase aEntity, float aSpeed) { - return null; - } -} diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_Plunger_Essentia.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_Plunger_Essentia.java deleted file mode 100644 index 867eb25103..0000000000 --- a/src/main/java/gregtech/common/items/behaviors/Behaviour_Plunger_Essentia.java +++ /dev/null @@ -1,54 +0,0 @@ -package gregtech.common.items.behaviors; - -import java.util.List; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -import gregtech.api.enums.SoundResource; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.items.GT_MetaGenerated_Tool; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_Utility; -import thaumcraft.api.aspects.IEssentiaTransport; - -public class Behaviour_Plunger_Essentia extends Behaviour_None { - - private final int mCosts; - private final String mTooltip = GT_LanguageManager - .addStringLocalization("gt.behaviour.plunger.essentia", "Clears Essentia from Containers and Tubes"); - - public Behaviour_Plunger_Essentia(int aCosts) { - this.mCosts = aCosts; - } - - @Override - public boolean onItemUseFirst(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, - int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { - if (aWorld.isRemote) { - return false; - } - TileEntity aTileEntity = aWorld.getTileEntity(aX, aY, aZ); - if (((aTileEntity instanceof IEssentiaTransport)) && ((aPlayer.capabilities.isCreativeMode) - || (((GT_MetaGenerated_Tool) aItem).doDamage(aStack, this.mCosts)))) { - GT_Utility.sendSoundToPlayers(aWorld, SoundResource.IC2_TOOLS_RUBBER_TRAMPOLINE, 1.0F, -1.0F, aX, aY, aZ); - for (ForgeDirection tDirection : ForgeDirection.VALID_DIRECTIONS) { - ((IEssentiaTransport) aTileEntity).takeEssentia( - ((IEssentiaTransport) aTileEntity).getEssentiaType(tDirection), - ((IEssentiaTransport) aTileEntity).getEssentiaAmount(tDirection), - tDirection); - } - return true; - } - return false; - } - - @Override - public List getAdditionalToolTips(GT_MetaBase_Item aItem, List aList, ItemStack aStack) { - aList.add(this.mTooltip); - return aList; - } -} diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_Plunger_Fluid.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_Plunger_Fluid.java deleted file mode 100644 index c62cb5c4e5..0000000000 --- a/src/main/java/gregtech/common/items/behaviors/Behaviour_Plunger_Fluid.java +++ /dev/null @@ -1,75 +0,0 @@ -package gregtech.common.items.behaviors; - -import java.util.List; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.IFluidHandler; - -import gregtech.api.enums.SoundResource; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.items.GT_MetaGenerated_Tool; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_Utility; - -public class Behaviour_Plunger_Fluid extends Behaviour_None { - - private final int mCosts; - private final String mTooltip = GT_LanguageManager - .addStringLocalization("gt.behaviour.plunger.fluid", "Clears 1000 Liters of Fluid from Tanks"); - - public Behaviour_Plunger_Fluid(int aCosts) { - this.mCosts = aCosts; - } - - @Override - public boolean onItemUseFirst(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, - int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { - if (aWorld.isRemote) { - return false; - } - TileEntity aTileEntity = aWorld.getTileEntity(aX, aY, aZ); - if ((aTileEntity instanceof IFluidHandler)) { - for (ForgeDirection tDirection : ForgeDirection.VALID_DIRECTIONS) { - if (((IFluidHandler) aTileEntity).drain(tDirection, 1000, false) != null) { - if ((aPlayer.capabilities.isCreativeMode) - || (((GT_MetaGenerated_Tool) aItem).doDamage(aStack, this.mCosts))) { - ((IFluidHandler) aTileEntity).drain(tDirection, 1000, true); - GT_Utility.sendSoundToPlayers( - aWorld, - SoundResource.IC2_TOOLS_RUBBER_TRAMPOLINE, - 1.0F, - -1.0F, - aX, - aY, - aZ); - return true; - } - } - } - } - if (aTileEntity instanceof IGregTechTileEntity tTileEntity) { - IMetaTileEntity mTileEntity = tTileEntity.getMetaTileEntity(); - if (mTileEntity instanceof GT_MetaTileEntity_BasicTank machine) { - if (machine.mFluid != null && machine.mFluid.amount > 0) - machine.mFluid.amount = machine.mFluid.amount - Math.min(machine.mFluid.amount, 1000); - GT_Utility - .sendSoundToPlayers(aWorld, SoundResource.IC2_TOOLS_RUBBER_TRAMPOLINE, 1.0F, -1.0F, aX, aY, aZ); - return true; - } - } - return false; - } - - @Override - public List getAdditionalToolTips(GT_MetaBase_Item aItem, List aList, ItemStack aStack) { - aList.add(this.mTooltip); - return aList; - } -} diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_Plunger_Item.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_Plunger_Item.java deleted file mode 100644 index a5fa868a00..0000000000 --- a/src/main/java/gregtech/common/items/behaviors/Behaviour_Plunger_Item.java +++ /dev/null @@ -1,88 +0,0 @@ -package gregtech.common.items.behaviors; - -import java.util.HashMap; -import java.util.List; - -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -import gregtech.api.enums.SoundResource; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.metatileentity.IMetaTileEntityItemPipe; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.items.GT_MetaGenerated_Tool; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_Utility; - -public class Behaviour_Plunger_Item extends Behaviour_None { - - private final int mCosts; - private final String mTooltip = GT_LanguageManager - .addStringLocalization("gt.behaviour.plunger.item", "Clears Items from Pipes"); - - public Behaviour_Plunger_Item(int aCosts) { - this.mCosts = aCosts; - } - - @Override - public boolean onItemUseFirst(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, - int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { - if (aWorld.isRemote) { - return false; - } - TileEntity aTileEntity = aWorld.getTileEntity(aX, aY, aZ); - if (aTileEntity instanceof IGregTechTileEntity gtTE) { - IMetaTileEntity tMetaTileEntity = gtTE.getMetaTileEntity(); - if ((tMetaTileEntity instanceof IMetaTileEntityItemPipe)) { - for (IMetaTileEntityItemPipe tTileEntity : GT_Utility - .sortMapByValuesAcending( - IMetaTileEntityItemPipe.Util - .scanPipes((IMetaTileEntityItemPipe) tMetaTileEntity, new HashMap<>(), 0L, false, true)) - .keySet()) { - int i = 0; - for (int j = tTileEntity.getSizeInventory(); i < j; i++) { - if (tTileEntity.isValidSlot(i)) { - if ((tTileEntity.getStackInSlot(i) != null) && ((aPlayer.capabilities.isCreativeMode) - || (((GT_MetaGenerated_Tool) aItem).doDamage(aStack, this.mCosts)))) { - final ItemStack tStack = tTileEntity.decrStackSize(i, 64); - if (tStack != null) { - final EntityItem tEntity = new EntityItem( - aWorld, - gtTE.getOffsetX(side, 1) + 0.5D, - gtTE.getOffsetY(side, 1) + 0.5D, - gtTE.getOffsetZ(side, 1) + 0.5D, - tStack); - tEntity.motionX = 0.0D; - tEntity.motionY = 0.0D; - tEntity.motionZ = 0.0D; - aWorld.spawnEntityInWorld(tEntity); - GT_Utility.sendSoundToPlayers( - aWorld, - SoundResource.IC2_TOOLS_RUBBER_TRAMPOLINE, - 1.0F, - -1.0F, - aX, - aY, - aZ); - } - return true; - } - } - } - } - } - } - return false; - } - - @Override - public List getAdditionalToolTips(GT_MetaBase_Item aItem, List aList, ItemStack aStack) { - aList.add(this.mTooltip); - return aList; - } -} diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_PrintedPages.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_PrintedPages.java deleted file mode 100644 index e3c4d58525..0000000000 --- a/src/main/java/gregtech/common/items/behaviors/Behaviour_PrintedPages.java +++ /dev/null @@ -1,39 +0,0 @@ -package gregtech.common.items.behaviors; - -import java.util.List; - -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; - -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.util.GT_Utility; - -public class Behaviour_PrintedPages extends Behaviour_None { - - public static String getTitle(ItemStack aStack) { - NBTTagCompound tNBT = aStack.getTagCompound(); - if (tNBT == null) { - return ""; - } - return tNBT.getString("title"); - } - - public static String getAuthor(ItemStack aStack) { - NBTTagCompound tNBT = aStack.getTagCompound(); - if (tNBT == null) { - return ""; - } - return tNBT.getString("author"); - } - - @Override - public List getAdditionalToolTips(GT_MetaBase_Item aItem, List aList, ItemStack aStack) { - if (GT_Utility.isStringValid(getTitle(aStack))) { - aList.add(getTitle(aStack)); - } - if (GT_Utility.isStringValid(getAuthor(aStack))) { - aList.add("by " + getAuthor(aStack)); - } - return aList; - } -} diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_Prospecting.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_Prospecting.java deleted file mode 100644 index e64722fb87..0000000000 --- a/src/main/java/gregtech/common/items/behaviors/Behaviour_Prospecting.java +++ /dev/null @@ -1,159 +0,0 @@ -package gregtech.common.items.behaviors; - -import java.util.List; -import java.util.Random; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockLiquid; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.IFluidBlock; - -import gregtech.api.GregTech_API; -import gregtech.api.enums.Materials; -import gregtech.api.enums.SoundResource; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.items.GT_MetaGenerated_Tool; -import gregtech.api.objects.ItemData; -import gregtech.api.objects.XSTR; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Utility; -import gregtech.common.blocks.GT_Block_Ores_Abstract; -import gregtech.common.blocks.GT_TileEntity_Ores; - -public class Behaviour_Prospecting extends Behaviour_None { - - private final int mVanillaCosts; - private final int mEUCosts; - private final String mTooltip = GT_LanguageManager - .addStringLocalization("gt.behaviour.prospecting", "Usable for Prospecting"); - - public Behaviour_Prospecting(int aVanillaCosts, int aEUCosts) { - this.mVanillaCosts = aVanillaCosts; - this.mEUCosts = aEUCosts; - } - - @Override - public boolean onItemUseFirst(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, - int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { - if (aWorld.isRemote) { - return false; - } - Block aBlock = aWorld.getBlock(aX, aY, aZ); - if (aBlock == null) { - return false; - } - byte aMeta = (byte) aWorld.getBlockMetadata(aX, aY, aZ); - - ItemData tAssociation = GT_OreDictUnificator.getAssociation(new ItemStack(aBlock, 1, aMeta)); - if (tAssociation != null && tAssociation.mPrefix != null - && tAssociation.mMaterial != null - && tAssociation.mPrefix.toString() - .startsWith("ore")) { - GT_Utility.sendChatToPlayer( - aPlayer, - GT_Utility.trans("100", "This is ") + tAssociation.mMaterial.mMaterial.mDefaultLocalName - + GT_Utility.trans("101", " Ore.")); - GT_Utility.sendSoundToPlayers(aWorld, SoundResource.RANDOM_ANVIL_USE, 1.0F, -1.0F, aX, aY, aZ); - return true; - } - - if (aBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Blocks.stone) - || aBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Blocks.netherrack) - || aBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, Blocks.end_stone) - || aBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, GregTech_API.sBlockStones) - || aBlock.isReplaceableOreGen(aWorld, aX, aY, aZ, GregTech_API.sBlockGranites) - || aBlock == GregTech_API.sBlockOresUb1 - || aBlock == GregTech_API.sBlockOresUb2 - || aBlock == GregTech_API.sBlockOresUb3 - || aBlock == GregTech_API.sBlockOres1) { - if (GT_ModHandler.damageOrDechargeItem(aStack, this.mVanillaCosts, this.mEUCosts, aPlayer)) { - GT_Utility.sendSoundToPlayers(aWorld, SoundResource.RANDOM_ANVIL_USE, 1.0F, -1.0F, aX, aY, aZ); - int tMetaID; - int tQuality = aItem instanceof GT_MetaGenerated_Tool ? aItem.getHarvestLevel(aStack, "") : 0; - int tX = aX, tY = aY, tZ = aZ; - Block tBlock; - for (int i = 0, j = 6 + tQuality; i < j; i++) { - tX -= side.offsetX; - tY -= side.offsetY; - tZ -= side.offsetZ; - - tBlock = aWorld.getBlock(tX, tY, tZ); - if (tBlock == Blocks.lava || tBlock == Blocks.flowing_lava) { - GT_Utility - .sendChatToPlayer(aPlayer, GT_Utility.trans("102", "There is Lava behind this Rock.")); - break; - } - if (tBlock instanceof BlockLiquid || tBlock instanceof IFluidBlock) { - GT_Utility - .sendChatToPlayer(aPlayer, GT_Utility.trans("103", "There is a Liquid behind this Rock.")); - break; - } - if (tBlock == Blocks.monster_egg || !GT_Utility.hasBlockHitBox(aWorld, tX, tY, tZ)) { - GT_Utility.sendChatToPlayer( - aPlayer, - GT_Utility.trans("104", "There is an Air Pocket behind this Rock.")); - break; - } - if (tBlock != aBlock) { - if (i < 4) GT_Utility.sendChatToPlayer( - aPlayer, - GT_Utility.trans("105", "Material is changing behind this Rock.")); - break; - } - } - - final Random tRandom = new XSTR(aX ^ aY ^ aZ ^ side.ordinal()); - for (int i = 0, j = 9 + 2 * tQuality; i < j; i++) { - tX = aX - 4 - tQuality + tRandom.nextInt(j); - tY = aY - 4 - tQuality + tRandom.nextInt(j); - tZ = aZ - 4 - tQuality + tRandom.nextInt(j); - tBlock = aWorld.getBlock(tX, tY, tZ); - if (tBlock instanceof GT_Block_Ores_Abstract) { - final TileEntity tTileEntity = aWorld.getTileEntity(tX, tY, tZ); - if (tTileEntity instanceof GT_TileEntity_Ores) { - final Materials tMaterial = GregTech_API.sGeneratedMaterials[((GT_TileEntity_Ores) tTileEntity).mMetaData - % 1000]; - if (tMaterial != null && tMaterial != Materials._NULL) { - GT_Utility.sendChatToPlayer( - aPlayer, - GT_Utility.trans("106", "Found traces of ") + tMaterial.mDefaultLocalName - + GT_Utility.trans("101", " Ore.")); - return true; - } - } - } else { - tMetaID = aWorld.getBlockMetadata(tX, tY, tZ); - tAssociation = GT_OreDictUnificator.getAssociation(new ItemStack(tBlock, 1, tMetaID)); - if (tAssociation != null && tAssociation.mPrefix != null - && tAssociation.mMaterial != null - && tAssociation.mPrefix.toString() - .startsWith("ore")) { - GT_Utility.sendChatToPlayer( - aPlayer, - GT_Utility.trans("106", "Found traces of ") - + tAssociation.mMaterial.mMaterial.mDefaultLocalName - + GT_Utility.trans("101", " Ore.")); - return true; - } - } - } - GT_Utility.sendChatToPlayer(aPlayer, GT_Utility.trans("107", "No Ores found.")); - return true; - } - } - return false; - } - - @Override - public List getAdditionalToolTips(GT_MetaBase_Item aItem, List aList, ItemStack aStack) { - aList.add(this.mTooltip); - return aList; - } -} diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_Scanner.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_Scanner.java deleted file mode 100644 index 22b708e384..0000000000 --- a/src/main/java/gregtech/common/items/behaviors/Behaviour_Scanner.java +++ /dev/null @@ -1,65 +0,0 @@ -package gregtech.common.items.behaviors; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -import gregtech.api.enums.SoundResource; -import gregtech.api.interfaces.IItemBehaviour; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_Utility; - -public class Behaviour_Scanner extends Behaviour_None { - - public static final IItemBehaviour INSTANCE = new Behaviour_Scanner(); - private final String mTooltip = GT_LanguageManager - .addStringLocalization("gt.behaviour.scanning", "Can scan Blocks in World"); - - @Override - public boolean onItemUseFirst(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, - int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { - final NBTTagCompound tNBT = aStack.getTagCompound(); - if (((aPlayer instanceof EntityPlayerMP)) && (aItem.canUse(aStack, 20000.0D))) { - final ArrayList tList = new ArrayList<>(); - if (aItem.use( - aStack, - GT_Utility.getCoordinateScan(tList, aPlayer, aWorld, 1, aX, aY, aZ, side, hitX, hitY, hitZ), - aPlayer)) { - final int tList_sS = tList.size(); - tNBT.setInteger("dataLinesCount", tList_sS); - for (int i = 0; i < tList_sS; i++) { - tNBT.setString("dataLines" + i, tList.get(i)); - GT_Utility.sendChatToPlayer(aPlayer, tList.get(i)); - } - } - return true; - } - GT_Utility.doSoundAtClient(SoundResource.IC2_TOOLS_OD_SCANNER, 1, 1.0F, aX, aY, aZ); - // doGuiAtClient() - return aPlayer instanceof EntityPlayerMP; - } - - @Override - public List getAdditionalToolTips(GT_MetaBase_Item aItem, List aList, ItemStack aStack) { - try { - NBTTagCompound tNBT = aStack.getTagCompound(); - int lines = tNBT.getInteger("dataLinesCount"); - if (lines < 1) throw new Exception(); - aList.add(EnumChatFormatting.BLUE + "Block scan data result:"); - for (int i = 0; i < lines; i++) { - aList.add(EnumChatFormatting.RESET + tNBT.getString("dataLines" + i)); - } - } catch (Exception e) { - aList.add(this.mTooltip); - } - return aList; - } -} diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_Scoop.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_Scoop.java deleted file mode 100644 index 65be65a96d..0000000000 --- a/src/main/java/gregtech/common/items/behaviors/Behaviour_Scoop.java +++ /dev/null @@ -1,63 +0,0 @@ -package gregtech.common.items.behaviors; - -import java.util.List; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; - -import forestry.api.lepidopterology.EnumFlutterType; -import forestry.api.lepidopterology.IButterfly; -import forestry.api.lepidopterology.IEntityButterfly; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.items.GT_MetaGenerated_Tool; -import gregtech.api.util.GT_LanguageManager; - -public class Behaviour_Scoop extends Behaviour_None { - - private final int mCosts; - private final String mTooltip = GT_LanguageManager - .addStringLocalization("gt.behaviour.scoop", "Catches Butterflies on Leftclick"); - - public Behaviour_Scoop(int aCosts) { - this.mCosts = aCosts; - } - - @Override - public boolean onLeftClickEntity(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, Entity aEntity) { - if ((aEntity instanceof IEntityButterfly)) { - if (aPlayer.worldObj.isRemote) { - return true; - } - if ((aPlayer.capabilities.isCreativeMode) - || (((GT_MetaGenerated_Tool) aItem).doDamage(aStack, this.mCosts))) { - IButterfly tButterfly = ((IEntityButterfly) aEntity).getButterfly(); - tButterfly.getGenome() - .getPrimary() - .getRoot() - .getBreedingTracker(aEntity.worldObj, aPlayer.getGameProfile()) - .registerCatch(tButterfly); - aPlayer.worldObj.spawnEntityInWorld( - new EntityItem( - aPlayer.worldObj, - aEntity.posX, - aEntity.posY, - aEntity.posZ, - tButterfly.getGenome() - .getPrimary() - .getRoot() - .getMemberStack(tButterfly.copy(), EnumFlutterType.BUTTERFLY.ordinal()))); - aEntity.setDead(); - } - return true; - } - return false; - } - - @Override - public List getAdditionalToolTips(GT_MetaBase_Item aItem, List aList, ItemStack aStack) { - aList.add(this.mTooltip); - return aList; - } -} diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_Screwdriver.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_Screwdriver.java deleted file mode 100644 index d940226b84..0000000000 --- a/src/main/java/gregtech/common/items/behaviors/Behaviour_Screwdriver.java +++ /dev/null @@ -1,52 +0,0 @@ -package gregtech.common.items.behaviors; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -import gregtech.api.enums.SoundResource; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_Utility; - -public class Behaviour_Screwdriver extends Behaviour_None { - - private final int mVanillaCosts; - private final int mEUCosts; - - public Behaviour_Screwdriver(int aVanillaCosts, int aEUCosts) { - this.mVanillaCosts = aVanillaCosts; - this.mEUCosts = aEUCosts; - } - - @Override - public boolean onItemUseFirst(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, - int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { - if (aWorld.isRemote) { - return false; - } - Block aBlock = aWorld.getBlock(aX, aY, aZ); - if (aBlock == null) { - return false; - } - byte aMeta = (byte) aWorld.getBlockMetadata(aX, aY, aZ); - if ((aBlock == Blocks.unpowered_repeater) || (aBlock == Blocks.powered_repeater)) { - if (GT_ModHandler.damageOrDechargeItem(aStack, this.mVanillaCosts, this.mEUCosts, aPlayer)) { - aWorld.setBlockMetadataWithNotify(aX, aY, aZ, aMeta / 4 * 4 + (aMeta % 4 + 1) % 4, 3); - GT_Utility.sendSoundToPlayers(aWorld, SoundResource.IC2_TOOLS_WRENCH, 1.0F, -1.0F, aX, aY, aZ); - } - return true; - } - if ((aBlock == Blocks.unpowered_comparator) || (aBlock == Blocks.powered_comparator)) { - if (GT_ModHandler.damageOrDechargeItem(aStack, this.mVanillaCosts, this.mEUCosts, aPlayer)) { - aWorld.setBlockMetadataWithNotify(aX, aY, aZ, aMeta / 4 * 4 + (aMeta % 4 + 1) % 4, 3); - GT_Utility.sendSoundToPlayers(aWorld, SoundResource.IC2_TOOLS_WRENCH, 1.0F, -1.0F, aX, aY, aZ); - } - return true; - } - return false; - } -} diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_Sense.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_Sense.java deleted file mode 100644 index b2ab0031ad..0000000000 --- a/src/main/java/gregtech/common/items/behaviors/Behaviour_Sense.java +++ /dev/null @@ -1,56 +0,0 @@ -package gregtech.common.items.behaviors; - -import java.util.List; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.items.GT_MetaGenerated_Tool; -import gregtech.api.util.GT_LanguageManager; -import ic2.api.crops.ICropTile; - -public class Behaviour_Sense extends Behaviour_None { - - private final int mCosts; - private final String mTooltip = GT_LanguageManager - .addStringLocalization("gt.behaviour.sense", "Rightclick to harvest Crop Sticks"); - - public Behaviour_Sense(int aCosts) { - this.mCosts = aCosts; - } - - @Override - public boolean onItemUseFirst(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, - int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { - if (aWorld.isRemote) { - return false; - } - TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); - if ((tTileEntity instanceof ICropTile)) { - for (int i = -2; i < 3; i++) { - for (int j = -2; j < 3; j++) { - for (int k = -2; k < 3; k++) { - if ((aStack.stackSize > 0) - && (((tTileEntity = aWorld.getTileEntity(aX + i, aY + j, aZ + k)) instanceof ICropTile)) - && (((ICropTile) tTileEntity).harvest(true)) - && (!aPlayer.capabilities.isCreativeMode)) { - ((GT_MetaGenerated_Tool) aItem).doDamage(aStack, this.mCosts / 20); - } - } - } - } - return true; - } - return false; - } - - @Override - public List getAdditionalToolTips(GT_MetaBase_Item aItem, List aList, ItemStack aStack) { - aList.add(this.mTooltip); - return aList; - } -} diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_SensorKit.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_SensorKit.java deleted file mode 100644 index b12159d058..0000000000 --- a/src/main/java/gregtech/common/items/behaviors/Behaviour_SensorKit.java +++ /dev/null @@ -1,56 +0,0 @@ -package gregtech.common.items.behaviors; - -import java.util.List; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -import gregtech.api.enums.ItemList; -import gregtech.api.interfaces.tileentity.IGregTechDeviceInformation; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_Utility; - -public class Behaviour_SensorKit extends Behaviour_None { - - private final String mTooltip = GT_LanguageManager.addStringLocalization( - "gt.behaviour.sensorkit.tooltip", - "Used to display Information using the Mod Nuclear Control"); - - @Override - public boolean onItemUseFirst(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, - int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { - if ((aPlayer instanceof EntityPlayerMP)) { - TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); - if (((tTileEntity instanceof IInventory)) && (!((IInventory) tTileEntity).isUseableByPlayer(aPlayer))) { - return false; - } - if (((tTileEntity instanceof IGregTechDeviceInformation)) - && (((IGregTechDeviceInformation) tTileEntity).isGivingInformation())) { - GT_Utility.setStack(aStack, ItemList.NC_SensorCard.get(aStack.stackSize)); - NBTTagCompound tNBT = aStack.getTagCompound(); - if (tNBT == null) { - tNBT = new NBTTagCompound(); - } - tNBT.setInteger("x", aX); - tNBT.setInteger("y", aY); - tNBT.setInteger("z", aZ); - aStack.setTagCompound(tNBT); - } - return true; - } - return false; - } - - @Override - public List getAdditionalToolTips(GT_MetaBase_Item aItem, List aList, ItemStack aStack) { - aList.add(this.mTooltip); - return aList; - } -} diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_SoftHammer.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_SoftHammer.java deleted file mode 100644 index 159a0c4b27..0000000000 --- a/src/main/java/gregtech/common/items/behaviors/Behaviour_SoftHammer.java +++ /dev/null @@ -1,131 +0,0 @@ -package gregtech.common.items.behaviors; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -import gregtech.api.enums.SoundResource; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.items.GT_MetaGenerated_Tool; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_Utility; - -public class Behaviour_SoftHammer extends Behaviour_None { - - private final int mCosts; - private final String mTooltip = GT_LanguageManager - .addStringLocalization("gt.behaviour.softhammer", "Activates and Deactivates Machines"); - - public Behaviour_SoftHammer(int aCosts) { - this.mCosts = aCosts; - } - - @Override - public boolean onItemUseFirst(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, - int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { - if (aWorld.isRemote) { - return false; - } - Block aBlock = aWorld.getBlock(aX, aY, aZ); - if (aBlock == null) { - return false; - } - byte aMeta = (byte) aWorld.getBlockMetadata(aX, aY, aZ); - if (aBlock == Blocks.lit_redstone_lamp) { - if ((aPlayer.capabilities.isCreativeMode) - || (((GT_MetaGenerated_Tool) aItem).doDamage(aStack, this.mCosts))) { - aWorld.isRemote = true; - aWorld.setBlock(aX, aY, aZ, Blocks.redstone_lamp, 0, 0); - aWorld.isRemote = false; - GT_Utility - .sendSoundToPlayers(aWorld, SoundResource.IC2_TOOLS_RUBBER_TRAMPOLINE, 1.0F, -1.0F, aX, aY, aZ); - } - return true; - } - if (aBlock == Blocks.redstone_lamp) { - if ((aPlayer.capabilities.isCreativeMode) - || (((GT_MetaGenerated_Tool) aItem).doDamage(aStack, this.mCosts))) { - aWorld.isRemote = true; - aWorld.setBlock(aX, aY, aZ, Blocks.lit_redstone_lamp, 0, 0); - aWorld.isRemote = false; - GT_Utility - .sendSoundToPlayers(aWorld, SoundResource.IC2_TOOLS_RUBBER_TRAMPOLINE, 1.0F, -1.0F, aX, aY, aZ); - } - return true; - } - if (aBlock == Blocks.golden_rail) { - if ((aPlayer.capabilities.isCreativeMode) - || (((GT_MetaGenerated_Tool) aItem).doDamage(aStack, this.mCosts))) { - aWorld.isRemote = true; - aWorld.setBlock(aX, aY, aZ, aBlock, (aMeta + 8) % 16, 0); - aWorld.isRemote = false; - GT_Utility - .sendSoundToPlayers(aWorld, SoundResource.IC2_TOOLS_RUBBER_TRAMPOLINE, 1.0F, -1.0F, aX, aY, aZ); - } - return true; - } - if (aBlock == Blocks.activator_rail) { - if ((aPlayer.capabilities.isCreativeMode) - || (((GT_MetaGenerated_Tool) aItem).doDamage(aStack, this.mCosts))) { - aWorld.isRemote = true; - aWorld.setBlock(aX, aY, aZ, aBlock, (aMeta + 8) % 16, 0); - aWorld.isRemote = false; - GT_Utility - .sendSoundToPlayers(aWorld, SoundResource.IC2_TOOLS_RUBBER_TRAMPOLINE, 1.0F, -1.0F, aX, aY, aZ); - } - return true; - } - if ((aBlock == Blocks.log) || (aBlock == Blocks.log2) || (aBlock == Blocks.hay_block)) { - if ((aPlayer.capabilities.isCreativeMode) - || (((GT_MetaGenerated_Tool) aItem).doDamage(aStack, this.mCosts))) { - aWorld.setBlockMetadataWithNotify(aX, aY, aZ, (aMeta + 4) % 12, 3); - } - return true; - } - if ((aBlock == Blocks.piston) || (aBlock == Blocks.sticky_piston) - || (aBlock == Blocks.dispenser) - || (aBlock == Blocks.dropper)) { - if ((aPlayer.capabilities.isCreativeMode) - || (((GT_MetaGenerated_Tool) aItem).doDamage(aStack, this.mCosts))) { - aWorld.setBlockMetadataWithNotify(aX, aY, aZ, (aMeta + 1) % 6, 3); - GT_Utility - .sendSoundToPlayers(aWorld, SoundResource.IC2_TOOLS_RUBBER_TRAMPOLINE, 1.0F, -1.0F, aX, aY, aZ); - } - return true; - } - if ((aBlock == Blocks.pumpkin) || (aBlock == Blocks.lit_pumpkin) - || (aBlock == Blocks.furnace) - || (aBlock == Blocks.lit_furnace) - || (aBlock == Blocks.chest) - || (aBlock == Blocks.trapped_chest)) { - if ((aPlayer.capabilities.isCreativeMode) - || (((GT_MetaGenerated_Tool) aItem).doDamage(aStack, this.mCosts))) { - aWorld.setBlockMetadataWithNotify(aX, aY, aZ, (aMeta - 1) % 4 + 2, 3); - GT_Utility - .sendSoundToPlayers(aWorld, SoundResource.IC2_TOOLS_RUBBER_TRAMPOLINE, 1.0F, -1.0F, aX, aY, aZ); - } - return true; - } - if (aBlock == Blocks.hopper) { - if ((aPlayer.capabilities.isCreativeMode) - || (((GT_MetaGenerated_Tool) aItem).doDamage(aStack, this.mCosts))) { - aWorld.setBlockMetadataWithNotify(aX, aY, aZ, (aMeta + 1) % 6 != 1 ? (aMeta + 1) % 6 : 2, 3); - GT_Utility - .sendSoundToPlayers(aWorld, SoundResource.IC2_TOOLS_RUBBER_TRAMPOLINE, 1.0F, -1.0F, aX, aY, aZ); - } - return true; - } - return false; - } - - @Override - public List getAdditionalToolTips(GT_MetaBase_Item aItem, List aList, ItemStack aStack) { - aList.add(this.mTooltip); - return aList; - } -} diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_Sonictron.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_Sonictron.java deleted file mode 100644 index dbab764507..0000000000 --- a/src/main/java/gregtech/common/items/behaviors/Behaviour_Sonictron.java +++ /dev/null @@ -1,135 +0,0 @@ -package gregtech.common.items.behaviors; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -import gregtech.api.enums.GT_Values; -import gregtech.api.interfaces.IItemBehaviour; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.util.GT_Utility; - -public class Behaviour_Sonictron extends Behaviour_None { - - public static final IItemBehaviour INSTANCE = new Behaviour_Sonictron(); - - public static int getCurrentIndex(ItemStack aStack) { - NBTTagCompound tNBTTagCompound = aStack.getTagCompound(); - if (tNBTTagCompound == null) { - tNBTTagCompound = new NBTTagCompound(); - } - return tNBTTagCompound.getInteger("mCurrentIndex"); - } - - public static int getTickTimer(ItemStack aStack) { - NBTTagCompound tNBTTagCompound = aStack.getTagCompound(); - if (tNBTTagCompound == null) { - tNBTTagCompound = new NBTTagCompound(); - } - return tNBTTagCompound.getInteger("mTickTimer"); - } - - public static NBTTagCompound setCurrentIndex(ItemStack aStack, int aIndex) { - NBTTagCompound tNBTTagCompound = aStack.getTagCompound(); - if (tNBTTagCompound == null) { - tNBTTagCompound = new NBTTagCompound(); - } - tNBTTagCompound.setInteger("mCurrentIndex", aIndex); - return tNBTTagCompound; - } - - public static NBTTagCompound setTickTimer(ItemStack aStack, int aTime) { - NBTTagCompound tNBTTagCompound = aStack.getTagCompound(); - if (tNBTTagCompound == null) { - tNBTTagCompound = new NBTTagCompound(); - } - tNBTTagCompound.setInteger("mTickTimer", aTime); - return tNBTTagCompound; - } - - public static ItemStack[] getNBTInventory(ItemStack aStack) { - ItemStack[] tInventory = new ItemStack[64]; - NBTTagCompound tNBT = aStack.getTagCompound(); - if (tNBT == null) { - return tInventory; - } - NBTTagList tNBT_ItemList = tNBT.getTagList("Inventory", 10); - for (int i = 0; i < tNBT_ItemList.tagCount(); i++) { - NBTTagCompound tag = tNBT_ItemList.getCompoundTagAt(i); - byte slot = tag.getByte("Slot"); - if ((slot >= 0) && (slot < tInventory.length)) { - tInventory[slot] = GT_Utility.loadItem(tag); - } - } - return tInventory; - } - - public static NBTTagCompound setNBTInventory(ItemStack aStack, ItemStack[] aInventory) { - NBTTagCompound tNBT = aStack.getTagCompound(); - if (tNBT == null) { - tNBT = new NBTTagCompound(); - } - NBTTagList tNBT_ItemList = new NBTTagList(); - for (int i = 0; i < aInventory.length; i++) { - ItemStack stack = aInventory[i]; - if (stack != null) { - NBTTagCompound tag = new NBTTagCompound(); - tag.setByte("Slot", (byte) i); - stack.writeToNBT(tag); - tNBT_ItemList.appendTag(tag); - } - } - tNBT.setTag("Inventory", tNBT_ItemList); - aStack.setTagCompound(tNBT); - return tNBT; - } - - public static void copyInventory(ItemStack[] aInventory, ItemStack[] aNewContent, int aIndexlength) { - for (int i = 0; i < aIndexlength; i++) { - if (aNewContent[i] == null) { - aInventory[i] = null; - } else { - aInventory[i] = GT_Utility.copyOrNull(aNewContent[i]); - } - } - } - - @Override - public boolean onItemUseFirst(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, - int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { - setCurrentIndex(aStack, -1); - return false; - } - - @Override - public ItemStack onItemRightClick(GT_MetaBase_Item aItem, ItemStack aStack, World aWorld, EntityPlayer aPlayer) { - setCurrentIndex(aStack, 0); - return aStack; - } - - @Override - public void onUpdate(GT_MetaBase_Item aItem, ItemStack aStack, World aWorld, Entity aPlayer, int aTimer, - boolean aIsInHand) { - int tTickTimer = getTickTimer(aStack); - int tCurrentIndex = getCurrentIndex(aStack); - if ((tTickTimer++ % 2 == 0) && (tCurrentIndex > -1)) { - ItemStack[] tInventory = getNBTInventory(aStack); - GT_Values.GT.doSonictronSound( - tInventory[tCurrentIndex], - aPlayer.worldObj, - aPlayer.posX, - aPlayer.posY, - aPlayer.posZ); - tCurrentIndex++; - if (tCurrentIndex > 63) { - tCurrentIndex = -1; - } - } - setTickTimer(aStack, tTickTimer); - setCurrentIndex(aStack, tCurrentIndex); - } -} diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_Spray_Color.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_Spray_Color.java deleted file mode 100644 index 216eb4d745..0000000000 --- a/src/main/java/gregtech/common/items/behaviors/Behaviour_Spray_Color.java +++ /dev/null @@ -1,218 +0,0 @@ -package gregtech.common.items.behaviors; - -import java.util.Arrays; -import java.util.Collection; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.block.BlockColored; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -import appeng.api.implementations.tiles.IColorableTile; -import appeng.api.util.AEColor; -import appeng.block.networking.BlockCableBus; -import gregtech.api.enums.Dyes; -import gregtech.api.enums.SoundResource; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_Utility; -import gregtech.common.config.other.ConfigGeneral; - -public class Behaviour_Spray_Color extends Behaviour_None { - - private final ItemStack mEmpty; - private final ItemStack mUsed; - private final ItemStack mFull; - private final long mUses; - private final byte mColor; - private final Collection mAllowedVanillaBlocks = Arrays.asList( - Blocks.glass, - Blocks.glass_pane, - Blocks.stained_glass, - Blocks.stained_glass_pane, - Blocks.carpet, - Blocks.hardened_clay); - protected String mTooltip; - private final String mTooltipUses = GT_LanguageManager - .addStringLocalization("gt.behaviour.paintspray.uses", "Remaining Uses:"); - private final String mTooltipUnstackable = GT_LanguageManager - .addStringLocalization("gt.behaviour.unstackable", "Not usable when stacked!"); - private final String mTooltipChain = GT_LanguageManager.addStringLocalization( - "gt.behaviour.paintspray.chain", - "If used while sneaking it will spray a chain of blocks"); - - private final String mTooltipChainAmount = GT_LanguageManager.addStringLocalization( - "gt.behaviour.paintspray.chain", - "Sprays up to %d blocks, in the direction you're looking at"); - - public Behaviour_Spray_Color(ItemStack aEmpty, ItemStack aUsed, ItemStack aFull, long aUses, int aColor) { - this.mEmpty = aEmpty; - this.mUsed = aUsed; - this.mFull = aFull; - this.mUses = aUses; - this.mColor = ((byte) aColor); - this.mTooltip = GT_LanguageManager.addStringLocalization( - "gt.behaviour.paintspray." + this.mColor + ".tooltip", - "Can Color things in " + Dyes.get(this.mColor).mName); - } - - public Behaviour_Spray_Color(ItemStack aEmpty, ItemStack aUsed, ItemStack aFull, long aUses) { - this.mEmpty = aEmpty; - this.mUsed = aUsed; - this.mFull = aFull; - this.mUses = aUses; - this.mColor = 0; - mTooltip = ""; - } - - @Override - public boolean onItemUseFirst(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, - int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { - if ((aWorld.isRemote) || (aStack.stackSize != 1)) { - return false; - } - boolean rOutput = false; - if (!aPlayer.canPlayerEdit(aX, aY, aZ, side.ordinal(), aStack)) { - return false; - } - NBTTagCompound tNBT = aStack.getTagCompound(); - if (tNBT == null) { - tNBT = new NBTTagCompound(); - } - long tUses = tNBT.getLong("GT.RemainingPaint"); - if (GT_Utility.areStacksEqual(aStack, this.mFull, true)) { - aStack.func_150996_a(this.mUsed.getItem()); - Items.feather.setDamage(aStack, Items.feather.getDamage(this.mUsed)); - tUses = this.mUses; - } - int painted = 0; - int maxPainted = ConfigGeneral.sprayCanChainRange; - ForgeDirection lookSide; - Vec3 look = aPlayer.getLookVec(); - double absX = Math.abs(look.xCoord); - double absY = Math.abs(look.yCoord); - double absZ = Math.abs(look.zCoord); - if (absX > absY && absX > absZ) { - lookSide = look.xCoord > 0 ? ForgeDirection.EAST : ForgeDirection.WEST; - } else if (absY > absX && absY > absZ) { - lookSide = look.yCoord > 0 ? ForgeDirection.UP : ForgeDirection.DOWN; - } else { - lookSide = look.zCoord > 0 ? ForgeDirection.SOUTH : ForgeDirection.NORTH; - } - Block initialBlock = aWorld.getBlock(aX, aY, aZ); - int initialBlockMeta = aWorld.getBlockMetadata(aX, aY, aZ); - TileEntity initialTE = aWorld.getTileEntity(aX, aY, aZ); - while ((GT_Utility.areStacksEqual(aStack, this.mUsed, true)) && (colorize(aWorld, aX, aY, aZ, side, aPlayer))) { - GT_Utility.sendSoundToPlayers(aWorld, SoundResource.IC2_TOOLS_PAINTER, 1.0F, 1.0F, aX, aY, aZ); - if (!aPlayer.capabilities.isCreativeMode) { - tUses -= 1L; - } - rOutput = true; - painted++; - if (painted >= maxPainted && maxPainted != -1) break; - if (!aPlayer.isSneaking() || tUses <= 0) break; - switch (lookSide) { - case UP -> aY += 1; - case DOWN -> aY -= 1; - case NORTH -> aZ -= 1; - case SOUTH -> aZ += 1; - case WEST -> aX -= 1; - case EAST -> aX += 1; - default -> throw new IllegalArgumentException("Unexpected value: " + lookSide); - } - - if (aWorld.getBlock(aX, aY, aZ) != initialBlock) break; - if (aWorld.getBlockMetadata(aX, aY, aZ) != initialBlockMeta) break; - - /* - * Check if the initial block had a TE and if the next one does, check if its the same kind. - * else one does and the other doesnt, thus stop checking. - */ - TileEntity targetTE = aWorld.getTileEntity(aX, aY, aZ); - if (initialTE == null ^ targetTE == null) break; - if (initialTE != null && targetTE != null) { - if (!initialTE.getClass() - .isInstance(targetTE)) break; - - if (initialTE instanceof IGregTechTileEntity currentGTTile - && targetTE instanceof IGregTechTileEntity targetGTTile) { - if (currentGTTile.getMetaTileID() != targetGTTile.getMetaTileID()) break; - } - } - } - tNBT.removeTag("GT.RemainingPaint"); - if (tUses > 0L) { - tNBT.setLong("GT.RemainingPaint", tUses); - } - if (tNBT.hasNoTags()) { - aStack.setTagCompound(null); - } else { - aStack.setTagCompound(tNBT); - } - if (tUses <= 0L) { - if (this.mEmpty == null) { - aStack.stackSize -= 1; - } else { - aStack.func_150996_a(this.mEmpty.getItem()); - Items.feather.setDamage(aStack, Items.feather.getDamage(this.mEmpty)); - } - } - return rOutput; - } - - protected boolean colorize(World aWorld, int aX, int aY, int aZ, ForgeDirection side, EntityPlayer player) { - final Block aBlock = aWorld.getBlock(aX, aY, aZ); - if (aBlock != Blocks.air) { - if (this.mAllowedVanillaBlocks.contains(aBlock) || aBlock instanceof BlockColored) { - if (aBlock == Blocks.hardened_clay) { - aWorld.setBlock(aX, aY, aZ, Blocks.stained_hardened_clay, (~this.mColor) & 0xF, 3); - return true; - } - if (aBlock == Blocks.glass_pane) { - aWorld.setBlock(aX, aY, aZ, Blocks.stained_glass_pane, (~this.mColor) & 0xF, 3); - return true; - } - if (aBlock == Blocks.glass) { - aWorld.setBlock(aX, aY, aZ, Blocks.stained_glass, (~this.mColor) & 0xF, 3); - return true; - } - if (aWorld.getBlockMetadata(aX, aY, aZ) == ((~this.mColor) & 0xF)) { - return false; - } - aWorld.setBlockMetadataWithNotify(aX, aY, aZ, (~this.mColor) & 0xF, 3); - return true; - } - - if (aBlock instanceof IColorableTile) { - return ((IColorableTile) aBlock).recolourBlock(side, AEColor.values()[(~this.mColor) & 0xF], player); - } - - if (aBlock instanceof BlockCableBus) { - return ((BlockCableBus) aBlock).recolourBlock(aWorld, aX, aY, aZ, side, (~this.mColor) & 0xF, player); - } - } - return aBlock.recolourBlock(aWorld, aX, aY, aZ, side, (~this.mColor) & 0xF); - } - - @Override - public List getAdditionalToolTips(GT_MetaBase_Item aItem, List aList, ItemStack aStack) { - aList.add(this.mTooltip); - aList.add(this.mTooltipChain); - aList.add(String.format(this.mTooltipChainAmount, ConfigGeneral.sprayCanChainRange)); - NBTTagCompound tNBT = aStack.getTagCompound(); - long tRemainingPaint = tNBT == null ? this.mUses - : GT_Utility.areStacksEqual(aStack, this.mFull, true) ? this.mUses : tNBT.getLong("GT.RemainingPaint"); - aList.add(this.mTooltipUses + " " + tRemainingPaint); - aList.add(this.mTooltipUnstackable); - return aList; - } -} diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_Spray_Color_Remover.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_Spray_Color_Remover.java deleted file mode 100644 index 0b73b4f7fc..0000000000 --- a/src/main/java/gregtech/common/items/behaviors/Behaviour_Spray_Color_Remover.java +++ /dev/null @@ -1,48 +0,0 @@ -package gregtech.common.items.behaviors; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -import appeng.api.implementations.tiles.IColorableTile; -import appeng.api.util.AEColor; -import appeng.block.networking.BlockCableBus; -import gregtech.api.interfaces.tileentity.IColoredTileEntity; -import gregtech.api.util.GT_LanguageManager; - -public class Behaviour_Spray_Color_Remover extends Behaviour_Spray_Color { - - public Behaviour_Spray_Color_Remover(ItemStack aEmpty, ItemStack aUsed, ItemStack aFull, long aUses) { - super(aEmpty, aUsed, aFull, aUses); - this.mTooltip = GT_LanguageManager - .addStringLocalization("gt.behaviour.paintspray.solvent.tooltip", "Can remove paint from things"); - } - - @Override - protected boolean colorize(World aWorld, int aX, int aY, int aZ, ForgeDirection side, EntityPlayer player) { - final Block aBlock = aWorld.getBlock(aX, aY, aZ); - if (aBlock != Blocks.air) { - if (aBlock instanceof IColorableTile) { - return ((IColorableTile) aBlock).recolourBlock(side, AEColor.Transparent, player); - } - - if (aBlock instanceof BlockCableBus) { - return ((BlockCableBus) aBlock) - .recolourBlock(aWorld, aX, aY, aZ, side, AEColor.Transparent.ordinal(), player); - } - - TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ); - if (tTileEntity instanceof IColoredTileEntity gte) { - if (gte.getColorization() >= 0) { - gte.setColorization((byte) -1); - return true; - } - } - } - return false; - } -} diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_Switch_Metadata.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_Switch_Metadata.java deleted file mode 100644 index 03cf29b9dd..0000000000 --- a/src/main/java/gregtech/common/items/behaviors/Behaviour_Switch_Metadata.java +++ /dev/null @@ -1,67 +0,0 @@ -package gregtech.common.items.behaviors; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -import gregtech.api.items.GT_Generic_Block; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.util.GT_Util; -import gregtech.api.util.GT_Utility; - -public class Behaviour_Switch_Metadata extends Behaviour_None { - - public final int mSwitchIndex; - public final boolean mCheckTarget, mShowModeSwitchTooltip; - - public Behaviour_Switch_Metadata(int aSwitchIndex) { - this(aSwitchIndex, false); - } - - public Behaviour_Switch_Metadata(int aSwitchIndex, boolean aCheckTarget) { - this(aSwitchIndex, aCheckTarget, false); - } - - public Behaviour_Switch_Metadata(int aSwitchIndex, boolean aCheckTarget, boolean aShowModeSwitchTooltip) { - mSwitchIndex = aSwitchIndex; - mCheckTarget = aCheckTarget; - mShowModeSwitchTooltip = aShowModeSwitchTooltip; - } - - @Override - public List getAdditionalToolTips(GT_MetaBase_Item aItem, List aList, ItemStack aStack) { - if (mShowModeSwitchTooltip) aList.add(GT_Utility.trans("330", "Sneak Rightclick to switch Mode")); - return aList; - } - - @Override - public boolean onItemUseFirst(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, - int aY, int aZ, ForgeDirection side, float aHitX, float aHitY, float aHitZ) { - if (aStack != null && (aPlayer == null || aPlayer.isSneaking()) && !aWorld.isRemote) { - if (mCheckTarget) { - Block aBlock = aWorld.blockExists(aX, aY, aZ) ? aWorld.getBlock(aX, aY, aZ) : Blocks.air; - if (aBlock instanceof GT_Generic_Block) { - Items.feather.setDamage(aStack, (short) mSwitchIndex); - GT_Utility.updateItemStack(aStack); - return true; - } - if (GT_Util.getTileEntity(aWorld, aX, aY, aZ, true) == null) { - Items.feather.setDamage(aStack, (short) mSwitchIndex); - GT_Utility.updateItemStack(aStack); - return true; - } - return false; - } - Items.feather.setDamage(aStack, (short) mSwitchIndex); - GT_Utility.updateItemStack(aStack); - return true; - } - return false; - } -} diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_Switch_Mode.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_Switch_Mode.java deleted file mode 100644 index 4054377568..0000000000 --- a/src/main/java/gregtech/common/items/behaviors/Behaviour_Switch_Mode.java +++ /dev/null @@ -1,53 +0,0 @@ -package gregtech.common.items.behaviors; - -import java.util.List; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.world.World; - -import gregtech.api.enums.GT_Values; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.items.GT_MetaGenerated_Tool; -import gregtech.api.net.GT_Packet_ToolSwitchMode; -import gregtech.api.util.GT_Utility; - -public class Behaviour_Switch_Mode extends Behaviour_None { - - public Behaviour_Switch_Mode() {} - - @Override - public ItemStack onItemRightClick(GT_MetaBase_Item aItem, ItemStack aStack, World aWorld, EntityPlayer aPlayer) { - if (aStack != null && (aPlayer == null || aPlayer.isSneaking()) && aWorld.isRemote) { - - GT_MetaGenerated_Tool itemTool = (GT_MetaGenerated_Tool) aItem; - final byte maxMode = itemTool.getToolMaxMode(aStack); - if (maxMode == 1) { - return aStack; - } - - MovingObjectPosition mop = GT_Utility.getPlayerLookingTarget(aPlayer); - if (mop == null) { - GT_Values.NW.sendToServer(new GT_Packet_ToolSwitchMode()); - } - return aStack; - } - return aStack; - } - - @Override - public List getAdditionalToolTips(GT_MetaBase_Item aItem, List aList, ItemStack aStack) { - super.getAdditionalToolTips(aItem, aList, aStack); - if ((aItem instanceof GT_MetaGenerated_Tool)) { - GT_MetaGenerated_Tool itemTool = (GT_MetaGenerated_Tool) aItem; - final int maxMode = itemTool.getToolMaxMode(aStack); - if (maxMode > 1) { - aList.add("Shift+Rclick to change mode"); - } - } - - return aList; - } - -} diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_Wrench.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_Wrench.java deleted file mode 100644 index 16c5c3f948..0000000000 --- a/src/main/java/gregtech/common/items/behaviors/Behaviour_Wrench.java +++ /dev/null @@ -1,278 +0,0 @@ -package gregtech.common.items.behaviors; - -import java.util.Arrays; -import java.util.List; -import java.util.function.BooleanSupplier; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.oredict.OreDictionary; - -import appeng.api.parts.IPartHost; -import appeng.api.util.IOrientable; -import appeng.tile.misc.TileInterface; -import gregtech.api.enums.SoundResource; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.items.GT_MetaGenerated_Tool; -import gregtech.api.util.GT_LanguageManager; -import gregtech.api.util.GT_Utility; -import ic2.api.tile.IWrenchable; - -public class Behaviour_Wrench extends Behaviour_None { - - private final int mCosts; - private final String mTooltip = GT_LanguageManager - .addStringLocalization("gt.behaviour.wrench", "Rotates Blocks on Rightclick"); - - public Behaviour_Wrench(int aCosts) { - this.mCosts = aCosts; - } - - @Override - public boolean onItemUseFirst(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, - int aY, int aZ, ForgeDirection side, float hitX, float hitY, float hitZ) { - final Block aBlock = aWorld.getBlock(aX, aY, aZ); - if (aBlock == null) { - return false; - } - final int aMeta = aWorld.getBlockMetadata(aX, aY, aZ); - final short targetSideOrdinal = (short) GT_Utility.determineWrenchingSide(side, hitX, hitY, hitZ) - .ordinal(); - final TileEntity aTileEntity = aWorld.getTileEntity(aX, aY, aZ); - - final WrenchHandler handler = new WrenchHandler( - aBlock, - aMeta, - targetSideOrdinal, - aTileEntity, - aPlayer, - aWorld, - aX, - aY, - aZ, - aStack, - (GT_MetaGenerated_Tool) aItem, - mCosts); - - try { - return handler.handle() && !aWorld.isRemote; - } catch (Throwable ignored) {} - return false; - } - - /** - *

- * A class to simplify wrenching operation, - * stopping "checking creative", "trying to damage tool", - * "doing the logic" and "playing sound" again and again. - * This should have been a record, but it's not available in Java 8. - *

- *

- * {@link WrenchHandler#handle()} is the entry point of main logic. - *

- */ - private static class WrenchHandler { - - boolean handle() { - ForgeDirection direction = ForgeDirection.getOrientation(targetSideOrdinal); - - // AE2 logic - // default to change the up facing - // sneak to change the forward facing - if (tileEntity instanceof IOrientable orientable) { - if (!orientable.canBeRotated()) return false; - ForgeDirection front = orientable.getForward(); - ForgeDirection up = orientable.getUp(); - - // mainly for me-interfaces, whose initial orientation is UNKNOWN - if (front == ForgeDirection.UNKNOWN) { - if (direction == ForgeDirection.UP || direction == ForgeDirection.DOWN) - front = ForgeDirection.NORTH; - else front = ForgeDirection.UP; - } - - ForgeDirection back = front.getOpposite(); - ForgeDirection down = up.getOpposite(); - - if (tileEntity instanceof TileInterface) { - if (player.isSneaking()) return false; - if (direction == down) { - return doWrenchOperation(costs, () -> { - orientable.setOrientation(ForgeDirection.UNKNOWN, ForgeDirection.UNKNOWN); - return true; - }); - } - // interface's up-side is opposite to the arrow on texture - // make it intuitive by rotating it to the opposite side. - direction = direction.getOpposite(); - up = up.getOpposite(); - } else if (direction == up || direction == front) { - // rotate around the direction axis - final var tempFront = front; - final var tempUp = up; - if (!player.isSneaking() && direction == up) return doWrenchOperation(costs, () -> { - orientable.setOrientation(tempFront.getRotation(tempUp), tempUp); - return true; - }); - if (player.isSneaking() && direction == front) return doWrenchOperation(costs, () -> { - orientable.setOrientation( - tempFront, - tempUp.getRotation(tempFront) - .getRotation(tempFront)); - return true; - }); - } - - if (player.isSneaking()) { - if (direction == up || direction == down) { - orientable.setOrientation(direction, down.getRotation(front.getRotation(direction))); - } else orientable.setOrientation(direction, up); - } else { - if (direction == front || direction == back) { - orientable.setOrientation(back.getRotation(up.getRotation(direction)), direction); - } else orientable.setOrientation(front, direction); - } - - return damageWrench(costs); - } - if (world.isRemote) return false; - // IC2 Wrenchable - if (tileEntity instanceof IWrenchable wrenchable) { - if (wrenchable.wrenchCanSetFacing(player, targetSideOrdinal)) { - return doWrenchOperation(costs, () -> { - wrenchable.setFacing(targetSideOrdinal); - return true; - }); - } - return false; - } - - if (block == Blocks.powered_repeater || block == Blocks.unpowered_repeater - || block == Blocks.powered_comparator - || block == Blocks.unpowered_comparator) return setBlockMeta(costs, meta / 4 * 4 + (meta % 4 + 1) % 4); - - // hopper cannot face sky - if (block == Blocks.hopper && targetSideOrdinal != 1) return setBlockMeta(costs, targetSideOrdinal); - - if (isVanillaAllSideRotatable(block)) if (meta < 6) return setBlockMeta(costs, targetSideOrdinal); - - // blocks like chests and furnaces have only four directions - if (isVanillaCantFaceAxisY(block)) { - if (targetSideOrdinal > 1) return setBlockMeta(costs, targetSideOrdinal); - else return false; - } - if (tileEntity instanceof IPartHost) return false; - - final int logWoodId = OreDictionary.getOreID("logWood"); - if (Arrays.stream(OreDictionary.getOreIDs(new ItemStack(block))) - .anyMatch(id -> id == logWoodId)) { - // The meta just work - return setBlockMeta(costs, (meta + 4) % 12); - } - - // vanilla block rotate logic - if ((Arrays.asList(block.getValidRotations(world, x, y, z)) - .contains(direction))) return rotateBlock(costs, direction); - return false; - - // GT blocks' rotations are done by blocks themselves after this returning false - } - - private final Block block; - private final short targetSideOrdinal; - private final TileEntity tileEntity; - private final EntityPlayer player; - private final World world; - private final int x, y, z, meta; - private final ItemStack stack; - - private final GT_MetaGenerated_Tool item; - private final int costs; - - public WrenchHandler(Block block, int meta, short targetSideOrdinal, TileEntity tileEntity, EntityPlayer player, - World world, int x, int y, int z, ItemStack stack, GT_MetaGenerated_Tool item, int costs) { - this.block = block; - this.meta = meta; - this.targetSideOrdinal = targetSideOrdinal; - this.tileEntity = tileEntity; - this.player = player; - this.world = world; - this.x = x; - this.y = y; - this.z = z; - this.stack = stack; - this.item = item; - this.costs = costs; - } - - /** - * this will run the operation, damage the tool and play the sound if possible (creative mode or - * {@link GT_MetaGenerated_Tool#canWrench(EntityPlayer, int, int, int)}) - * - * @param damage damage to be applied to the wrench - * @param operation the real operation of the click - * @return true if the operation was successful - * @see #setBlockMeta(int, int) - * @see #rotateBlock(int, ForgeDirection) - * @see #rotateBlock(int, ForgeDirection) - */ - boolean doWrenchOperation(int damage, BooleanSupplier operation) { - if (player.capabilities.isCreativeMode || item.canWrench(player, x, y, z)) { - if (operation.getAsBoolean()) { - item.doDamage(stack, damage); - GT_Utility.sendSoundToPlayers(world, SoundResource.IC2_TOOLS_WRENCH, 1.0F, -1.0F, x, y, z); - return true; - } - } - return false; - } - - boolean setBlockMeta(int damage, int newMeta) { - return doWrenchOperation(damage, () -> setBlockMetadataWithNotify(newMeta)); - } - - boolean rotateBlock(int damage, ForgeDirection direction) { - return doWrenchOperation(damage, () -> block.rotateBlock(world, x, y, z, direction)); - } - - boolean damageWrench(int damage) { - return doWrenchOperation(damage, () -> true); - } - - private boolean setBlockMetadataWithNotify(int newMeta) { - return world.setBlockMetadataWithNotify(x, y, z, newMeta, 3); - } - - } - - public static boolean isVanillaRotatable(Block block) { - return isVanillaCantFaceAxisY(block) || isVanillaAllSideRotatable(block) || block == Blocks.hopper; - } - - public static boolean isVanillaCantFaceAxisY(Block block) { - return GT_Utility.arrayContains( - block, - Blocks.pumpkin, - Blocks.lit_pumpkin, - Blocks.furnace, - Blocks.lit_furnace, - Blocks.chest, - Blocks.trapped_chest, - Blocks.ender_chest); - } - - public static boolean isVanillaAllSideRotatable(Block block) { - return GT_Utility.arrayContains(block, Blocks.piston, Blocks.sticky_piston, Blocks.dispenser, Blocks.dropper); - } - - @Override - public List getAdditionalToolTips(GT_MetaBase_Item aItem, List aList, ItemStack aStack) { - aList.add(this.mTooltip); - return aList; - } -} diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_WrittenBook.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_WrittenBook.java deleted file mode 100644 index 0f645a93a9..0000000000 --- a/src/main/java/gregtech/common/items/behaviors/Behaviour_WrittenBook.java +++ /dev/null @@ -1,40 +0,0 @@ -package gregtech.common.items.behaviors; - -import java.util.List; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.entity.EntityPlayerSP; -import net.minecraft.client.gui.GuiScreenBook; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.world.World; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gregtech.api.items.GT_MetaBase_Item; -import gregtech.api.util.GT_Utility; - -public class Behaviour_WrittenBook extends Behaviour_None { - - @Override - @SideOnly(Side.CLIENT) - public boolean onItemUse(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, - int aY, int aZ, int ordinalSide, float hitX, float hitY, float hitZ) { - if ((GT_Utility.isStringValid(GT_Utility.ItemNBT.getBookTitle(aStack))) - && ((aPlayer instanceof EntityPlayerSP))) { - Minecraft.getMinecraft() - .displayGuiScreen(new GuiScreenBook(aPlayer, aStack, false)); - } - return true; - } - - @Override - public List getAdditionalToolTips(GT_MetaBase_Item aItem, List aList, ItemStack aStack) { - String tTitle = GT_Utility.ItemNBT.getBookTitle(aStack); - if (GT_Utility.isStringValid(tTitle)) { - aList.add(tTitle); - aList.add("by " + GT_Utility.ItemNBT.getBookAuthor(aStack)); - } - return aList; - } -} -- cgit