MCPcopy Create free account
hub / github.com/cuberite/cuberite / StringToDimension

Function StringToDimension

src/BlockID.cpp:306–341  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

304
305
306eDimension StringToDimension(const AString & a_DimensionString)
307{
308 // First try decoding as a number
309 int res = atoi(a_DimensionString.c_str());
310 if ((res != 0) || (a_DimensionString == "0"))
311 {
312 // It was a valid number
313 return (eDimension)res;
314 }
315
316 // Decode using a built-in map:
317 static struct
318 {
319 eDimension m_Dimension;
320 const char * m_String;
321 } DimensionMap [] =
322 {
323 { dimOverworld, "Overworld"},
324 { dimOverworld, "Normal"},
325 { dimOverworld, "World"},
326 { dimNether, "Nether"},
327 { dimNether, "Hell"}, // Alternate name for End
328 { dimEnd, "End"},
329 { dimEnd, "Sky"}, // Old name for End
330 } ;
331 for (size_t i = 0; i < ARRAYCOUNT(DimensionMap); i++)
332 {
333 if (NoCaseCompare(DimensionMap[i].m_String, a_DimensionString) == 0)
334 {
335 return DimensionMap[i].m_Dimension;
336 }
337 } // for i - DimensionMap[]
338
339 // Not found
340 return (eDimension)-1000;
341}
342
343
344

Callers 2

StartMethod · 0.85
InitFinishGensMethod · 0.85

Calls 2

NoCaseCompareFunction · 0.85
c_strMethod · 0.80

Tested by

no test coverage detected