GregTech 6/Changelog

Version numbers are organized in an XX.YY.ZZ format. "XX" is the Minecraft-specific version. "YY" is the Main API version. "ZZ" is the regular update version.

6.00.26

 * [FIXED] I am now no longer using the getDescriptionPacket Function, because it tends to send the Packet to all Players, what results in a whole lot of useless Network Lag, when many Players are close together.
 * [FIXED] Functionality and Tooltips of some GT Tools
 * [FIXED] A lot of Item NBT related things in the MultiTileEntity System.
 * [FIXED] ItemBlock Rendering not using the NBT of the Block in Inventory.
 * [ADDED] MultiTileEntities now store their individual Item Name properly, if they got renamed in an Anvil or similar.
 * [ADDED] Custom Names now get synched to the Client, so that GUIs, NEI Tooltips and similar things display those Names properly.
 * [ADDED] Made all current GT Blocks Colorable. Note: Since the Color now gets saved inside the Item NBT you have to place and break old Blocks in order to have two of them Stack together. Also technically all 16777216 Colors are possible, if you paint multiple times, the Colors will mix.

6.00.25
Steam Engines for emitting Kinetic Energy (KU, not to confuse with the kU of IC²). They can emit up to twice the Energy displayed on the Tooltip, so there is a bit of tolerance. BUT if they reach the x2 margin they release the Steam and shut down and therefore loose the Energy and you need to Rubber Hammer them to start them back up. Also suitable as RF Engines with a loss of at least 50%. They emit the used Steam (currently directly distilled water, later "used" Steam) to the Sides if possible so you can collect it for distilled water. Note: You will only get 80% of the distilled Water back! Currently no fancy Piston Animation on the Engine.
 * [FIXED] Storage Blocks and Ores saving an empty NBT Object inside themselves instead of a null, what wastes a bit of Memory.
 * [FIXED] GT Renderer not being able to render GT Models.
 * [FIXED] RF Compat not working on some Blocks for weird Reasons. Maybe CJ is having an old RF API in RC, or something else is borked with the RF Interface Hierarchy.
 * [ADDED]

6.00.24

 * [ADDED] PrefixBlocks now store the Item NBT of the Item used to place them. This should for example save the Data of renamed Items.
 * [FIXED] Old Unification Config File overwriting the new Unification Config File due to having the same Name and me forgetting to remove the old one. Incredible how no one noticed that in the whole GT6 era until now. Seems most people still wanna play GT5.
 * [FIXED] New Chunks and Chunks with manually placed GT Blocks not saving Properly. Thanks to yet another Bug your previously generated and placed Stuff is safe.

6.00.23

 * [FIXED] Strong Boilers being crafted with Quintuple Plates rather than Dense Plates.
 * [FIXED] Living Entities colliding with hot or full Boilers not getting damage.
 * [FIXED] Explosion Sizes for the larger Boilers.
 * [ADDED] Function to get all the related Energy Types to ITileEntityEnergy.
 * [ADDED] BlockTextureFluid to make it easily possible to Render Fluid Icons in World using my Renderer.
 * [ADDED] Burning Particles to the Burning Box.
 * [ADDED] Color for the Energy Unit Tooltips, so that every Energy Unit has its own Color.
 * [ADDED] IMTE Interface for overriding the Item Name.
 * [ADDED] Simple Method for writing the Item NBT of the Main Drop inside TileEntityBase4. That Method is also overridden by TileEntityBase6 in order to store Cover Data in the Drop, therefore it has another Name if you extend that Class to make sure it is not getting overridden wrongly by accident.
 * [REMOVED] the useless and laggy "aSide" Parameter in the setBlockBounds and getRenderPasses Functions of my own Rendering System.
 * [CHANGED] TileEntityBase6 now overrides some Rendering things in a final fashion in order to later allow Covers to be rendered properly. It has identical "getTexture2", "getRenderPasses2" and "setBlockBounds2" Functions to be overridden properly.
 * [CHANGED] ITexture.Util is now a bit more split up in order to separate the Render Preparation (color and ambient occlusion) and the actual rendering of the Icon.

6.00.22
The Boiler Blocks. I think I got everything done right, now. It is simple: Don't let the Barometer reach the Red Section due to risk of Explosions, and don't let the Boiler run completely out of Water as it melts otherwise. Currently only supports Water Buckets and Fluid Transport Mechanisms (such as Pipes or adjacent RC Water Tanks) to refill the Water. Every Boiler has a Water Capacity of 4 Buckets (4000L). Use distilled Water if possible or you risk calcification and therefore decreased Efficiency. Every Boiler starts at 100% Efficiency amd slowly degrades with every bit of non-distilled Water getting converted to Steam. Break and replace the Boiler to clean it, but NOT while it is full of Steam!
 * [FIXED] The EnergyCompat Class can now handle RF Packets of different Sizes and all the "To-RF-Conversions" properly.
 * [FIXED] The Hardcoded Cape Lists now only load if their Online Cape Lists could not be loaded.
 * [ADDED]

6.00.21

 * [CHANGE] Replaced all mentions of ForgeDirection inside my Code. ForgeDirection is now only used via the "CS.FORGE_DIR" and "CS.FORGE_DIR_OPPOSITE" Arrays, whenever compatibility Code is needed, because Forge Direction is laggier and also looks much more un-overviewable than a simple Array access (with well named Arrays, without the good Array Names it would be an utter mess).
 * [FIXED] wrong Block Name for small Atum Sand Ore.

6.00.20

 * [FIXED] tTool.equals("equalsIgnoreCase") inside the Wrench Behaviour... How the hell did I get that one in...
 * [FIXED] Forgetting to add the first 6 people to the hardcoded Gold Cape List for Patreon.
 * [FIXED] Left/Right-Texture-Disorder in Burning Boxes, when they face North or South (Only Texture Pack Users could have seen that).
 * [FIXED] Forgetting to set hasComparatorOverride to true in the MTE Blocks.
 * [ADDED] Ore variants for "Atum" Stone and "Atum" Sand, including Mappings for the World Generator. The Small Ores will have the Limestone Dust as secondary Drop.
 * [ADDED] More Energy Compat Code in order to autoconvert GT KU to RF at the lossless 1:4 Rate (but not the other way around!). However that applies only if the Kinetic Units are positive (as in pushing), the negative ones (pulling) are not converted, so with a GT Engine it would have a 50% Loss. And currently there is no GT Machine which emits KU. And RF can also NOT be used to power GT Machines! (I need to repeat that because people are stupid enough to still assume RF->GT even though I said it twice...)
 * [ADDED] A lot of Arrays to CS.java for handling Facings, Rotations, Sides and Stuff very efficiently and much better than ForgeDirection in most regards, especially computation Speed, since Arrays are much faster than Objects, Enums or Functions.

6.00.19

 * [CHANGE] Disabled Alpha Blending per Default. Texturepack Users can still enable it if they don't have Problems with it.

6.00.18

 * [FIXED] Rendering, hopefully.

6.00.17

 * [FIXED] Restoring the Tesselator State causing a crash on the 0,0,0 Coordinate of each 16x16x16 Chunk...
 * [FIXED] Wrong blending maybe, again...

6.00.16

 * [FIXED] General Render Issues by restoring the Tesselator Vertex State (it didn't do anything visible to me, but it already rendered properly before, so it is at least not a bad thing to do)

6.00.15

 * [FIXED] Optifine Render Issues (probably)
 * [FIXED] Drill/Chainsaw/Wrench Head Textures to not look cut off that much.
 * [CHANGED] The look of the Capes.

6.00.14
Multiple different "Burning Boxes" and "Dense Burning Boxes" (Lead and Bismuth Versions being the most early Game variants), which convert Furnace Fuel into Heat Energy. Their Efficiency depends on the Material used to contain the Heat (Invar being the only 100% one but on a low Rate, Tungsten 95% with a very high Rate) The Dense ones cost about 4-5 times the Material but also have a 4 times the Output Rate, without >>ANY<< change in overall Efficiency. In order to make them you need a Dense Copper Plate, and therefore a way to compress them, meaning it is higher Tech. At 100% one Furnace Smelting equals 5000 Heat Units, so Coal/Charcoal would be 40000 HU, Coal Coke 80000 HU and Alumentum 160000 HU for example, it also accepts Wooden things (7500 HU), Saplings (2500 HU) and all the other Furnace Fuels. Many Fuel Materials have some kind of Ashes, which are left behind when burning them. These Ashes has to be removed regularly from the Burning Box in order for it to work. Coal Coke and Alumentum don't have those Ashes for example. The Burning Box is very primitive, meaning it has no GUI and won't receive any GUI. Anything you insert for burning by rightclicking the front of the Box with it will get burnt without mercy (if it is a valid Fuel, and if you don't happen to wrench the Box right afterwards, and only when the Box is actually active). In order to work, it also needs a Block without Collision Box in front of it (Air is such a Block without Collision Box). It also emits its Energy regardless of being acceptable by the Block ontop of it or not, even though in that case it only wastes half the Energy Rate. This Block is also a Fire Hazard, meaning when active it can randomly set flammable things around it on Fire The Burning Box requires Flint and Tinder or similar in order to be ignited, blame retep for that.
 * [FIXED] In World Alpha Overlay Rendering.
 * [FIXED] Light Opacity Hook not working properly.
 * [ADDED] A second Cape List containing the Patreons with a slightly different golden GT Cape.
 * [ADDED] Flint and Tinder Items using other things than Steel (such as Quartz, Jasper or regular Iron).
 * [ADDED] A way to localise the Energy Names with both, a short name (for example "EU"), and a long name (for example "Electric Energy"), what can be useful for Tooltips.
 * [ADDED] Bismuth Chest. Also Bismuth, Lead, Tin, Copper and Zinc will be the only Furnace Smeltable Metals, once I do the Smeltery.
 * [ADDED] Tooltip with Harvest Tool and Level for the MultiTileEntity Blocks, and Localised Names for most Tool Classes.
 * [ADDED] The Multiplate Crafting Recipes back for obvious Reasons.
 * [ADDED] Plates are now crafted from Double Ingots rather than using two Ingots. This results in one Hammer Usage more per Craft Earlygame. Double Plates can be made with Triple Ingots, Triple Plates with Quad Ingots and Quad Plates with Quintuple Ingots, so those Ingots make sense too.
 * [ADDED]

6.00.13

 * [FIXED] Lang File reading the Property Names rather than their actual Values, when enabled.
 * [FIXED] Hoe requiring Dirt Blocks made of Air to till.
 * [FIXED] TC Gold Coins being unificated to Gold Nuggets.
 * [FIXED] Thaumium Blocks of TC not being obtainable. They can be obtained by Chiseling the GT Block of Thaumium Ingots with the GT Chisel (just like every other Storage Block).
 * [NOT-REALLY-FIXED] "See-Through" Block Breaking Texture by disabling transparency as a whole for that task, it may look ugly but at least it is not causing X-Ray Textures.

6.00.12

 * [API] Did some infrastructural work for Covers and their Sync Code.
 * [FIXED] Cassiterite not giving 0.75 Units of Tin when smolten in Furnace, and also not having 1 Units of Tin when electrolysed (the 0.75 thing is just to make smelting less lucrative compared to the Electrolyzer). Cassiterite Ore drops double amount of crushed Ore instead.
 * [FIXED] Forgetting to add the temporary Furnace Smelting Tag to Nickel.
 * [FIXED] Forgetting about the Ore Drop Multiplier for certain Ores.
 * [FIXED] Gem Plate Storage Blocks and Crates (because Gem Plates are different from regular Plates for Texture Reasons)
 * [FIXED] GT Blocks not being able to use Alpha in Textures.

6.00.11

 * [ADDED] Made Railcrafts 3 Crowbars compatible with my IBlockToolable System. Oops, it was FOUR Crowbars, there seems to be a new Void Metal one.
 * [CHANGE] Chests now destroy about 2/3rds of their Inventory when blown up, before dropping their content.
 * [FIXED] Nether Star Items being hidden from NEI (due to not having assigned a proper Color).
 * [FIXED] forgetting to use the 2/3 Chance for Small Ores instead of Large Ores in those "Bedrock Marker Ore Top Veins".
 * [FIXED] Forestry Plugins Crashing when accessing Clientside Stuff Serverside. You should mention that crash to the Plugin Devs, because they access getRenderType Serverside, and I cannot do anything but returning 0 against that.
 * [FIXED] Added my Blocks to the Explosion Whitelist of the IC² Nuclear Explosives, so that they don't destroy Blocks with a too large Resistance.
 * [API] Added two new Levels to the TileEntityBase Class in order to have the same Code for Inventory Handling, MultiTileEntities and Networking.

6.00.10

 * [READDED] Some of the Ore Recipes. I think Hammering Ores should work again.
 * [ADDED] Chisel to switch up Storage Blocks. It has a Recipe List, so one could add more Recipes for it, than just Storage Blocks.
 * [ADDED] Bedrock Ores, which are unminable. They are supposed to be "Under Bedrock Vein Markers" for a future Project, which is similar to the MFR Laser Drill. Note, that they are EXTREME-ly rare, but they do contain a few minable instances of their Ore above them, and they remove the upper Bedrock layers around that Area (so you have no problems accessing it).
 * [FIXED] Chest not auto-unificating content when getting loaded.

6.00.09

 * [API] MultiTileEntity Registries now automatically have IDs. Those IDs are identical to their Item/Block IDs. This removes the need of initialising your own Network Handler just for MultiTileEntities. But this also creates the need of implementing the IMultiTileEntity Interface in order to have proper IDs being set, when they are placed.
 * [NOTICE] MultiTileEntities are NOT MultiBlockTileEntities.
 * [ADDED] Recipe for the Wrench.
 * [ADDED] A few Chests using the new MultiTileEntity Registry. All have 54 Slots, without exception. Fancy Materials don't justify a larger Size.
 * [FIXED] MultiTileEntity Registries now add their Creative Sub Items in order of their Registration, and not in order of their IDs (or in order of their HashCodes what was the actual Problem). That way OCD people don't have to care that much about MetaData IDs anymore in order to sort their Stuff right.
 * [FIXED] Crates breaking clientside when being rightclicked by a compatible Crowbar.

6.00.08

 * [API] A new MultiTileEntity Registry. Currently WIP, but it should work properly. It IS Part of the API so you can "easily" add your own ones with all the things you need. The only thing you need to do yourself is synchronising your TileEntities to the Client (Good that I have a Network Handler API too, which you "could" use for doing that).
 * [FIXED] Crops again.

6.00.07

 * [ADDED] the Glow in Darkness Effect for certain Materials (Glowstone, Lava, Charged Certus, TC Shards and similar).
 * [FIXED] useless Unification Targets being added for IC², since IC² does allow OreDict Usage by itself, unlike other Mods.

6.00.06

 * [API] I changed the Package Name of the PrefixBlock Class and removed the deprecated Constructors while I was at it.
 * [FIXED] Washing Ores which don't have any Byproducts assigned to them causing a Crash.
 * [FIXED] Default Unification Targets being fucked up.

6.00.05

 * [FIXED] the infinite Worldgen Loop caused by another Bugfix...

6.00.04

 * [FIXED] Now catching StackOverflow Errors when exploding a MetaBlock. This is just to prevent a useless Crash.
 * [FIXED] Creation of empty Ores when Worldgen happens to create air below a gravity affected Ore, before the TileEntity has been created.
 * [FIXED] Empty MetaBlocks and MetaItems having no Localisation, when they aren't getting generated.
 * [FIXED] Usage of IBlockAccess Serverside. WHY ARE THOSE INTERFACE FUNCTIONS CLIENTSIDE ONLY!?! WHYYYYYYYY!?! (damn automatic Code Selector)
 * [FIXED] Added a Null check for the send-Functions of the GT Network Handlers. Maybe that fixes some Bugs, maybe it doesn't. I have no Idea, since the Log didn't tell me about which Mod caused it.
 * [ADDED] Client Config to re-enable the Icon Overlays of Crates as you know them. Because Crates look far better when they are incognito. (Maybe I will add tiny Warning Icons, if the contents have explosive or flammable content later)
 * [ADDED] Made all Crates Flammable, since they are made of Wood. So you can loose Stuff when your Warehouse burns away.

6.00.03

 * [DEPENDENCIES] Adjusted to the new Crop System. Requires IC²-679 or higher from now on.
 * [ADDED] More Crushed Ore Smelting Recipes.
 * [FIXED] Crates and Ore Blocks not rendering in "otherwise" empty Chunks (you would've noticed it when stacking up to the sky with a bunch of Crates).
 * [FIXED] Silk Touching the regular GT Ores. Small Ores are as always not Silk Touchable.
 * [FIXED] Forgetting to reset the Color after Rendering a Texture causing weird Door Colors for example. Even though the Door Color thing is a vanilla Bug.
 * [FIXED] Gunpowder and other explosive Blocks causing an additional Client Side explosion rather than only doing the Serverside one. Btw. @everyone getting the Idea to use that Feature for mining: Those explosions are flaming, meaning all Drops would be burned.
 * [FIXED] Improved Worldgen Code by finally finding a fix for the TileEntity Ores causing a stupid update when they get placed, resulting in infinite World Generation Loops, when those are at Chunk Borders. Now I can finally generate Small Ores with the Default "Each-Chunk-Generator" without fearing, that this shit could ever happen again (before it used the "3x3-Chunk-Generator" for avoiding those Loops, causing UB Stone Problems). This fix will also "greatly" reduce Lag from generating my Ores (at least it feels greatly).
 * [CHANGE] Thanks to a small change in my Sync Code, Clients no longer have empty Ore TileEntities at obstructed Locations. Now they get created on the fly as soon as the Packet arrives. Before this, they got synched on the fly, what was basically the same.

6.00.02

 * [ADDED] most of the Tool and Storage Block related Crafting Recipes back.
 * [ADDED] The Furnace Smelting Tag to some Materials (including Ores) in order to regularily smelt them (this is temporary until I add a Smeltery)
 * [FIXED] ConcurrentModificationException when spawning Entities during the iteration of all Entities. (like Ore Washing in Cauldrons dropping new Items)

6.00.01

 * [FIXED] Creative Tabs for each Type of Prefix are now working properly (They are on a "per MetaItem" Base).
 * [ADDED] Config to show hidden Items/Prefixes/Materials. Hidden Items are usually for secrets, hidden Materials are things like the Anti-Matter Materials which nobody wants to click when searching NEI, and there are currently no hidden Prefixes due to the Creative Tabs mentioned above.
 * [ADDED] Registry (aka HashMap) for "Stone => Ore-Block" Mappings, so that custom Ore Blocks can be generated by the GT World Generator. Also useful for Custom World Generators ofcourse.
 * [ADDED] Native Underground Biomes Support for GT Ores. Will be funny to see things like Lignite-Lignite-Ore and other random Stuff. NOTE: Sometimes it fails and instead places the normal Stone Variant, because UB generated the Stone after GT placed the Ores. But this happens rarely as far as I saw.
 * [REMOVED] the Debug 3 Config again. I just made it a constant instead of letting the user "decide" to enable GregTech, lol.

6.00.00
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. 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. 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). 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). 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. 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. MetaItems which everyone can create by just calling a Constructor once (Same goes for MetaBlocks too). 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. Improved Worldgen with Ores for almost every kind of vanilla Stone/Sand. 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) Railcraft Names for Items being outdated causing some Recipes to be removed.
 * [ADDED]
 * [ADDED]
 * [ADDED]
 * [ADDED]
 * [ADDED]
 * [ADDED]
 * [ADDED]
 * [ADDED]
 * [ADDED]
 * [FIXED]
 * [FIXED]