Adding new monster types to enum and saving/loading for easier future implementation (#4941)

* added new monster types to enum
added string <-> enum conversion in namespace serializer
added loading functions
added to saving

* renamed zombie pigman to zombified piglins in enum

Co-authored-by: 12xx12 <12xx12100@gmail.com>
Co-authored-by: Tiger Wang <ziwei.tiger@outlook.com>
This commit is contained in:
12xx12
2020-11-22 23:41:13 +00:00
committed by GitHub
co-authored by 12xx12 Tiger Wang
parent a0afd13233
commit e35519ec8a
18 changed files with 1716 additions and 462 deletions
+69 -33
View File
@@ -1064,39 +1064,75 @@ cMonster::eFamily cMonster::FamilyFromType(eMonsterType a_Type)
switch (a_Type)
{
case mtBat: return mfAmbient;
case mtBlaze: return mfHostile;
case mtCaveSpider: return mfHostile;
case mtChicken: return mfPassive;
case mtCow: return mfPassive;
case mtCreeper: return mfHostile;
case mtEnderDragon: return mfNoSpawn;
case mtEnderman: return mfHostile;
case mtGhast: return mfHostile;
case mtGiant: return mfNoSpawn;
case mtGuardian: return mfWater; // Just because they have special spawning conditions. If Watertemples have been added, this needs to be edited!
case mtHorse: return mfPassive;
case mtIronGolem: return mfPassive;
case mtMagmaCube: return mfHostile;
case mtMooshroom: return mfPassive;
case mtOcelot: return mfPassive;
case mtPig: return mfPassive;
case mtRabbit: return mfPassive;
case mtSheep: return mfPassive;
case mtSilverfish: return mfHostile;
case mtSkeleton: return mfHostile;
case mtSlime: return mfHostile;
case mtSnowGolem: return mfNoSpawn;
case mtSpider: return mfHostile;
case mtSquid: return mfWater;
case mtVillager: return mfPassive;
case mtWitch: return mfHostile;
case mtWither: return mfNoSpawn;
case mtWitherSkeleton: return mfHostile;
case mtWolf: return mfPassive;
case mtZombie: return mfHostile;
case mtZombiePigman: return mfHostile;
case mtZombieVillager: return mfHostile;
case mtBat: return mfAmbient;
case mtBlaze: return mfHostile;
case mtCat: return mfPassive;
case mtCaveSpider: return mfHostile;
case mtChicken: return mfPassive;
case mtCod: return mfWater;
case mtCow: return mfPassive;
case mtCreeper: return mfHostile;
case mtDolphin: return mfWater;
case mtDonkey: return mfPassive;
case mtDrowned: return mfHostile;
case mtElderGuardian: return mfHostile;
case mtEnderDragon: return mfNoSpawn;
case mtEnderman: return mfHostile;
case mtEndermite: return mfHostile;
case mtEvoker: return mfHostile;
case mtFox: return mfPassive;
case mtGhast: return mfHostile;
case mtGiant: return mfNoSpawn;
case mtGuardian: return mfWater; // Just because they have special spawning conditions. TODO: If Watertemples have been added, this needs to be edited!
case mtHoglin: return mfHostile;
case mtHorse: return mfPassive;
case mtHusk: return mfHostile;
case mtIllusioner: return mfHostile;
case mtIronGolem: return mfPassive;
case mtLlama: return mfPassive;
case mtMagmaCube: return mfHostile;
case mtMooshroom: return mfPassive;
case mtMule: return mfPassive;
case mtOcelot: return mfPassive;
case mtPanda: return mfPassive;
case mtParrot: return mfPassive;
case mtPhantom: return mfHostile;
case mtPig: return mfPassive;
case mtPiglin: return mfHostile;
case mtPiglinBrute: return mfHostile;
case mtPillager: return mfHostile;
case mtPolarBear: return mfPassive;
case mtPufferfish: return mfWater;
case mtRabbit: return mfPassive;
case mtRavager: return mfHostile;
case mtSalmon: return mfWater;
case mtSheep: return mfPassive;
case mtShulker: return mfHostile;
case mtSilverfish: return mfHostile;
case mtSkeleton: return mfHostile;
case mtSkeletonHorse: return mfPassive;
case mtSlime: return mfHostile;
case mtSnowGolem: return mfNoSpawn;
case mtSpider: return mfHostile;
case mtSquid: return mfWater;
case mtStray: return mfHostile;
case mtStrider: return mfHostile;
case mtTraderLlama: return mfPassive;
case mtTropicalFish: return mfWater;
case mtTurtle: return mfWater; // I'm not quite sure
case mtVex: return mfHostile;
case mtVindicator: return mfHostile;
case mtVillager: return mfPassive;
case mtWanderingTrader: return mfPassive;
case mtWitch: return mfHostile;
case mtWither: return mfNoSpawn;
case mtWitherSkeleton: return mfHostile;
case mtWolf: return mfPassive;
case mtZoglin: return mfHostile;
case mtZombie: return mfHostile;
case mtZombieHorse: return mfPassive;
case mtZombiePigman: return mfHostile;
case mtZombieVillager: return mfHostile;
default:
{