HAYO EVERYONE! ... I mean... this is not an IndustrialCraft² update. Well, its as good as or better for many, so anyway:
GregTech 6 has been released! Be warned that GT 6 is NOT savegame compatible with GT5.
GregoriusT said:
@everyone: Set Debug3 to true if you dont wanna crash on startup
Changelog:
6.00.00: (savegame incompatible, 1.7.10, API not released as standalone for now because of some minor issues)
[ADDED]
Universal and technically GregTech independent Energy API with all Use-Cases of the RF API,
plus the Possibility to determine what Type of Energy something is (like Electricity, kinetic Energy or even Redstone Flux),
the Usage of the DataType Long instead of Integer,
additional Data being accessible for the more complicated Energy Network implementations, such as Minimum, Recommended and Maximum Size of Packets to be transmitted into or out of a Block,
the Functions being named in a way so that the second word after "get", "is", "do", "insert" or "extract" is always "Energy" and then being followed by the rest of the Name in a Table alike fashion,
and a simple Compat Class to insert Energy of the Electric Type into IC2 Machines, and Energy of the Redstone Flux Type into RF Acceptors,
also containing an IEnergyItem Interface with really everything one could ask for, such as Coordinates or the Inventory the Item is contained in.
[ADDED]
Universal and technically GregTech independent Network Handler,
where only the sent/received Packets have to be defined. Everything else is done by the Network Handler itself.
Also including optimised Packet implementations for transmitting Coordinates without wasting Bandwidth,
and a default Sound Packet for sending Sounds to the Client.
[ADDED]
Universal and technically GregTech independent OreDictionary Manager,
with the ability to silently (much unlike the very loud regular GT OreDict Manager) Filter out and distribute OreDictionary Events to their respective Targets (such as OreDictPrefixes),
to automatically re-register OreDictionary Names (for OreDict Lists for example) by just adding Strings to a List,
and to find unknown OreDictionary Materials and add them silently to a List (which GregTech would access to put them into the Log).
[ADDED]
Versions of OrePrefixes and Materials, which are no longer Enum dependent,
with shorter class Names for the default OrePrefix and Material Lists (MT and OP),
better HashCode uniqueness by making hashcode independant from IDs,
and also Utility for shorter Code ("OM.stack()" is much shorter than "new OreDictMaterialStack()"),
including a List of all Chemical Elements and their Anti-Elements from Hydrogen to Triennennium,
pretagged with things like METAL, ALKALI_METAL, ALKALINE_EARTH_METAL, LANTHANIDE, ACTINIDE, TRANSITION_METAL, POST_TRANSITION_METAL, METALLOID, NONMETAL, POLYATOMIC_NONMETAL, DIATOMIC_NONMETAL, NOBLE_GAS or ANTIMATTER
complete with ALL Melting and Boiling Points of said Materials (which are known to Wikipedia, and without the decimals),
some Isotopes of them like Deuterium, Tritium, Carbon-13, Carbon-14 or Lithium-6,
and also some aliases like "Aluminium"<=>"Aluminum", "Wolframium"<=>"Tungsten" or "Farnsium"<=>"Ununseptium" and more (and it is possible to easily create an alias to rename a Material).
[ADDED]
Universal and technically GregTech independent Tool Rightclick Usage Interface for the Block Class with all Parameters one will need,
including Tool Name, Approximate Tool Durability, The Coordinates of the Block with the Side clicked (to get the TileEntity if needed) and much more,
returning the Durability lost by the Rightclick on the Block, so that anyone can use his own Tool Damage System,
also including a Compatibility Class for vanilla Blocks and some other Mods Interfaces, so that one doesn't have to implement the special cases for those over and over again.
[ADDED]
Interfaces for delegating whole TileEntities into different positions. This is very useful for extending the Sides of a Block or for Tesseracts, if the accessing "Third Party Mod" decides to use the Interface. All GT-API based TileEntities automatically access that Interface when getting TileEntities.
Interfaces for giving "stupid" Blocks the ability to return a TileEntity, in case you have your own TileEntitiy Registry. "UT.Worlds.getTileEntity" automatically uses that Function of the Blocks if no regular TileEntity has been found.
[ADDED]
MetaItems which everyone can create by just calling a Constructor once (Same goes for MetaBlocks too).
[ADDED]
I now differenciate between the Prefixes for "blockIngot", "blockGem", "blockPlate" and "blockDust", because people fucked with that Prefix way too much.
I re-registered some of the "block"-Prefix based Items to fit their proper new Prefix in order to keep at least some compatibility with the old Prefix.
I also added "blockSolid" for a 100% Cast Metal Block. Even though some "blockIngot"s look like they have been cast in vanilla, I see the difference in crafting.
With all those new Storage Blocks I don't need the Config for Storage Block Recipes anymore, since EVERYTHING is now available in some Storage Block Form or the other.
[ADDED]
Improved Worldgen with Ores for almost every kind of vanilla Stone/Sand.
[FIXED]
Memory Leaks from GT Fluid Stacks caused by the List of all Fluid Stacks being filled with every instance of the GT Fluid Stacks even after the Server Started (since those Fluid Stacks are just for Recipes)
[FIXED]
Railcraft Names for Items being outdated causing some Recipes to be removed.