I have been rather busy last month or so. I officially started working at Bitreel as a senior developer. I will say I am open to work involving BJS just it has to be an ethical, viable, and reasonable project.
Anyway so I added a really cool feature to DVE called “custom substances”.
With that I was able to add magma and another transparent substance for things like chains.
Here is the code to register the two new substances:
SubstanceManager.registerData([
{
id: "#dve_magma",
tags: [
["#dve_parent_substance", "#dve_liquid"],
["#dve_rendered_substance", "#dve_liquid"],
["#dve_is_solid", false],
["#dve_is_liquid", true],
["#dve_flow_rate", 3],
["#dve_culled_substances", ["#dve_liquid", "#dve_solid"]],
],
},
{
id: "#dve_translucent",
tags: [
["#dve_parent_substance", "#dve_flora"],
["#dve_rendered_substance", "#dve_solid"],
["#dve_is_solid", true],
["#dve_is_liquid", false],
["#dve_flow_rate", 0],
["#dve_culled_substances", []],
],
},
]);
So as you can see you can specify the substances “parent”. Its parent will define all culling and AO behavior. You can also define the substance that it is rendered as. Meaning you can define the actual mesh/material it belongs to.
With that you can add a custom rendered susbtance like this:
DVER.nodes.substances.add(
[
{
"dve_custom_substance",
material: {
alphaBlending: false,
alphaTesting: true,
backFaceCulling: true,
},
texture: DVER.nodes.textures.addTextureType( "dve_custom_substance"),
shader: DVER.nodes.shaders.createVoxelShader("dve_custom_substance"),
mesh: {
materialId: "dve_custom_substance",
boundingBoxMaxSize: [16, 16, 16],
},
}
]
)
And lastly I got different dimensions working properly for DVE.
So DVE is pretty much ready to go to beta no problem. The API is pretty much finalized. There will be less breaking changes in the future.
I am still working on the pixel entity program as well. I made it so you can change the UV cords for each face for the entity and the program itself is getting kinda complex with UI but it will be worth it in the end.
Hopefully soon I will release the newest version of Dream Space Infinite which has many bug fixies and vastly improved player controls.
There is an epic amount of other stuff that I’ve done with the DVE plug ins and other libraries that it uses that I just don’t have the time or energy to discuss. If I am not posting for a while probably cause I am deep in the trenches working on something big.
Thanks again everyone and feeling rather grateful for all the BJS community has brought to me.