Posted June 25, 201213 yr Hey guys. So, after a lot of thought, I've decided to use Forge for Doggy Talents, and there is one hook that I feel would be extremely useful, not just for me, but for others as well: An On-Load handler, which would execute script whenever an entity is first loaded, whether that be when you re-load a save game, when it naturally spawns, or when a spawner conjures it, etc. One of the biggest advantages to this would be the ability to add AI tasks to vanilla entities exactly once with little hassle. Basically, at the point where the targeting, swimming, attacking, etc. tasks are added to the entity on startup, I'd like to be able to add my own tasks to that list, so that, for example, creepers could be afraid of other entities besides cats, or zombies could be made to hunt down things besides players and villagers, such as allied entities/pets. This would be extremely useful to modders because AI tasks are ludicrously specific in their scope, and will pretty much ignore non-mod features entirely. Zombies have a task for chasing players, a task for chasing villagers, a task for damaging players on contact, and a task for damaging villagers on contact. Because the AI is so specific, these are literally the only things zombies are capable of attacking, which makes various allied entities overpowered in a non-fun way. Furthermore, unless it extends the entityOcelot class, nothing can scare a creeper, even if it's clearly a domesticated feline. These are just a few examples, I feel the utility of this hook would certainly be worth the effort to implement.
June 26, 201213 yr What we need is a generic Entity joining world hook, whether by spawning in or being loaded. Such a hook would cover your use case (with a bit of reflection) *very* well, as well as many many other use cases. Would also be nice to have an entity removed from world hook too...
June 26, 201213 yr Author That would indeed suit my needs, the needs I described for others, and many more besides. I like it!
June 26, 201213 yr Author Also, I think it would be good if somebody made the AITasks in entityliving public instead of protected while they're at it, just to make things simpler for adding tasks.
June 26, 201213 yr Author @RBD, any chance of adding sparrow to Forge? I have no problems with that, though I'd have to discuss it with Lil' Avi, she authored part of it.
June 26, 201213 yr It would make it easier to support Sparrow if it were...it seems installing things into the jar is a daunting task for some...
June 26, 201213 yr Author It would make it easier to support Sparrow if it were...it seems installing things into the jar is a daunting task for some... Yeah... But that's a bit off topic. Back on topic: What do you think of this hook?
June 26, 201213 yr It would be extremely useful to be able to have more control over vanilla mobs and would seem to be a great answer to a vanilla design flaw.
June 26, 201213 yr Author Hm... should I update the title and OP with the revision proposed by overmindDL1?
June 26, 201213 yr As for making the aitasks public, Lex would probably not do that if the class is not already edited since it is a one-liner to grab it anyway.
June 26, 201213 yr Author The class IS already edited. They're instantiated in entityliving, where all the handler hooks are
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.