You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I spoke with @Caeleron for a bit about where we're going with this.
For the time being, we're going to approach this in different steps:
I'm going to focus on the ore processing chain and the resulting processing of better and better materials from that
Cameron's going to focus on the terrain and ore generation.
After long discussion about this topic, we came up with the following ideas for world generation.
At world start, we need to generate plates. These plates can be generated using an algorithm where we take a bunch of adjacent dots, connect them in a shape that does not overlap itself (much - calibration required) and then space-fills the selected dots against adjacent ones to form a plate boundary. Alternatively, we have a system that we could use that basically we take a few dozen hexagons and we determine what direction they are going and which ones are grouped together.
Once we have plates and their movement history, we can plan for where ores generate
We generate the ores and the world and use the information about the types of rifts and faults to generate the mountains, plains, and other biomes for the world.
Once the ore is generated, it's pretty simple to start the ore processing chains.
More research is probably required, but maybe we can probe someone at the USGS locally about this sort of information and learn more about geology and the associated learnings we can use to make this mod work.
We also discussed how we're going to format NBT Tags.
So, when we have ores in block form, they have block state. We can use this to specify the type of rock and the type of minerals in that rock.
Upon the rock being broken, this is converted into an ore chunk item, which has a tag with all of the different minerals and such in the rock.
This material stores the following data:
data classRawMineral(valmaterial_name:String, varmoles:Double)
We will combine this with a table of material_name, molecular_symbols (or similar), density and a few other useful parameters.
These, combined with other resources, will eventually result in quantities of particular materials (also with tags) such that we can eventually use these for detailed crafting in later recipes; for example, to make an inductor of X size (henries), we may require 5 grams of 22 AWG copper wire plus an iron rod 5mm in diameter and 15mm long. You spin this around the inductor and make your inductor in a crafting table or spooler.
Cameron and I briefly touched on this in a conversation; we're likely going to have a similar mode to the easyWaila mode that we had in Electrical Age, where you can actually see what minerals are in a material without just being told the material name.. in some cases we might be a little ambiguous about the actual materials contained because we want to hide the "cons" of certain material processes (eg, Wolframite). This will be handled with conditional logic on the client side render. In the situation where we make everything easy, all of the resources inside of the tag will be exposed, including the molar and mass; otherwise, we will simply give you an item name in the hotbar and nothing else (although we may give you an in-world measuring scale that at least lets you measure the mixture weight itself).
Fluids.
To my knowledge, Minecraft fluids cannot store block state nor tags. This is a problem.
This means that fluids that are exposed to Minecraft's Fluid api must be handled entirely in mB liters.
The conversion from millibuckets to liters is 1L. That might sound insane, but recall that Minecraft has 1 meter cubed of water fit in a bucket.. somehow. This is 1,000 liters - seriously, look it up if you don't believe me. One cubic meter is 1,000 liters. Your standard soda bottle? It's got like 2 liters in it for the larger sizes.
Oh, another fun thing. One cubic meter of water weighs 1,000kg. I think at this point it's well established that Steve/Alex are very strong.
Jokes aside, this fluid limitation means one of two things:
The fluids we have don't go through the normal fluid system and are instead using a new fluid system we create.
Fluids are severely limited to particular types and any other fluids we might have are extremely generic with the exception for a fluid for every type of ore slurry we plan to support.
Speaking of ore slurry, please take note of the existing ore dressing document we've had for a while.
No, we are not planning on supporting Vintage Story anymore. So that's out.
Cameron thinks that this is sufficient for now but we may redo this later. There are also important things that are omitted on this document for clarity, such as the fact that all of the sluices require water and remove some of the material in that process. Cameron also questions how "clean" the ores would be from this but that's a topic for another time.
For the time being, this is what we're going to go with, and once we've got this wrapped up, we'll be ready for all the other mods to have realistic crafting available.
Feel free to comment below if you have additional thoughts on the processes discussed above, but anything that isn't that should be opened as a new issue against the repository for consideration.
The text was updated successfully, but these errors were encountered:
I spoke with @Caeleron for a bit about where we're going with this.
For the time being, we're going to approach this in different steps:
After long discussion about this topic, we came up with the following ideas for world generation.
Once the ore is generated, it's pretty simple to start the ore processing chains.
More research is probably required, but maybe we can probe someone at the USGS locally about this sort of information and learn more about geology and the associated learnings we can use to make this mod work.
We also discussed how we're going to format NBT Tags.
So, when we have ores in block form, they have block state. We can use this to specify the type of rock and the type of minerals in that rock.
Upon the rock being broken, this is converted into an ore chunk item, which has a tag with all of the different minerals and such in the rock.
This material stores the following data:
We will combine this with a table of
material_name
,molecular_symbols
(or similar),density
and a few other useful parameters.These, combined with other resources, will eventually result in quantities of particular materials (also with tags) such that we can eventually use these for detailed crafting in later recipes; for example, to make an inductor of X size (henries), we may require 5 grams of 22 AWG copper wire plus an iron rod 5mm in diameter and 15mm long. You spin this around the inductor and make your inductor in a crafting table or spooler.
Cameron and I briefly touched on this in a conversation; we're likely going to have a similar mode to the
easyWaila
mode that we had in Electrical Age, where you can actually see what minerals are in a material without just being told the material name.. in some cases we might be a little ambiguous about the actual materials contained because we want to hide the "cons" of certain material processes (eg, Wolframite). This will be handled with conditional logic on the client side render. In the situation where we make everything easy, all of the resources inside of the tag will be exposed, including the molar and mass; otherwise, we will simply give you an item name in the hotbar and nothing else (although we may give you an in-world measuring scale that at least lets you measure the mixture weight itself).Fluids.
To my knowledge, Minecraft fluids cannot store block state nor tags. This is a problem.
This means that fluids that are exposed to Minecraft's
Fluid
api must be handled entirely inmBliters.The conversion from millibuckets to liters is 1L. That might sound insane, but recall that Minecraft has 1 meter cubed of water fit in a bucket.. somehow. This is 1,000 liters - seriously, look it up if you don't believe me. One cubic meter is 1,000 liters. Your standard soda bottle? It's got like 2 liters in it for the larger sizes.
Oh, another fun thing. One cubic meter of water weighs 1,000kg. I think at this point it's well established that Steve/Alex are very strong.
Jokes aside, this fluid limitation means one of two things:
Speaking of ore slurry, please take note of the existing ore dressing document we've had for a while.
No, we are not planning on supporting Vintage Story anymore. So that's out.
Cameron thinks that this is sufficient for now but we may redo this later. There are also important things that are omitted on this document for clarity, such as the fact that all of the sluices require water and remove some of the material in that process. Cameron also questions how "clean" the ores would be from this but that's a topic for another time.
For the time being, this is what we're going to go with, and once we've got this wrapped up, we'll be ready for all the other mods to have realistic crafting available.
Feel free to comment below if you have additional thoughts on the processes discussed above, but anything that isn't that should be opened as a new issue against the repository for consideration.
The text was updated successfully, but these errors were encountered: