Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rideable Entities #39

Open
BenCheung0422 opened this issue Dec 24, 2024 · 0 comments
Open

Rideable Entities #39

BenCheung0422 opened this issue Dec 24, 2024 · 0 comments

Comments

@BenCheung0422
Copy link
Member

BenCheung0422 commented Dec 24, 2024

Original: MinicraftPlus/minicraft-plus-revived#561

Background

If we need to implement the logic and idea correctly and completely, this feature (https://minecraft.fandom.com/wiki/Riding) would still be needed, instead of just targeting implementing the feature in the simplest and easiest way. This behaviour and direction have been used for a long time with Load and the static class structures as examples. (Taken from a Discord message in the boat post.)

Details

This issue is mainly related to the functionality, but not the actual entities to implement.

There should be a map (a BiMap is recommended.) mapping the entity riding relationships. The map should be stored in a separated file in save. When the save system is rewritten, the data of the passenger can be instead recorded within an entity recursively instead of using a separated mapping. The position of the passenger is led by the mount and the boat is controlled by the player when being ridden. An entity can only be ridden and/or riding not more than one entity not being ridden by the entity itself.

Player Riding

In general, if players want to ride a mobs that are intended to be rideable, a saddle must be installed. If they are required to be tamed, they must first be tamed before being able to control, even a saddle is installed, but a saddle is not required when taming.

Entity Implementation

Not all entities would support bonuses, but entities would have their own characteristics for their own usages, but sometimes it might just be interesting without actual uses.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment