Hantonik / FancyBlockParticles

3D Digging particles! YAY! Original mod by @TominoCZ
https://curseforge.com/minecraft/mc-mods/fbp-renewed
GNU General Public License v3.0
2 stars 0 forks source link

[Bugs & Features] Some broader collection #6

Closed BioTechproject27 closed 3 months ago

BioTechproject27 commented 6 months ago

So first off, I realize this is a new mod so it will obviosuly have bugs that are (hopefully) already being worked on, but here is a kinda organized list of some bugs I found and features I'd like to see :3

Version used: 1.20.1-fabric-1.1.2.0-beta Fabric 0.15.6 Minecraft 1.20.1 Additonal mods: fabric-api-0.92.0+1.20.1.jar

Bugs

Features

I'd love to see at least some of these features implemented, I'm excited how this mod will develop! Ofc if some of what I said is unclear, please ask <3

[Also on a seperate note, this issue form kinda sucks, bcs it requires me to fill out spots which aren't relevant. Also, some can be condensed (Like Modloader and Modloader version [the field should btw say "e.g. 0.15.1" instead of "Forge / Neoforge / Fabric"] could just be Modloader & Version, saying something like "e.g. Fabric 0.15.6") Also "Minecraft version" doesn't include options like 1.20.1]

[Removed that clutter with an edit.]

BioTechproject27 commented 5 months ago

Has this project been abandoned? :c

Hantonik commented 3 months ago

Hi!

No, this project has not been abandoned. Over the past few months, I've been meticulously rewriting the FBP code to eliminate as many bugs as possible and implement numerous improvements. I chose not to announce this earlier because I wasn't sure how long the work would take.

While working on the project, I considered and implemented some of your ideas.

FBF particles aren't visible when they're underwater [e.g. falling into the water, or being created underneath (for example while mining a block while standing above the water line)], while the camera isn't.

Unfortunately, this bug is due to the way the Minecraft rendering engine works, and I can't change that. However, a few versions ago, the game introduced a Fabulous! graphics setting, which allows for rendering particles seen by the player through water surfaces.

Non-block originating particles (rain, snow, smoke, etc) ignore particle decay & lifetimes, maybe adding seperate settings for all of them could help?

Spawn while frozen is ignored by non-block particles

Better hover descriptions of options like "Cull particles", "Smart breaking" and "Spawn while frozen"

I’ve fixed it. In the original version of this mod, these options were only applied to terrain particles. Now, there are separate settings for each type of particle and clearer descriptions for options that are harder to understand.

