Editor status bar now shows Biome name and ID
This commit is contained in:
parent
db9fc62a5e
commit
4bdd1eeb1b
@ -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))
|
||||
|
@ -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)
|
||||
|
Reference in New Issue
Block a user