From 2fca0567bfcd7b62b8fcd05ff36a07d931e1ea9e Mon Sep 17 00:00:00 2001 From: "madmaxoft@gmail.com" Date: Fri, 12 Jul 2013 20:28:41 +0000 Subject: Added a StringToMobType() function to the Lua API (patch contributed by STR_Warrior) git-svn-id: http://mc-server.googlecode.com/svn/trunk@1674 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/BlockID.cpp | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) (limited to 'source/BlockID.cpp') diff --git a/source/BlockID.cpp b/source/BlockID.cpp index bd2009391..ad96cfa72 100644 --- a/source/BlockID.cpp +++ b/source/BlockID.cpp @@ -321,6 +321,56 @@ EMCSBiome StringToBiome(const AString & a_BiomeString) +int StringToMobType(const AString & a_MobString) +{ + static struct { + int m_MobType; + const char * m_String; + } MobMap [] = + { + {E_ENTITY_TYPE_CREEPER, "Creeper"}, + {E_ENTITY_TYPE_SKELETON, "Skeleton"}, + {E_ENTITY_TYPE_SPIDER, "Spider"}, + {E_ENTITY_TYPE_GIANT, "Giant"}, + {E_ENTITY_TYPE_ZOMBIE, "Zombie"}, + {E_ENTITY_TYPE_SLIME, "Slime"}, + {E_ENTITY_TYPE_GHAST, "Ghast"}, + {E_ENTITY_TYPE_ZOMBIE_PIGMAN, "ZombiePigman"}, + {E_ENTITY_TYPE_ENDERMAN, "Enderman"}, + {E_ENTITY_TYPE_CAVE_SPIDER, "CaveSpider"}, + {E_ENTITY_TYPE_SILVERFISH, "SilverFish"}, + {E_ENTITY_TYPE_BLAZE, "Blaze"}, + {E_ENTITY_TYPE_MAGMA_CUBE, "MagmaCube"}, + {E_ENTITY_TYPE_ENDER_DRAGON, "EnderDragon"}, + {E_ENTITY_TYPE_WITHER, "Wither"}, + {E_ENTITY_TYPE_BAT, "Bat"}, + {E_ENTITY_TYPE_WITCH, "Witch"}, + {E_ENTITY_TYPE_PIG, "Pig"}, + {E_ENTITY_TYPE_SHEEP, "Sheep"}, + {E_ENTITY_TYPE_COW, "Cow"}, + {E_ENTITY_TYPE_CHICKEN, "Chicken"}, + {E_ENTITY_TYPE_SQUID, "Squid"}, + {E_ENTITY_TYPE_WOLF, "Wolf"}, + {E_ENTITY_TYPE_MOOSHROOM, "Mushroom"}, + {E_ENTITY_TYPE_SNOW_GOLEM, "SnowGolem"}, + {E_ENTITY_TYPE_OCELOT, "Ocelot"}, + {E_ENTITY_TYPE_IRON_GOLEM, "IronGolem"}, + {E_ENTITY_TYPE_VILLAGER, "Villager"}, + }; + for (int i = 0; i < ARRAYCOUNT(MobMap); i++) + { + if (NoCaseCompare(MobMap[i].m_String, a_MobString) == 0) + { + return MobMap[i].m_MobType; + } + } // for i - MobMap[] + return (int)-1; +} + + + + + eDimension StringToDimension(const AString & a_DimensionString) { // First try decoding as a number -- cgit v1.2.3