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 ++++++++++++++++++++++++++++++++++----------------- 1 file changed, 69 insertions(+), 33 deletions(-) (limited to 'src/Mobs/Monster.cpp') 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: { -- cgit v1.2.3