Water physics does not seem to do anything? [I thought it would push particles with water flow, or have wood particles swim, but it doesn't?]

I really like the rain particle hitting the floor and creating the mini puddle, it would be sick if that also happened on the surface of the water (aka they should collide with water. Perhaps this could be an opportunity to do some effect together with wakes?)

I've implemented water physics, but for now, it's only for terrain particles. Water physics for rain and snow particles will be added in the future.

Fancy placing animation does not seem to do anything? [I thought it would push particles out of the way when placing blocks, but it doesn't do that, or anything else afais]

This mechanic will be implemented in the future. For now, I recommend a separate mod A Good Place that adds an animation similar to the one in the original FBP.

Kill particles keybind still plays the fade out animation

Snow particles exist when they should melt into rain (mainly on height related snow-rain boundaries)

Both of these bugs have been fixed.

On that same note, yk the feature of how lava creates smoke when exposed to rain? Well, with FBF it seems to just spew out smoke for (seemingly) no reason. Instead, I think it would be great if (when a rain particle lands on lava) it should create a little white cloud of water vapour.

The initial concept of this project aimed to stay true to the original, where lava emitted smoke particles during rain, as in Vanilla Minecraft. However, I like this idea, so I’ve decided to include a prototype of water vapor particles in version 20.6.0.0-beta. I’ve held off on their full implementation for now, as the physics of these particles are not yet fully refined. If you'd like to test them, you can use the command /particle minecraft:white_smoke to spawn the particles.

It would be great if one could make exceptions to certain particle physics (specifically, it seems weird how snow particles phase through powdered snow), or add blocks that are made "thicker/sturdier" through resourcepacks

I don't fully understand what you mean, but if I guess correctly that you're referring to the ability to adjust the physics of specific particle types upon contact with the ground, I must disappoint you. Implementing such a mechanic is quite challenging and I doubt that this mechanic itself would garner much interest in the future.

Campfire smoke could be translucent grey 3D clouds?

I've thought about it before, but I couldn't come up with any interesting ideas on how it could look, especially since I try to keep particle shapes simple, using cubes, because other shapes are difficult to render and animate.

Falling block particles (e.g. floating sand, anvils, dragon egg, concrete powder) could also have block particles?

I'm afraid I don't understand what you mean.

It would be cool to add the option to have the settings available in Mod Menu and having the option to disable the showing of keybindings in the Options menu as (especially with more mods which ppl usually have) it just adds clutter

I've added an extra button at the bottom of the Minecraft options menu, providing access to FBP settings. As for the second matter you raised, I can't do away with keybindings since they facilitate quick adjustments to the mod's settings. If you prefer not to use keybindings, you can always disable them in the Controls settings.

This is more of a question: why not reload the config every time one presses Done? Also I think it would make sense to have that as a keybind?

I can't reload the config every time the player clicks Done as it may overwrite the player's configuration set in the config file or, conversely, overwrite the configuration just set in the in-game FBP settings. However, I've decided to add a keybinding for reloading the configuration from the config file. By default, it's not assigned.

It would be great to have a better Random scale, what I mean is that it seems to kinda cut some pixels. It would be nice to have the option of choosing wether they are 1/16x1/16th chunks (basically one pixel in the classic texture pack), 1/8x1/8, etc., and e.g. set their individual weights

Actually, the Random scale setting refers to the physical size of the particle, not the texture scale, but I understand how this could be confusing. Therefore, I've changed the setting's name to Random size. The idea itself is quite interesting, and I'll try to figure out how to implement it.

Having an option to how far away they can spawn on different particle kinds (e.g. how far away rain is seen)

Related to that: Option to customize performance based particle creation/rendering

I don't know how feasable this is, but having smarter non-block particle distribution based on things like velocity? What I mean is that e.g. when falling or elytra gliding, one seems to fall into areas with suddenly no rain/snow, when there should be some. So shifting/extending the creation of particles in the direction of movement would make for a smoother experience I believe

I've overhauled the mechanics of weather particle generation. Now, within their settings, you'll find options like Render distance and Simulation distance. These allow you to control the distance at which rain and snow particles are rendered and generated.

BioTechproject27 commented 2 months ago

Hai!

Great to see this project is alive! And nice to see some of my ideas were considered! Sorry it took so long to reply, had some stuff myself to deal with.

Unfortunately, this bug is due to the way the Minecraft rendering engine works, and I can't change that. However, a few versions ago, the game introduced a Fabulous! graphics setting, which allows for rendering particles seen by the player through water surfaces.

Ah, for some reason I assumed it was rendering them differently, I'll try that :3

I don't fully understand what you mean, but if I guess correctly that you're referring to the ability to adjust the physics of specific particle types upon contact with the ground, I must disappoint you. Implementing such a mechanic is quite challenging and I doubt that this mechanic itself would garner much interest in the future.

Mh, so what I mean is that the particles seem to collide with, well, the blocks collision box. But, e.g. some resourcepacks change e.g. the texture of plants to be 3D, which themselves don't have collision (in vanilla there's powdered snow that is a full block but has no collision). So perhaps it would make sense to implement a sort of whitelist (either in resourcepacks or config file) where their hitbox (I mean the black outline that appears when hovering over them) is treated like the collision box instead (bcs obviously colliding with the texture itself would be really hard, if not impossible to implement). So that e.g. snow particles lay ontop of powdered snow and other specified blocks instead of falling through them. Plus, on that idea, it may be cool to have snow particles get stuck in webs or sth. Maybe.

I've thought about it before, but I couldn't come up with any interesting ideas on how it could look, especially since I try to keep particle shapes simple, using cubes, because other shapes are difficult to render and animate.

Yeah, pretty much what I had in mind. I though that having clusters of (between 1 and 5 or so) differently sized and positioned cubes/"cuboids" rise intermittently like the campfires particles could look good?

"Falling block particles (e.g. floating sand, anvils, dragon egg, concrete powder) could also have block particles?"

The particles that are created when sand (and other gravity affected blocks) are floating, aka have an air block underneath them, but haven't been updated and thus don't fall. I thought about having sand, gravel, etc drop 1px cubic sand particles, instead of the little vanilla star-shaped particle.

Hope this cleared some things up and I'll definitely check out the new version when I have time! I love it!