aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r--src/main/java/gregtech/api/GregTech_API.java1230
-rw-r--r--src/main/java/gregtech/api/enums/Dyes.java6
-rw-r--r--src/main/java/gregtech/api/enums/GT_Values.java58
-rw-r--r--src/main/java/gregtech/api/enums/ItemList.java1593
-rw-r--r--src/main/java/gregtech/api/enums/MaterialBuilder.java512
-rw-r--r--src/main/java/gregtech/api/enums/Materials.java4421
-rw-r--r--src/main/java/gregtech/api/enums/OrePrefixes.java2128
-rw-r--r--src/main/java/gregtech/api/enums/SubTag.java10
-rw-r--r--src/main/java/gregtech/api/enums/TextureSet.java300
-rw-r--r--src/main/java/gregtech/api/enums/Textures.java1631
-rw-r--r--src/main/java/gregtech/api/enums/Tier.java17
-rw-r--r--src/main/java/gregtech/api/events/TeleporterUsingEvent.java21
-rw-r--r--src/main/java/gregtech/api/gui/GT_Container.java3
-rw-r--r--src/main/java/gregtech/api/gui/GT_GUIContainerMetaTile_Machine.java14
-rw-r--r--src/main/java/gregtech/api/gui/GT_GUIContainer_1by1.java2
-rw-r--r--src/main/java/gregtech/api/gui/GT_GUIContainer_2by2.java4
-rw-r--r--src/main/java/gregtech/api/gui/GT_GUIContainer_3by3.java2
-rw-r--r--src/main/java/gregtech/api/gui/GT_GUIContainer_4by4.java2
-rw-r--r--src/main/java/gregtech/api/gui/GT_GUIContainer_BasicMachine.java9
-rw-r--r--src/main/java/gregtech/api/gui/GT_GUIContainer_MultiMachine.java172
-rw-r--r--src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java151
-rw-r--r--src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java152
-rw-r--r--src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityItemPipe.java200
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java31
-rw-r--r--src/main/java/gregtech/api/items/GT_CoolantCell_Item.java170
-rw-r--r--src/main/java/gregtech/api/items/GT_Generic_Item.java322
-rw-r--r--src/main/java/gregtech/api/items/GT_MetaBase_Item.java1229
-rw-r--r--src/main/java/gregtech/api/items/GT_MetaGenerated_Item_X01.java381
-rw-r--r--src/main/java/gregtech/api/items/GT_MetaGenerated_Item_X32.java395
-rw-r--r--src/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java1411
-rw-r--r--src/main/java/gregtech/api/items/GT_RadioactiveCell_Item.java325
-rw-r--r--src/main/java/gregtech/api/metatileentity/BaseMetaPipeEntity.java2652
-rw-r--r--src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java216
-rw-r--r--src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java1496
-rw-r--r--src/main/java/gregtech/api/metatileentity/MetaTileEntity.java49
-rw-r--r--src/main/java/gregtech/api/metatileentity/examples/GT_MetaTileEntity_E_Furnace.java8
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java926
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java1304
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Frame.java2
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Item.java31
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicBatteryBuffer.java23
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicGenerator.java16
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java111
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_Bronze.java4
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java38
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Buffer.java8
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java8
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_DataAccess.java214
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Dynamo.java2
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Energy.java2
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Input.java5
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Maintenance.java44
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Muffler.java33
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Output.java9
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_OutputBus.java18
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java1776
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_TieredMachineBlock.java7
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Transformer.java51
-rw-r--r--src/main/java/gregtech/api/objects/ElementStack.java2
-rw-r--r--src/main/java/gregtech/api/objects/GT_FluidStack.java1
-rw-r--r--src/main/java/gregtech/api/objects/GT_UO_DimensionList.java28
-rw-r--r--src/main/java/gregtech/api/objects/GT_UO_Fluid.java2
-rw-r--r--src/main/java/gregtech/api/objects/MaterialStack.java3
-rw-r--r--src/main/java/gregtech/api/objects/XSTR.java10
-rw-r--r--src/main/java/gregtech/api/util/GT_LanguageManager.java24
-rw-r--r--src/main/java/gregtech/api/util/GT_ModHandler.java4
-rw-r--r--src/main/java/gregtech/api/util/GT_OreDictUnificator.java37
-rw-r--r--src/main/java/gregtech/api/util/GT_Recipe.java302
-rw-r--r--src/main/java/gregtech/api/util/GT_RecipeRegistrator.java8
-rw-r--r--src/main/java/gregtech/api/util/GT_Utility.java379
-rw-r--r--src/main/java/gregtech/api/world/GT_Worldgen.java4
71 files changed, 13789 insertions, 12970 deletions
diff --git a/src/main/java/gregtech/api/GregTech_API.java b/src/main/java/gregtech/api/GregTech_API.java
index 4dcc76a924..2d29c44bdf 100644
--- a/src/main/java/gregtech/api/GregTech_API.java
+++ b/src/main/java/gregtech/api/GregTech_API.java
@@ -1,616 +1,614 @@
-package gregtech.api;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import gregtech.api.enums.Materials;
-import gregtech.api.enums.Textures;
-import gregtech.api.interfaces.IDamagableItem;
-import gregtech.api.interfaces.ITexture;
-import gregtech.api.interfaces.internal.IGT_RecipeAdder;
-import gregtech.api.interfaces.internal.IThaumcraftCompat;
-import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
-import gregtech.api.items.GT_CoolantCellIC_Item;
-import gregtech.api.items.GT_CoolantCell_Item;
-import gregtech.api.items.GT_Tool_Item;
-import gregtech.api.metatileentity.BaseMetaTileEntity;
-import gregtech.api.objects.GT_Cover_Default;
-import gregtech.api.objects.GT_Cover_None;
-import gregtech.api.objects.GT_HashSet;
-import gregtech.api.objects.GT_ItemStack;
-import gregtech.api.threads.GT_Runnable_MachineBlockUpdate;
-import gregtech.api.util.*;
-import gregtech.api.world.GT_Worldgen;
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.creativetab.CreativeTabs;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-import net.minecraftforge.fluids.Fluid;
-
-import java.util.*;
-import java.util.concurrent.ConcurrentHashMap;
-
-import static gregtech.api.enums.GT_Values.*;
-
-/**
- * Please do not include this File in your Mod-download as it ruins compatiblity, like with the IC2-API
- * You may just copy those Functions into your Code, or better call them via reflection.
- * <p/>
- * The whole API is the basic construct of my Mod. Everything is dependent on it.
- * I change things quite often so please don't include any File inside your Mod, even if it is an Interface.
- * Since some Authors were stupid enough to break this simple Rule, I added Version checks to enforce it.
- * <p/>
- * In these Folders are many useful Functions. You can use them via reflection if you want.
- * I know not everything is compilable due to API's of other Mods, but these are easy to fix in your Setup.
- * <p/>
- * You can use this to learn about Modding, but I would recommend simpler Mods.
- * You may even copypaste Code from these API-Files into your Mod, as I have nothing against that, but you should look exactly at what you are copying.
- *
- * @author Gregorius Techneticies
- */
-public class GregTech_API {
- @Deprecated
- public static final long MATERIAL_UNIT = M, FLUID_MATERIAL_UNIT = L;
- /**
- * Fixes the HashMap Mappings for ItemStacks once the Server started
- */
- public static final Collection<Map<GT_ItemStack, ?>> sItemStackMappings = new ArrayList<Map<GT_ItemStack, ?>>();
- public static final Collection<Map<Fluid, ?>> sFluidMappings = new ArrayList<Map<Fluid, ?>>();
- /**
- * The MetaTileEntity-ID-List-Length
- */
- public static final short MAXIMUM_METATILE_IDS = Short.MAX_VALUE - 1;
- /**
- * My Creative Tab
- */
- public static final CreativeTabs TAB_GREGTECH = new GT_CreativeTab("Main", "Main"), TAB_GREGTECH_MATERIALS = new GT_CreativeTab("Materials", "Materials"), TAB_GREGTECH_ORES = new GT_CreativeTab("Ores", "Ores");
- /**
- * A List of all registered MetaTileEntities
- * <p/>
- * 0 - 749 are used by GregTech.
- * 750 - 999 are reserved for Alkalus.
- * 1000 - 2047 are used by GregTech.
- * 2048 - 2559 are reserved for OvermindDL.
- * 2560 - 3071 are reserved for Immibis.
- * 3072 - 3583 are reserved for LinusPhoenix.
- * 3584 - 4095 are reserved for BloodyAsp.
- * 4096 - 5095 are used for GregTech Frames.
- * 5096 - 6099 are used for GregTech Pipes.
- * 6100 - 8191 are used for GregTech Decoration Blocks.
- * 8192 - 8703 are reserved for ZL123.
- * 8704 - 9215 are reserved for Mr10Movie.
- * 9216 - 9727 are used for GregTech Automation Machines.
- * 9728 - 10239 are reserved for 28Smiles.
- * 10240 - 10751 are reserved for VirMan.
- * 10752 - 11263 are reserved for Briareos81.
- * 11264 - 12000 are reserved for Quantum64.
- * 12001 - 12200 are reserved for the next one who asks me.
- * 12001 - 32766 are currently free.
- * <p/>
- * Contact me if you need a free ID-Range, which doesn't conflict with other Addons.
- * You could make an ID-Config, but we all know, what "stupid" customers think about conflicting ID's
- */
- public static final IMetaTileEntity[] METATILEENTITIES = new IMetaTileEntity[MAXIMUM_METATILE_IDS];
- /**
- * The Icon List for Covers
- */
- public static final Map<GT_ItemStack, ITexture> sCovers = new ConcurrentHashMap<GT_ItemStack, ITexture>();
- /**
- * The List of Cover Behaviors for the Covers
- */
- public static final Map<GT_ItemStack, GT_CoverBehavior> sCoverBehaviors = new ConcurrentHashMap<GT_ItemStack, GT_CoverBehavior>();
- /**
- * The List of Circuit Behaviors for the Redstone Circuit Block
- */
- public static final Map<Integer, GT_CircuitryBehavior> sCircuitryBehaviors = new ConcurrentHashMap<Integer, GT_CircuitryBehavior>();
- /**
- * The List of Blocks, which can conduct Machine Block Updates
- */
- public static final Map<Block, Integer> sMachineIDs = new ConcurrentHashMap<Block, Integer>();
- /**
- * The Redstone Frequencies
- */
- public static final Map<Integer, Byte> sWirelessRedstone = new ConcurrentHashMap<Integer, Byte>();
- /**
- * The IDSU Frequencies
- */
- public static final Map<Integer, Integer> sIDSUList = new ConcurrentHashMap<Integer, Integer>();
- /**
- * A List of all Books, which were created using @GT_Utility.getWrittenBook the original Title is the Key Value
- */
- public static final Map<String, ItemStack> sBookList = new ConcurrentHashMap<String, ItemStack>();
- /**
- * The List of all Sounds used in GT, indices are in the static Block at the bottom
- */
- public static final Map<Integer, String> sSoundList = new ConcurrentHashMap<Integer, String>();
- /**
- * The List of Tools, which can be used. Accepts regular damageable Items and Electric Items
- */
- public static final GT_HashSet<GT_ItemStack> sToolList = new GT_HashSet<GT_ItemStack>(), sCrowbarList = new GT_HashSet<GT_ItemStack>(), sScrewdriverList = new GT_HashSet<GT_ItemStack>(), sWrenchList = new GT_HashSet<GT_ItemStack>(), sSoftHammerList = new GT_HashSet<GT_ItemStack>(), sHardHammerList = new GT_HashSet<GT_ItemStack>(), sWireCutterList = new GT_HashSet<GT_ItemStack>(), sSolderingToolList = new GT_HashSet<GT_ItemStack>(), sSolderingMetalList = new GT_HashSet<GT_ItemStack>();
- /**
- * The List of Hazmat Armors
- */
- public static final GT_HashSet<GT_ItemStack> sGasHazmatList = new GT_HashSet<GT_ItemStack>(), sBioHazmatList = new GT_HashSet<GT_ItemStack>(), sFrostHazmatList = new GT_HashSet<GT_ItemStack>(), sHeatHazmatList = new GT_HashSet<GT_ItemStack>(), sRadioHazmatList = new GT_HashSet<GT_ItemStack>(), sElectroHazmatList = new GT_HashSet<GT_ItemStack>();
- /**
- * The List of Dimensions, which are Whitelisted for the Teleporter. This list should not contain other Planets.
- * Mystcraft Dimensions and other Dimensional Things should be allowed.
- * Mystcraft and Twilight Forest are automatically considered a Dimension, without being in this List.
- */
- public static final Collection<Integer> sDimensionalList = new HashSet<Integer>();
- /**
- * Lists of all the active World generation Features, these are getting Initialized in Postload!
- */
- public static final List<GT_Worldgen> sWorldgenList = new ArrayList<GT_Worldgen>();
- /**
- * A List containing all the Materials, which are somehow in use by GT and therefor receive a specific Set of Items.
- */
- public static final Materials[] sGeneratedMaterials = new Materials[1000];
- /**
- * This is the generic Cover behavior. Used for the default Covers, which have no Behavior.
- */
- public static final GT_CoverBehavior sDefaultBehavior = new GT_Cover_Default(), sNoBehavior = new GT_Cover_None();
- /**
- * For the API Version check
- */
- public static volatile int VERSION = 509;
- @Deprecated
- public static IGT_RecipeAdder sRecipeAdder;
- /**
- * Used to register Aspects to ThaumCraft, this Object might be null if ThaumCraft isn't installed
- */
- public static IThaumcraftCompat sThaumcraftCompat;
- /**
- * These Lists are getting executed at their respective timings. Useful if you have to do things right before/after I do them, without having to control the load order. Add your "Commands" in the Constructor or in a static Code Block of your Mods Main Class. These are not Threaded, I just use a native Java Interface for their execution. Implement just the Method run() and everything should work
- */
- public static List<Runnable> sBeforeGTPreload = new ArrayList<Runnable>(), sAfterGTPreload = new ArrayList<Runnable>(), sBeforeGTLoad = new ArrayList<Runnable>(), sAfterGTLoad = new ArrayList<Runnable>(), sBeforeGTPostload = new ArrayList<Runnable>(), sAfterGTPostload = new ArrayList<Runnable>(), sBeforeGTServerstart = new ArrayList<Runnable>(), sAfterGTServerstart = new ArrayList<Runnable>(), sBeforeGTServerstop = new ArrayList<Runnable>(), sAfterGTServerstop = new ArrayList<Runnable>(), sGTBlockIconload = new ArrayList<Runnable>(), sGTItemIconload = new ArrayList<Runnable>();
- /**
- * The Icon Registers from Blocks and Items. They will get set right before the corresponding Icon Load Phase as executed in the Runnable List above.
- */
- @SideOnly(Side.CLIENT)
- public static IIconRegister sBlockIcons, sItemIcons;
- /**
- * The Configuration Objects
- */
- public static GT_Config sRecipeFile = null, sMachineFile = null, sWorldgenFile = null, sModularArmor = null, sMaterialProperties = null, sMaterialComponents = null, sUnification = null, sSpecialFile = null, sClientDataFile, sOPStuff = null;
- public static int TICKS_FOR_LAG_AVERAGING = 25, MILLISECOND_THRESHOLD_UNTIL_LAG_WARNING = 100;
- /**
- * Initialized by the Block creation.
- */
- public static Block sBlockMachines;
-
- public static Block sBlockOres1, sBlockOresUb1, sBlockOresUb2, sBlockOresUb3, sBlockOresGC, sBlockGem, sBlockMetal1, sBlockMetal2, sBlockMetal3, sBlockMetal4, sBlockMetal5, sBlockMetal6, sBlockMetal7, sBlockMetal8, sBlockGem1, sBlockGem2, sBlockGem3, sBlockReinforced;
- public static Block sBlockGranites, sBlockConcretes, sBlockStones;
- public static Block sBlockCasings1, sBlockCasings2, sBlockCasings3, sBlockCasings4, sBlockCasings5, sBlockCasings8;
- /**
- * Getting assigned by the Config
- */
- public static boolean sTimber = true, sDrinksAlwaysDrinkable = false, sMultiThreadedSounds = false, sDoShowAllItemsInCreative = false, sColoredGUI = true, sConstantEnergy = true, sMachineExplosions = true, sMachineFlammable = true, sMachineNonWrenchExplosions = true, sMachineRainExplosions = true, sMachineThunderExplosions = true, sMachineFireExplosions = true, sMachineWireFire = true;
- public static boolean mOutputRF = false;
- public static boolean mInputRF = false;
- public static boolean meIOLoaded = false;
- public static int mEUtoRF = 360;
- public static int mRFtoEU = 20;
- public static boolean mRFExplosions = true;
- public static boolean mServerStarted = false;
- public static boolean mIC2Classic = false;
- public static boolean mMagneticraft = false;
- public static boolean mImmersiveEngineering = false;
- public static boolean mGTPlusPlus = false;
-
- public static boolean mUseOnlyGoodSolderingMaterials = false;
-
- private static final String aTextIC2Lower = MOD_ID_IC2.toLowerCase(Locale.ENGLISH);
- /**
- * Getting assigned by the Mod loading
- */
- public static boolean sUnificationEntriesRegistered = false, sPreloadStarted = false, sPreloadFinished = false, sLoadStarted = false, sLoadFinished = false, sPostloadStarted = false, sPostloadFinished = false;
- private static Class sBaseMetaTileEntityClass = null;
-
- /**
- * Adds Biomes to the Biome Lists for World Generation
- */
- static {
- sItemStackMappings.add(sCovers);
- sItemStackMappings.add(sCoverBehaviors);
-
- sDimensionalList.add(-1);
- sDimensionalList.add(0);
- sDimensionalList.add(1);
-
- sSoundList.put(0, "random.break");
- sSoundList.put(1, "random.anvil_use");
- sSoundList.put(2, "random.anvil_break");
- sSoundList.put(3, "random.click");
- sSoundList.put(4, "random.fizz");
- sSoundList.put(5, "random.explode");
- sSoundList.put(6, "fire.ignite");
-
- sSoundList.put(100, aTextIC2Lower + ":" + "tools.Wrench");
- sSoundList.put(101, aTextIC2Lower + ":" + "tools.RubberTrampoline");
- sSoundList.put(102, aTextIC2Lower + ":" + "tools.Painter");
- sSoundList.put(103, aTextIC2Lower + ":" + "tools.BatteryUse");
- sSoundList.put(104, aTextIC2Lower + ":" + "tools.chainsaw.ChainsawUseOne");
- sSoundList.put(105, aTextIC2Lower + ":" + "tools.chainsaw.ChainsawUseTwo");
- sSoundList.put(106, aTextIC2Lower + ":" + "tools.drill.DrillSoft");
- sSoundList.put(107, aTextIC2Lower + ":" + "tools.drill.DrillHard");
- sSoundList.put(108, aTextIC2Lower + ":" + "tools.ODScanner");
-
- sSoundLis