Update JonnyJD's pullrequest to work with the new POI codes
Also: only parse players in a regionset once ignore corrupt player.dat files
This commit is contained in:
12
genPOI.py
12
genPOI.py
@@ -45,6 +45,10 @@ def handleSigns(rset, outputdir, render, rname):
|
|||||||
def handlePlayers(rset, render, worldpath):
|
def handlePlayers(rset, render, worldpath):
|
||||||
if not hasattr(rset, "_pois"):
|
if not hasattr(rset, "_pois"):
|
||||||
rset._pois = dict(TileEntities=[], Entities=[])
|
rset._pois = dict(TileEntities=[], Entities=[])
|
||||||
|
|
||||||
|
# only handle this region set once
|
||||||
|
if 'Players' in rset._pois:
|
||||||
|
return
|
||||||
dimension = {'overworld': 0,
|
dimension = {'overworld': 0,
|
||||||
'nether': -1,
|
'nether': -1,
|
||||||
'end': 1,
|
'end': 1,
|
||||||
@@ -52,7 +56,11 @@ def handlePlayers(rset, render, worldpath):
|
|||||||
playerdir = os.path.join(worldpath, "players")
|
playerdir = os.path.join(worldpath, "players")
|
||||||
rset._pois['Players'] = []
|
rset._pois['Players'] = []
|
||||||
for playerfile in os.listdir(playerdir):
|
for playerfile in os.listdir(playerdir):
|
||||||
data = nbt.load(os.path.join(playerdir, playerfile))[1]
|
try:
|
||||||
|
data = nbt.load(os.path.join(playerdir, playerfile))[1]
|
||||||
|
except IOError:
|
||||||
|
logging.warning("Skipping bad player dat file %r", playerfile)
|
||||||
|
continue
|
||||||
playername = playerfile.split(".")[0]
|
playername = playerfile.split(".")[0]
|
||||||
if data['Dimension'] == dimension:
|
if data['Dimension'] == dimension:
|
||||||
# Position at last logout
|
# Position at last logout
|
||||||
@@ -158,7 +166,7 @@ def main():
|
|||||||
for poi in rset._pois['Players']:
|
for poi in rset._pois['Players']:
|
||||||
result = filter_function(poi)
|
result = filter_function(poi)
|
||||||
if result:
|
if result:
|
||||||
markerSetDict[name]['raw'].append(poi)
|
markerSetDict[name]['raw'].append(dict(x=poi['x'], y=poi['y'], z=poi['z'], text=result, createInfoWindow=True))
|
||||||
#print markerSetDict
|
#print markerSetDict
|
||||||
|
|
||||||
with open(os.path.join(destdir, "markersDB.js"), "w") as output:
|
with open(os.path.join(destdir, "markersDB.js"), "w") as output:
|
||||||
|
|||||||
Reference in New Issue
Block a user