FalsehoodMC / Fabrication

A huge collection of vanilla tweaks and small features for both Fabric and Forge.
https://www.curseforge.com/minecraft/mc-mods/fabrication
MIT License
113 stars 23 forks source link

Various feature improvements, some new tweak ideas #3

Closed IdrisQe closed 4 years ago

IdrisQe commented 4 years ago

First off, it'd be great if the config could be made ModMenu compatible. As an INI I'm not sure if that's doable? But it would be great for convienience. Anyhow...

=better_pause_freezing BUG: if tabbed out while a world loads, causing the game to immediately pause when the world is loaded, pause menu does not appear and it looks like the game is frozen. Escape can still be pressed to close the pause menu, however.

=enhanced_moistness TWEAK: would it be possible to change the particles used for dripping? current ones hang in the air too long and can be annoying in first-person view. alternatively, disable them from showing in first person at least. SUGGESTION: make splash and lingering water bottles de-aggro enderman who touch their area much like when they touch normal water/rain/etc.

=enchanted_item_long_despawn: TWEAK: do not apply to items that only have curses, as those can't be removed with a grindstone, so if you want to just toss them and let them despawn, it'd be nice to not have them linger around too long. Besides, does anyone really want to pick up that Curse of Vanishing Stone Sword they got from a chest?

=infibow: SUGGESTION: also allow applying infinity to crossbows, maybe as a seperate option. may require some tweaking if implemented, as another mod that does so has some issues with the implementation (https://github.com/OnyxStudios/InfinityFix/issues/4) which have yet to be addressed

SUGGESTION: +cactus_brush_doesnt_hurt_with_chest

makes touching a cactus not hurt when you're wearing a chestplate goes along with cactus_walk_doesnt_hurt_with_boots

SUGGESTION: +bush_walk_doesnt_hurt_with_legs

makes walking through berry bushes not hurt when you're wearing leggings goes along with cactus_walk_doesnt_hurt_with_boots admittedly this mod already exists for fabric, but i like my tweaks consolidated when possible, since downloading 30 mods for tiny individual tweaks is annoying, just figured it would fit well with existing functionality

SUGGESTION: +mending_affects_all

makes exp gain apply to all items with Mending, at a reduced rate, instead of choosing only one item to mend per exp gain other mods do similar things, admittedly, but all that i've found are either Forge or client+server, when I'm sure this could be made just a serverside tweak like other enchant tweaks... unless i'm wrong, in which case, ignore this.

SUGGESTION: +anvil_damage_only_on_fall

makes anvils unable to be damaged just by using them, only taking damage when they fall from a high height it just makes sense, since no other crafting station gets damaged from use, it's just weird

SUGGESTION: +anvil_repair_with_iron

allows you to repair anvils using Iron Blocks cheaper than making an entirely new anvil each time it breaks, since anvils only have 2 stages of damage to repair, so 2 blocks instead of the normal 3.44 blocks a nice alternative to the comparatively balance-altering above tweak

SUGGESTION: +phantoms_spawn_in_end

makes Phantoms spawn in all End biomes aside from "The End" (the central island's biome) to provide a proper way to acquire Phantom Membranes when doInsomnia gamerule is false. all other mods that do this either add entirely new "End Phantom" mobs, making it less of a spawn tweak and more of an entirely new mob mod, or are Forge-only. honestly was trying to figure out how to do this myself but i can't wrap my head around fabric, am too rusty with Java.

SUGGESTION: +campfires_place_unlit

makes campfires get placed un-lit, requiring you to light them with a flint and steel to use them would be great for builders since many use unlit campfires for decorations/awnings/roofing and need to throw splash bottles or bring a shovel everywhere. in general i find more unlit fires are used than lit fires for building

SUGGESTION: +fire_aspect_lights_fires

allows you to right click with any item enchanted with fire aspect to function like a flint and steel, including slight durability damage Bedrock edition has this functionality to an extent (at least allowing lighting campfires this way, unsure about other blocks) not sure if this is doable within the scope of this mod or if too heavy tweaks would be required

unascribed commented 4 years ago

First off, it'd be great if the config could be made ModMenu compatible. As an INI I'm not sure if that's doable?

As far as I know, ModMenu doesn't care about your config format. It just provides a button to open a custom Screen, which can be whatever I like.

I intend to do this, it's just a lot of work compared to making a lot of minor tweaks. (UI design is hard work.)

=better_pause_freezing TWEAK: would it be possible to change the particles used for dripping? current ones hang in the air too long and can be annoying in first-person view. alternatively, disable them from showing in first person at least.

I'm limited to particles present in vanilla as Fabrication is intended to be as server-only as is practical. I'll look for better choices; this is bothering me too.

=enhanced_moistness SUGGESTION: make splash and lingering water bottles de-aggro enderman who touch their area much like when they touch normal water/rain/etc.

Endermen actually don't de-aggro when touching water. They will if they teleport far enough away that you're no longer an eligible target, but if you do this on an island for example where the enderman can't teleport far enough away to deaggro, they will absolutely keep chasing you.

May make this an explicit deaggro option since splash water bottles are otherwise almost completely worthless.

=enchanted_item_long_despawn: TWEAK: do not apply to items that only have curses, as those can't be removed with a grindstone, so if you want to just toss them and let them despawn, it'd be nice to not have them linger around too long. Besides, does anyone really want to pick up that Curse of Vanishing Stone Sword they got from a chest?

I completely forgot about curses. Good idea.

[everything else]

Seems good, will add these to my TODO when I next work on the mod.

IdrisQe commented 4 years ago

Glad to be of inspiration! I understand the difficulty with UI design, it's awful- having even just briefly worked with Forge's built-in config screen capabilities, it was extremely annoying to get things working and looking at all like I wanted... No idea if Fabric is any better in that regard.

and I figured you wouldn't do custom particles... I don't suppose you could use the rain particles or something, though those may be too long? Maybe the generic "item" particle set to the texture of water? Or, if sticking with those, though this may be a bit of a hacky solution; I know that at least with the /particle command you can give particles motion... Would it be possible to manually give the spawned droplet particles the motion they need, and then cancel out/progressively lower that motion when they get their own baked-in motion to provide a smooth, consistent speed?... That's honestly probably too much work if it's even doable. It was a thought though.

as for the enderman thing, I guess I never really noticed that. All this said, I've realized it may not even be possible without messing with the Enderman's code (which is probably not the best idea for compatability), since Enderman are coded to be immune to projectiles even if they're forced to not teleport away from them.

unascribed commented 4 years ago

Glad to be of inspiration! I understand the difficulty with UI design, it's awful- having even just briefly worked with Forge's built-in config screen capabilities, it was extremely annoying to get things working and looking at all like I wanted... No idea if Fabric is any better in that regard.

It's worse, if anything, in that there is no built-in config solution let alone a GUI solution. (This is how I wound up using QDini, my awful ini loader, for this project.) There are community UI libraries that are better than Forge's built-in trash, but I don't tend to use UI libraries and Fabrication is supposed to have zero deps.

Basically every mod in Forge standardized on their homegrown weird .cfg format because it was right there and it worked fine; in Fabric everything is all over the place because there isn't a config framework. It's partially the point of Fabric to just not do these things, but, at the same time...

The only built-in "config format" is the JSON loader Minecraft uses for resource packs and such. But JSON is a very bad format to expose directly to humans.

and I figured you wouldn't do custom particles... I don't suppose you could use the rain particles or something, though those may be too long? Maybe the generic "item" particle set to the texture of water?

Something like that.

Would it be possible to manually give the spawned droplet particles the motion they need, and then cancel out/progressively lower that motion when they get their own baked-in motion to provide a smooth, consistent speed?

I can set a particle's initial motion (and only its initial motion) if I spawn only one (currently I spawn a group of 3 which gives them random motion) but a lot of particle types just ignore motion or use it for special data. Note particles use it for their color, droplet particles just ignore it entirely, etc.

as for the enderman thing, I guess I never really noticed that. All this said, I've realized it may not even be possible without messing with the Enderman's code (which is probably not the best idea for compatability), since Enderman are coded to be immune to projectiles even if they're forced to not teleport away from them.

Doesn't matter if you throw a thing that does splash damage like a, well, splash potion. They dodge projectiles, not explosions/splash potion effects/etc. You can just set the enderman's target to null and it will deaggro.

In Fabric, modifying random vanilla code directly is the name of the game, however. Mixins make it very easy to make highly compatible tweaks that work way better than any Forge hook or reflection hack ever would.

copygirl commented 4 years ago

SUGGESTION: +mending_affects_all

makes exp gain apply to all items with Mending, at a reduced rate, instead of choosing only one item to mend per exp gain other mods do similar things, admittedly, but all that i've found are either Forge or client+server, when I'm sure this could be made just a serverside tweak like other enchant tweaks... unless i'm wrong, in which case, ignore this.

I think Overpowered Mending does this if I understand correctly? It's a very nice tweak that could fit into this mod.

unascribed commented 4 years ago

Fabrication is kind of intended as a "one stop shop", so even if another mod already does something it's eligible for inclusion, especially if I can make my own take on it.