george8188625 / Create-Diesel-Generators

Source code of Create Diesel Generators mod
https://www.curseforge.com/minecraft/mc-mods/create-diesel-generators
MIT License
22 stars 36 forks source link

A few issues with silencers #68

Closed steve-the-player closed 9 months ago

steve-the-player commented 10 months ago

Small Engines:
Small Diesel Engines do not silence. I have tried putting a silencer on one both before and after it's started running, and it visually equips but does not silence. 2024-01-20_11 54 49 (this also shows up in the subtitles)

Modular/Medium Engines:
When using Modular Engines, the silencers are a little weird. I don't know exactly how to explain it, but I have screenshots. If the side of the silencer that has the pipe is "forwards", all modular engines "behind" a silenced engine also become silent, regardless of whether or not they have a silencer equipped. When set up like this, none of the engines make noise: 2024-01-20_12 24 04
But, when set up like this, all four unsilenced engines are loud again: 2024-01-20_12 24 39

The direction the engine is rotating does not effect this, and neither does which direction you approach it from when placing the silencers.
Ideally each engine should individually check whether or not it is silenced. I like the idea of being able to silence a whole chain of modular engines all at once, but this should require enough silencers to do them all. The ability to silence all of them at once (or rather, up to the amount of engines as the number of silencers you're holding) by shift-clicking would be a great quality-of-life feature to add in later.
edit: it appears to only be one additional engine module, not all of them after a silenced engine. Still kinda weird though

When using a wrench on a silenced modular engine, it always removes the silencer first, no matter what part of the engine you're looking at. It's mildly annoying to have to remove the silencer, change whether or not that particular module has a pipe input, and then put the silencer back on every single time you want to adjust something. I was in a creative test world, just mucking around with a few and found it mildly annoying, but I would quickly lose my mind if I was in a large world and needed to re-configure the pipe work on a massive power plant with lots of generators.
A better solution would be to only remove the silencers when targeting them (or if that becomes weird and janky, only the sides of the generators), and not the top or bottom of them. Alternatively, you could make it so that silenced engines become their own block (this would make building in creative so much easier, too), and breaking a silenced engine drops a silenced engine instead of an engine and a silencer. Then there could be some sort of easy recipe to craft/uncraft silenced engines. Perhaps make it so that they drop an engine and silencer when mined normally, but a silenced engine when silk-touched or broken with a wrench?

Huge Engines:
Huge engines do not silence, nor is there a way to apply one currently. This makes sense, since they have no visual exhaust like the other two do, but it would still be good to have, both for the sake of consistency and also general sanity. Perhaps being able to craft them with a silencer, if you don't want to have to remodel/retexture to include an exhaust? I honestly like the way they look right now, but they're so loud I can't stand using them. This is more related to the actual sound they make, going pop-pop-pop (my brain processes it as a bunch of distinct sounds, not one continuous noise like from the other generators). Even when rotating at the max speed of 256 rpm they aren't quite going fast enough to be a constant noise. This could be helped by having two engines that are next to each other, rotating the same shaft be 90º (25%) out of phase instead of 180º (50%), or changing the phase depending on how many are next to each other.

A few other things relating to the silencer in general:
It gets a little confusing when looking at a silenced engine, because there's no easy way to tell at a glance whether or not it's running. Spawning a few smoke particles would help with that immensely, since you don't have the visual feedback of the pistons moving anymore.

Also, the initial movement direction of the engines is related to which way you're facing when you place them, but the silencers always face the same direction. "Forwards" is either South or East. It would be nice to have "forwards" on the silencer also indicate rotation direction.