[genPOI] Work around utter plebbery
This commit is contained in:
@@ -47,7 +47,19 @@ def replaceBads(s):
|
|||||||
|
|
||||||
# If you want to keep your stomach contents do not, under any circumstance,
|
# If you want to keep your stomach contents do not, under any circumstance,
|
||||||
# read the body of the following function. You have been warned.
|
# read the body of the following function. You have been warned.
|
||||||
|
# All of this could be replaced by a simple json.loads if Mojang had
|
||||||
|
# introduced a TAG_JSON, but they didn't.
|
||||||
|
#
|
||||||
|
# So here are a few curiosities how 1.7 signs get seen in 1.8 in Minecraft:
|
||||||
|
# - null ->
|
||||||
|
# - "null" -> null
|
||||||
|
# - ["Hello"] -> Hello
|
||||||
|
# - [Hello] -> Hello
|
||||||
|
# - [1,2,3] -> 123
|
||||||
|
# Mojang just broke signs for everyone who ever used [, { and ". GG.
|
||||||
def jsonText(s):
|
def jsonText(s):
|
||||||
|
if s is None or s == "null":
|
||||||
|
return ""
|
||||||
if (s.startswith('"') and s.endswith('"')) or \
|
if (s.startswith('"') and s.endswith('"')) or \
|
||||||
(s.startswith('{') and s.endswith('}')):
|
(s.startswith('{') and s.endswith('}')):
|
||||||
try:
|
try:
|
||||||
@@ -60,15 +72,14 @@ def jsonText(s):
|
|||||||
if isinstance(foo, list):
|
if isinstance(foo, list):
|
||||||
for extra in foo:
|
for extra in foo:
|
||||||
bar += parseLevel(extra)
|
bar += parseLevel(extra)
|
||||||
return bar
|
elif isinstance(foo, dict):
|
||||||
if isinstance(foo, dict):
|
|
||||||
if "text" in foo:
|
if "text" in foo:
|
||||||
bar += foo["text"]
|
bar += foo["text"]
|
||||||
if "extra" in foo:
|
if "extra" in foo:
|
||||||
bar += parseLevel(foo["extra"])
|
bar += parseLevel(foo["extra"])
|
||||||
return bar
|
|
||||||
elif isinstance(foo, basestring):
|
elif isinstance(foo, basestring):
|
||||||
return foo
|
bar = foo
|
||||||
|
return bar
|
||||||
|
|
||||||
return parseLevel(js)
|
return parseLevel(js)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user