0

Merge pull request #669

Merge branch 'player_marker' of https://github.com/JonnyJD/Minecraft-Overviewer into devel

Conflicts:
	genPOI.py
	overviewer_core/data/js_src/views.js
This commit is contained in:
Andrew Chin
2012-04-14 22:42:27 -04:00
4 changed files with 45 additions and 0 deletions

View File

@@ -42,6 +42,35 @@ def handleSigns(rset, outputdir, render, rname):
print "Done."
def handlePlayers(rset, render, worldpath):
if not hasattr(rset, "_pois"):
rset._pois = dict(TileEntities=[], Entities=[])
dimension = {'overworld': 0,
'nether': -1,
'end': 1,
'default': 0}[render['dimension']]
playerdir = os.path.join(worldpath, "players")
rset._pois['Players'] = []
for playerfile in os.listdir(playerdir):
data = nbt.load(os.path.join(playerdir, playerfile))[1]
playername = playerfile.split(".")[0]
if data['Dimension'] == dimension:
# Position at last logout
data['id'] = "Player"
data['EntityId'] = playername
data['x'] = int(data['Pos'][0])
data['y'] = int(data['Pos'][1])
data['z'] = int(data['Pos'][2])
rset._pois['Players'].append(data)
if "SpawnX" in data and dimension == 0:
# Spawn position (bed or main spawn)
spawn = {"id": "PlayerSpawn",
"EntityId": playername,
"x": data['SpawnX'],
"y": data['SpawnY'],
"z": data['SpawnZ']}
rset._pois['Players'].append(spawn)
def main():
helptext = """genPOI
%prog --config=<config file>"""
@@ -110,6 +139,7 @@ def main():
markers[rname] = [dict(groupName=name, displayName=f['name'], icon=d['icon']),]
handleSigns(rset, os.path.join(destdir, rname), render, rname)
handlePlayers(rset, render, worldpath)
logging.info("Done scanning regions")
logging.info("Writing out javascript files")
@@ -125,6 +155,10 @@ def main():
result = filter_function(poi)
if result:
markerSetDict[name]['raw'].append(dict(x=poi['x'], y=poi['y'], z=poi['z'], text=result, createInfoWindow=True))
for poi in rset._pois['Players']:
result = filter_function(poi)
if result:
markerSetDict[name]['raw'].append(poi)
#print markerSetDict
with open(os.path.join(destdir, "markersDB.js"), "w") as output:

View File

@@ -87,6 +87,7 @@ directory.
dump['CONST']['image'] = {
'defaultMarker': 'signpost.png',
'signMarker': 'signpost_icon.png',
'bedMarker': 'bed.png',
'compass': 'compass_upper-left.png',
'spawnMarker': 'http://google-maps-icons.googlecode.com/files/home.png',
'queryMarker': 'http://google-maps-icons.googlecode.com/files/regroup.png'

View File

@@ -437,6 +437,16 @@ overviewer.views.SignControlView = Backbone.View.extend({
if (!markersDB[groupName].created) {
for (j in markersDB[groupName].raw) {
var entity = markersDB[groupName].raw[j];
if (entity['id'] == 'Player') {
iconURL = "http://overviewer.org/avatar/"
+ entity['EntityId'];
} else if (entity['id'] == 'PlayerSpawn') {
iconURL = overviewerConfig.CONST.image.bedMarker;
} else if (entity['id'] == 'Sign') {
iconURL = overviewerConfig.CONST.image.signMarker;
} else {
iconURL = overviewerConfig.CONST.image.defaultMarker;
}
var marker = new google.maps.Marker({
'position': overviewer.util.fromWorldToLatLng(entity.x,
entity.y, entity.z, overviewer.mapView.options.currentTileSet),

Binary file not shown.

After

Width:  |  Height:  |  Size: 631 B