Editor status bar now shows Biome name and ID

This commit is contained in:
David Vierra 2015-04-17 23:43:56 -10:00
parent db9fc62a5e
commit 4bdd1eeb1b
2 changed files with 19 additions and 4 deletions

View File

@ -247,6 +247,7 @@ class MCEditApp(QtGui.QApplication):
# --- Status Bar ---
self.positionLabel = QtGui.QLabel("xx, yy, zz", minimumWidth=100)
self.biomeLabel = QtGui.QLabel("Nowhere", minimumWidth=100)
self.blocktypeLabel = QtGui.QLabel("(-1:-1)minecraft:rocktonium", minimumWidth=250)
self.blockNameLabel = QtGui.QLabel("rocktonium", minimumWidth=150)
self.cpsLabel = QtGui.QLabel("-1 cps", minimumWidth=65)
@ -254,6 +255,7 @@ class MCEditApp(QtGui.QApplication):
statusBar = mainWindow.statusBar()
statusBar.addPermanentWidget(self.positionLabel)
statusBar.addPermanentWidget(self.biomeLabel)
statusBar.addPermanentWidget(self.blocktypeLabel)
statusBar.addPermanentWidget(self.blockNameLabel)
statusBar.addPermanentWidget(self.cpsLabel)
@ -389,12 +391,14 @@ class MCEditApp(QtGui.QApplication):
# --- Status Bar ---
def updateStatusLabel(self, pos=None, blocktype=None, cps=None, fps=None):
def updateStatusLabel(self, pos=None, blocktype=None, biome=None, cps=None, fps=None):
if pos is not None:
if isinstance(pos, basestring):
self.positionLabel.setText(pos)
else:
self.positionLabel.setText("%s, chunk %s" % (tuple(pos), tuple(pos.chunkPos())))
if biome is not None:
self.biomeLabel.setText("%s" % biome)
if blocktype is not None:
self.blockNameLabel.setText("%s" % blocktype.displayName)
self.blocktypeLabel.setText("(%d:%d)%s%s" % (blocktype.ID, blocktype.meta, blocktype.internalName, blocktype.blockState))

View File

@ -30,6 +30,7 @@ from mcedit2.worldview.cutaway import CutawayWorldViewFrame
from mcedit2.worldview.minimap import MinimapWorldView
from mcedit2.worldview.overhead import OverheadWorldViewFrame
from mceditlib import util
from mceditlib.anvil.biome_types import BiomeTypes
from mceditlib.geometry import Vector
from mceditlib.operations import ComposeOperations
from mceditlib.operations.entity import RemoveEntitiesOperation
@ -263,6 +264,8 @@ class EditorSession(QtCore.QObject):
self.editorOverlay = scenegraph.Node()
self.biomeTypes = BiomeTypes()
# --- Panels ---
progress("Loading panels...")
@ -707,7 +710,7 @@ class EditorSession(QtCore.QObject):
def chunkDidComplete(self):
from mcedit2 import editorapp
editorapp.MCEditApp.app.updateStatusLabel(None, None, self.loader.cps, self.editorTab.currentView().fps)
editorapp.MCEditApp.app.updateStatusLabel(None, None, None, self.loader.cps, self.editorTab.currentView().fps)
def updateStatusFromEvent(self, event):
from mcedit2 import editorapp
@ -715,9 +718,17 @@ class EditorSession(QtCore.QObject):
id = self.currentDimension.getBlockID(*event.blockPosition)
data = self.currentDimension.getBlockData(*event.blockPosition)
block = self.worldEditor.blocktypes[id, data]
editorapp.MCEditApp.app.updateStatusLabel(event.blockPosition, block, self.loader.cps, event.view.fps)
biomeID = self.currentDimension.getBiomeID(event.blockPosition[0], event.blockPosition[2])
biome = self.biomeTypes.types.get(biomeID)
if biome is not None:
biomeName = biome.name
else:
biomeName = "Unknown biome"
biomeText = "%s (%d)" % (biome.name, biomeID)
editorapp.MCEditApp.app.updateStatusLabel(event.blockPosition, block, biomeText, self.loader.cps, event.view.fps)
else:
editorapp.MCEditApp.app.updateStatusLabel('(N/A)', None, self.loader.cps, event.view.fps)
editorapp.MCEditApp.app.updateStatusLabel('(N/A)', None, None, self.loader.cps, event.view.fps)
def viewMousePress(self, event):
self.updateStatusFromEvent(event)