12-22-2013, 11:36 AM
I vote up components system notion! Because reasons.
Reasons: I'd like to have more control over server configuration than with vanilla. For example, I'd love to have an option to make zombies use spiders (or rather cave spiders) movement strategy, so they could "storm" castles with high walls. Or, should I so desire, make skeletons which aren't shooting, just running at player and hitting him.
The way I can see it done is following:
Instead of making a bunch of classes for each mob (which I consider rather stupid on its own), we make generalized "mob" class. Then we make a bunch of "behaviour" classes, derived from some basic behaviour, which should have plenty of virtual methods such as "upon tick", "upon spawn", "upon death". Then we add a configuration file, one for server/world (latter would be awesome), which would be something like:
Now, Movement is pretty obvoiusly a movement strategy and so on, Burns declare whether or not mob will burn in daylight, and Tamable is either zero or item type used to tame it. This moment needs a bit of thinking through because of horse taming process. Also, I forgot food for health restore.
Anyway, point being: I wish to have a tool to change mobs behaviours and I want goddamn skeleton horse!
Reasons: I'd like to have more control over server configuration than with vanilla. For example, I'd love to have an option to make zombies use spiders (or rather cave spiders) movement strategy, so they could "storm" castles with high walls. Or, should I so desire, make skeletons which aren't shooting, just running at player and hitting him.
The way I can see it done is following:
Instead of making a bunch of classes for each mob (which I consider rather stupid on its own), we make generalized "mob" class. Then we make a bunch of "behaviour" classes, derived from some basic behaviour, which should have plenty of virtual methods such as "upon tick", "upon spawn", "upon death". Then we add a configuration file, one for server/world (latter would be awesome), which would be something like:
Code:
[Spider] ; meaning we're setting up parameters for a mob, which would be spawned using spider spawn egg, spider spawner or whenever server feels like spawning a spider, and will have a spider model
Movement=Zombie
Attack=Creeper
Ageable=0
EggSpawnable=1
SpawnerSpawnable=1
Burns=0
Hostility=Spider
Tamable=0
[ZombieHorse]
Movement=Horse
Attack=Horse
EggSpawnable=0
SpawnerSpawnable=0
Burns=0
Hostility=Horse
Tamable=apple
Now, Movement is pretty obvoiusly a movement strategy and so on, Burns declare whether or not mob will burn in daylight, and Tamable is either zero or item type used to tame it. This moment needs a bit of thinking through because of horse taming process. Also, I forgot food for health restore.
Anyway, point being: I wish to have a tool to change mobs behaviours and I want goddamn skeleton horse!