TeamChocoQuest / ChocolateQuestRepoured

ChocolateQuest Re-poured!
Other
75 stars 25 forks source link

FlyingSkullEntity + Chain model cleanup #369

Closed Patrigan closed 2 years ago

Patrigan commented 2 years ago

I started with the Flying Skull. I tried to touch as little as possible of the existing code, though there are various rewrites I would consider.

I am not sure how I could test this, since the code is still utterly broken, but I am fairly certain the code works.

Due to its nature, I couldn't reuse some of the Base classes, for example in the renderer. I personally would consider a rewrite to an actual AbstractEntityCQR. Flight navigation can then be copied from, for example, the parrot. You could then also, for shits and giggles, allow it to wear a helmet. You will then also be able to use the RenderCQREntityGeo. I can see various possibilities with this rewrite, like a skeleton that, instead of dying, loses its head as it tries to do a final suicidal attack. Obviously due to the extent and the impact of this, I decided against this. Let me know what you think.

DerToaster98 commented 2 years ago

I like the idea of changing AbstractEntityCQR, it is quite bloated currently. I already tried moving certain features to interfaces which helped a bit but definitely can be expanded. I'd like to hear your other ideas too. And i like the idea of the skull wearing a helmet. Skeletons losing their head on death: I actually had a similar idea where it would lose it's head and the head will jump around like a small slime and will collect bones that created from the skeleton dying. If it had enough it will reconstruct into the skeleton

DerToaster98 commented 2 years ago

chain commit looks good

DerToaster98 commented 2 years ago

geckolib migration of flying skull looks good too, same with the entity, i think the animation name is wrong though, i think it should be "animation.flying_skull.controller_idle", also i like to use constants for that, but that is more a choice of personal codestyle.

Merging it now