Traben-0 / solid_mobs

Minecraft Fabric mod thats gives entities collisions and interactions based on that
Other
2 stars 0 forks source link

[Feature?] #32

Open BioTechproject27 opened 7 months ago

BioTechproject27 commented 7 months ago

Hey, so first off I wanna say I really like this general idea. However, I don't quite like the implementation and I'd like to explain why and how it may be improved. [All is related to the Fabric version 1.7.1 in 1.20.1]

So, while with boats this implementation makes sense (as they're solid), it doesn't quite work with most mobs (except shulkers, iron golems and skeleton variants (and probably some others i forgot), which are also solid obv), as they also feel like a literal rock (which is very unlike real life). This makes it feel kinda unnatural and having this hard shell is what leads to all the bugs and weirdness [described further below]. Most mobs in real life are soft to some degree (muscles, fat tissue, skin, other tissue) until you get to the hard parts (bones, cartilage, etc).

So, I'd like to propose semi-solid mobs:

The mobs should keep their natural hitbox behavior. However, they should have an additional, smaller, actually solid hitbox, inside of them (ideally not colliding with the entity it's inside of). This would still lead to many functions as usual, like mobs not being able to occupy the same space easily. But it would likely reduce some of the jankiness and (as a side effect) probably add to vanilla client compatability.

Some (maybe) bugs I have experienced:

Also I have some questions for the config: Why are "allowItemCollisions", "allowPlayerCollisions" and "allowVillagerCollisions" seperate from "entityCollisionBlacklist" (and why aren't more entities included with a solid hitbox in general, like minecarts or end crystals)? [I guess putting them in the blacklist would look sth like

  "entityCollisionBlacklist": [
    "entity.ratsmischief.rat",
    "entity.minecraft.item",
    "entity.minecraft.player",
    "entity.minecraft.villager"
  ]

] And what exactly is meant with "allowNonSavingEntityCollisions"? Are those things like arrows, tridents, etc? Also, as a request, it would be cool if "bouncySlimes" became a "bouncyEntityWhitelist", so we can add our own bouncy mobs/entities.