Open Camotoy opened 3 years ago
{
"materials": {
"version": "1.0.0",
//entity_emissive_alpha_spectral is the new material we are defining
//we are inheriting the properties of the material entity_nocull
"entity_emissive_alpha_spectral:entity_nocull": {
//we are defining an emissive material (USE_EMISSIVE) with transparency support (ALPHA_TEST)
//we may be able to create an outline by defining LINE_STRIP... need to look into how this works a bit more
//more info: https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/drawElements
"+defines": [
"ALPHA_TEST",
"USE_EMISSIVE",
"LINE_STRIP"
],
//we need these for LINE_STRIP
"primitiveMode": "Line",
"vertexFields": [{ "field": "Position" }],
//we are ensuring that this material is always rendered
//more info: https://developer.download.nvidia.com/cg/DepthFunc.html
"depthFunc": "Always",
//more info: https://developer.download.nvidia.com/cg/DepthBias.html
"depthBias": 1000000000.0,
//more info: https://developer.download.nvidia.com/cg/SlopScaleDepthBias.html
"slopeScaledDepthBias": 0.1,
//unsure of what these define... appear to be part of OpenGL, given the OGL suffix, but I cannot find usage outside Minecraft
//based on the notes from NVIDIA, these might refer to some scaling to applies when Open GL is being utilized rather than DirectX
"depthBiasOGL": 0.5,
"slopeScaledDepthBiasOGL": 0.5
}
}
}
Addendum: Materials currently behave oddly on devices using the Render Dragon engine so we may need to wait until this stabilizes (assuming it ever does). I've heard that some materials can work if they are completely defined as a root material, as its primarily material inheritance that's broken on at the moment. Generally, we should avoid material-based solutions if possible since they are completely undocumented and subject to change at any time, though for this problem I do not see any other possible solution.
The icon for this is actually still present in the default resources, so I believe we can just pass a custom item using it's texture short name as minecraft:icon, minecart_furnace.
We'll need to define custom sound events that geyser can trigger... imo this should be optional, as audio will add quite a bit of bloat to the pack size. Alternatively, we should at least make it easy for an experienced user to use their own default pack.
minecraft:ash
minecraft:barrier
minecraft:bubble
minecraft:bubble_column_up
- essentially interchangeable for bubbleminecraft:bubble_pop
minecraft:crimson_spore
minecraft:current_down
- essentially interchangeable for bubbleminecraft:dolphin
minecraft:elder_guardian
elder_guardian_ghost
minecraft:flash
minecraft:landing_honey
minecraft:landing_lava
minecraft:landing_obsidian_tear
minecraft:nautilus
minecraft:underwater
minecraft:warped_spore
minecraft:white_ash
minecraft:squid_ink
minecraft:totem_of_undying
minecraft:totem_particle
technically equivalent but more numerousIn order to bring player model materials in line with Java Edition, I believe we should use the material entity
for the bottom layer and and entity_alphablend
for the hat layer. Currently, player models use entity_alphatest
, making it possible for a player to upload a skin that is fully transparent. This will only be seen if a player manually disables trusted skins (in a vanilla setting at least), but I still think that this change should be made, if nothing other than an anti-cheat measure. It will also allow those that use translucency in the hat layer of their skin, which is supported on Java Edition, to have that translucency displayed for Bedrock Edition players.
If this change is made, we will need to test on the beta versions as well, as at one point there were changes in the 210 series betas that prevented editing the geometry of the player model.
This issue was initially brought to my attention by LichLord91#3963
minecraft:falling_dust
is more than likely an error on the Geyser side we can fix.
Will it support sweeping sword particles?
Will it support sweeping sword particles?
@zimzaza4 Yes, this is actively being worked on, as well as support for other missing particles. See #9. The implementation, however, will not be available until the Geyser fork for optionalpack is also merged.
Cool.
Can it display the player's head blocks?
no
Can it display the player's head blocks?
No, this will not be addressed through this resource pack. That will be a separate "pack" that has to be built to include the player heads you wish to see.
Doable without issue?
Arrows stay stuck to player
Glowing effect
Skeleton firing animation
Requires Minecraft Java textures, but is probably doable:
Iron golem cracked texturesKiller bunny textureSpectral arrow entityRequires Minecraft Java textures, is probably doable, but would not be optional:
Furnace minecartandknowledge book items