GlowstoneMC / Glowstone

A fast, customizable and compatible open source server for Minecraft: Java Edition
https://glowstone.net
Other
1.89k stars 271 forks source link

[#396] Entities: AI [$65] #502

Open gdude2002 opened 7 years ago

gdude2002 commented 7 years ago

Bountysource bounty

This issue is part of this story, Completing entities in Glowstone (#396). To make the work easier and bounties fairer, we've split it into multiple issues.

Anyone can participate in the completion of this issue, which will be a major turning point in the development and the possible use-cases for Glowstone as a Minecraft server alternative.


Before getting started! If you are unfamiliar with Glowstone, please remember that Glowstone is a complete rewrite of the Minecraft vanilla server, aimed to be a better alternative to other software like Spigot. You are by no means allowed to push code to this repository based on Mojang's own platform (whether it be Forge, MCP, decompiled binaries, etc.) Doing so will cause in the rejection of your Pull Request. You are allowed to use other resources like the numerous wikis that exist on the Internet (Minecraft Wiki, wiki.vg, etc.) as well as trial-and-error.


Entity AI

Entity AI (or Entity Tasking) makes up the core of the interactions between the entities, the world and the player. They may consist of multiple triggers and will result in certain actions depending on the entity type. Entities may also execute random actions. These triggers and actions need to be implemented, in order to be on an equivalent level as the Vanilla server.

For example, entities may randomly wander around, look around, find targets, etc.

--- There is a **[$65 open bounty](https://www.bountysource.com/issues/46548045-396-entities-ai?utm_campaign=plugin&utm_content=tracker%2F14691067&utm_medium=issues&utm_source=github)** on this issue. Add to the bounty at [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F14691067&utm_medium=issues&utm_source=github).
phylib commented 5 years ago

Hi, I would like to implement movements for chicken. Could you give me an advice on where to start? Should this be integrated in the GlowChicken.pulse(..) Method? Thanks Phylib

mastercoms commented 5 years ago

Hi, thank you for your interest in Glowstone AI!

We currently have an Entity AI package here: https://github.com/GlowstoneMC/Glowstone/tree/dev/src/main/java/net/glowstone/entity/ai.

States essentially determine what tasks should be performed. Tasks run in a tick.

All GlowLivingEntitys have a TaskManager instance, in a field called taskManager