Hello everyone
In this topic, I would like to talk about my ideas for my potentially possible GT6 addon in the future. I have already discussed some of this with Greg, but since then I have studied many sources and would like to share this as a public topic. I know the basics of Java programming, but I’ve had almost no experience with Forge API, much less GregAPI. I am counting on constructive criticism, opinions, and, even better, ideas and corrections.
I’ll start with how I see this addon. Greg created his mod based on the principles of game design, as he himself mentioned, so some details of industrial production are omitted for the sake of an interesting game.
My ideas take a focus on realism, even if it harms game design somewhere (there will always be those who will like it).
The first thing I thought about was adding many different grades of steel, where each will be needed in its own industry and for different parts. However, the first dilemma arises here: what prevents a player from simply creating a single “best” brand (according to Q-D-S characteristics) and using it for everything? To solve this, I suggest redesigning the entire materials system in GT6.
-
The material system will be based on real mechanical (and not only) properties of the material, such as toughness, tensile strength, elasticity, corrosion resistance, hardness (for example, according to the Brinnell scale) and others. All these properties will be configured when creating the material and stored, say, as an enum class in OreDictMaterial.
-
We already have a material system, so why not go further? Let’s break down the concept of “each machine is made of one material” (meaning that in a bronze machine all components like gears will be made of bronze) and replace it with “each machine is made of any suitable materials”. Let me explain: I mean exactly single-block (and possibly multi-block components, I haven’t looked at their recipes yet) machines, as well as, perhaps, engines and some others. Boilers, burning boxes, and tools are not included in this concept.
I will explain the essence of the concept using an abstract example: we need a Press. It requires a sufficiently strong body, a spring made of a material with a good compression ratio, as well as strong plates to create a punch). All strength criteria are specified in specific figures.
After that, the game adds the ability to craft a press from any materials that match the numbers.
In code it will possible looks like: “GetAnyMaterialOf([property1, value1], [property2, value2], …);”
And will be used in “registerMachine” method (or I forgot how it’s called in GT-API)
(Apparently, to store the amount of material for the hover hint, you will have to use NBT tags. The only question is how to craft from materials that match the numbers. Is OreDict the only way out? If you’re reading this, Greg, it would be cool if you talked about the options for creating such a system) -
Each item (ingot, plate, etc.) will store its temperature after creation, which will change every tick towards the ambient temperature. This will be necessary for quenching and tempering of steels.
-
Finally, the materials system is designed, we can talk about the methods of mining iron and steel.
Such material as “Iron” is now impossible to obtain in the early stages of the game, since it is pure iron. Instead, according to standard recipes (perhaps in a reduced volume), bloom iron is created in the crucible (not in liquid form, since ancient people could not melt iron. There are ideas about limiting the temperatures in the crucible, but I should think about it more carefully) . Each piece is forged on an anvil to remove slag, after which a purified bloom iron is obtained. Next, according to the recipe for creating plates on an anvil, 1 ingot of wrought iron is obtained.
Next, it will be possible to consider the creation of Damascus or bulat steel, but since their recipes are lost, we will talk about them another time.
If you carbonize iron in a crucible, you can get pig iron. The material itself is useless, but it can be turned back into wrought iron by puddling or melting in a crucible using bellows to blow air and turn pig iron into bloom iron and forge. Pig iron can also be obtained in blast furnaces using coke and flux (limestone), after which excess carbon is burned out using cupola furnace and cast iron is obtained, which is already suitable for some parts. Cast iron, in turn, undergoes carbon burning in the converter and, depending on the mode (weak, medium, strong), low-, medium- or high-carbon steel is obtained. It, in turn, can be quenched, tempered, or alloyed in a crucible to produce different grades of steel.
I will update this topic when I am ready to share new ideas.