From e35519ec8ab1b958408ab2a90b88dffc1bcc7fb2 Mon Sep 17 00:00:00 2001 From: 12xx12 <44411062+12xx12@users.noreply.github.com> Date: Mon, 23 Nov 2020 00:41:13 +0100 Subject: 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 --- src/Mobs/Monster.cpp | 102 ++++++++++++++++++++++++++++++++---------------- src/Mobs/MonsterTypes.h | 41 ++++++++++++++++++- 2 files changed, 109 insertions(+), 34 deletions(-) (limited to 'src/Mobs') diff --git a/src/Mobs/Monster.cpp b/src/Mobs/Monster.cpp index 740223bfa..9a51f79d2 100644 --- a/src/Mobs/Monster.cpp +++ b/src/Mobs/Monster.cpp @@ -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: { diff --git a/src/Mobs/MonsterTypes.h b/src/Mobs/MonsterTypes.h index ea51f3539..5a591b31f 100644 --- a/src/Mobs/MonsterTypes.h +++ b/src/Mobs/MonsterTypes.h @@ -13,37 +13,76 @@ enum eMonsterType mtBat, mtBlaze, + mtCat, // Added in 1.14 mtCaveSpider, mtChicken, + mtCod, // Added in 1.13 mtCow, mtCreeper, + mtDolphin, // Added in 1.13 + mtDonkey, // Added in 1.6 + mtDrowned, // Added in 1.13 + mtElderGuardian, // Added in 1.13 mtEnderDragon, mtEnderman, + mtEndermite, // Added in 1.8 + mtEvoker, // Added in 1.11 + mtFox, // Added in 1.14 mtGhast, mtGiant, mtGuardian, mtHorse, + mtHoglin, // Added in 1.16 + mtHusk, // Added in 1.10 + mtIllusioner, // Added in 1.12 mtIronGolem, + mtLlama, // Added in 1.11 mtMagmaCube, mtMooshroom, + mtMule, // Added in 1.6 mtOcelot, + mtPanda, // Added in 1.14 + mtParrot, // Added in 1.12 + mtPhantom, // Added in 1.13 mtPig, + mtPiglin, // Added in 1.16 + mtPiglinBrute, // Added in 1.16 + mtPillager, // Added in 1.14 + mtPolarBear, // Added in 1.10 + mtPufferfish, // Added in 1.13 mtRabbit, + mtRavager, // Added in 1.14 + mtSalmon, // Added in 1.13 mtSheep, + mtShulker, // Added in 1.9 mtSilverfish, mtSkeleton, + mtSkeletonHorse, mtSlime, mtSnowGolem, mtSpider, mtSquid, + mtStray, // Added in 1.10 + mtStrider, // Added in 1.16 + mtTraderLlama, // Added in 1.11 + mtTropicalFish, // Added in 1.13 + mtTurtle, // Added in 1.13 + mtVex, // Added in 1.11 mtVillager, + mtVindicator, // Added in 1.11 + mtWanderingTrader, // Added in 1.14 mtWitch, mtWither, mtWitherSkeleton, mtWolf, + mtZoglin, // Added in 1.16 mtZombie, - mtZombiePigman, + mtZombieHorse, // Added in 1.6 + mtZombifiedPiglin, mtZombieVillager, + + // Synonyms: + mtZombiePigman = mtZombifiedPiglin, } ; // tolua_end -- cgit v1.2.3