Esempio n. 1
0
    def _goToObject(self, text, history=True):
        from mcedit2 import editorapp
        if editorapp.MCEditApp.app is None:
            log.info("editorApp is none, postponing...")
            QtCore.QTimer.singleShot(1000, lambda: (self._goToObject(text, history))) #try again later
            return

        self.objectName = text
        self.updateTree()
        if history:
            if self.history[-1] != self.objectName:
                log.info("Adding %s to history", self.objectName)
                self.history.append(self.objectName)
                self.history = self.history[:self.historyLimit]
                self.forwardHistory = []
                settings.Settings().setJsonValue("objectinspector/history", self.history)

        settings.Settings().setValue("objectinspector/objectname", text)
Esempio n. 2
0
    def __init__(self, *args, **kwargs):
        super(ObjectInspector, self).__init__(*args, **kwargs)
        self.treeWidget = QtGui.QTreeWidget()
        self.treeWidget.setHeaderLabels(["Attribute", "Type", "Value"])
        self.treeWidget.itemDoubleClicked.connect(self.itemDoubleClicked)
        self.treeWidget.restoreGeometry(settings.Settings().value("objectinspector/treewidget/geometry", ))

        self.inputBox = QtGui.QLineEdit(self.objectName)

        self.homeButton = QtGui.QPushButton("Home")
        self.homeButton.clicked.connect(self.goHome)

        self.editorButton = QtGui.QPushButton("Editor")
        self.editorButton.clicked.connect(self.goEditor)

        self.backButton = QtGui.QPushButton("Back")
        self.backButton.clicked.connect(self.goBack)

        self.reloadButton = QtGui.QPushButton("Reload")
        self.reloadButton.clicked.connect(self.updateTree)

        self.setLayout(Column((Row(self.homeButton,
                                   self.editorButton,
                                   self.backButton,
                                   self.reloadButton), 0),
                              (Row(QtGui.QLabel("Object: "),
                                   (self.inputBox, 1)), 0),
                              (self.treeWidget, 5)))

        self.inputBox.textChanged.connect(self.textDidChange)
        self.forwardHistory = []
        objectName = settings.Settings().value("objectinspector/objectname", self.objectName)
        self.history = settings.Settings().jsonValue("objectinspector/history", [objectName])
        self.historyLimit = 20

        self.goToObject(objectName)
Esempio n. 3
0
        return list(_get())

    def doReplace(self):
        replacements = self.getReplacements()
        command = SimpleRevisionCommand(self.editorSession, "Replace")
        selection = self.editorSession.currentDimension.bounds
        # selection = self.editorSession.currentSelection
        with command.begin():
            task = self.editorSession.currentDimension.fillBlocksIter(
                selection, replacements, updateLights=False)
            showProgress("Replacing...", task)
        self.editorSession.pushCommand(command)


nbtReplaceSettings = settings.Settings().getNamespace("findreplace/nbt")
nbtReplaceSettings.nameField = nbtReplaceSettings.getOption(
    "nameField", unicode, "")
nbtReplaceSettings.valueField = nbtReplaceSettings.getOption(
    "valueField", unicode, "")

nbtReplaceSettings.entityIDField = nbtReplaceSettings.getOption(
    "entityIDField", unicode, "")
nbtReplaceSettings.searchEntitiesChecked = nbtReplaceSettings.getOption(
    "searchEntitiesChecked", bool, False)

nbtReplaceSettings.tileEntityIDField = nbtReplaceSettings.getOption(
    "tileEntityIDField", unicode, "")
nbtReplaceSettings.searchTileEntitiesChecked = nbtReplaceSettings.getOption(
    "searchTileEntitiesChecked", bool, False)
Esempio n. 4
0
from __future__ import absolute_import, division, print_function
import hashlib
import re
import zipfile
from PySide import QtGui, QtCore
import logging
import os
from PySide.QtCore import Qt
from mcedit2.resourceloader import ResourceLoader
from mcedit2.ui.minecraft_installs import Ui_installsWidget
from mcedit2.util import settings
from mceditlib import directories

log = logging.getLogger(__name__)

installationsOption = settings.Settings().getOption("minecraft_installs/installations", "json", [])
multiMCInstallsOption = settings.Settings().getOption("minecraft_installs/multimc_installs", "json", [])
currentInstallOption = settings.Settings().getOption("minecraft_installs/current_install_path", unicode, "")
currentVersionOption = settings.Settings().getOption("minecraft_installs/current_version", unicode, "")
currentResourcePackOption = settings.Settings().getOption("minecraft_installs/current_resource_pack", unicode, "")
allowSnapshotsOption = settings.Settings().getOption("minecraft_installs/allow_snapshots_", bool, False)

_installs = None


def getResourceLoaderForFilename(filename):
    # Is this world inside a MultiMC instance?
    filename = os.path.normpath(filename)
    installs = GetInstalls()

    for instance in installs.instances:
Esempio n. 5
0
 def close(self, *args, **kwargs):
     super(ObjectInspector, self).close(*args, **kwargs)
     settings.Settings().setValue("objectinspector/treewidget/geometry", self.treeWidget.saveGeometry())
Esempio n. 6
0
from PySide import QtGui, QtCore
import logging
from PySide.QtCore import Qt
import gc
from mcedit2.rendering import rendergraph
from mcedit2.util import settings
from mcedit2.widgets.layout import Column, Row

log = logging.getLogger(__name__)

try:
    import objgraph
except ImportError:
    objgraph = None

inputSetting = settings.Settings().getOption("objgraph/input", unicode)


class ObjGraphWidget(QtGui.QWidget):
    def __init__(self, *a, **kw):
        super(ObjGraphWidget, self).__init__(*a, **kw)

        if objgraph is None:
            self.setLayout(
                Row(
                    QtGui.QLabel(
                        "objgraph is not installed (and you probably don't have GraphViz "
                        "either...) "), None))
            return

        self.inputWidget = QtGui.QLineEdit()
Esempio n. 7
0
import hashlib
import re
import zipfile
from PySide import QtGui, QtCore
import logging
import os
from PySide.QtCore import Qt
from mcedit2.resourceloader import ResourceLoader

from mcedit2.util import settings
from mcedit2.util.load_ui import load_ui
from mceditlib import directories

log = logging.getLogger(__name__)

installationsOption = settings.Settings().getOption(
    "minecraft_installs/installations", "json", [])
multiMCInstallsOption = settings.Settings().getOption(
    "minecraft_installs/multimc_installs", "json", [])
currentInstallOption = settings.Settings().getOption(
    "minecraft_installs/current_install", int, 0)
currentVersionOption = settings.Settings().getOption(
    "minecraft_installs/current_version", unicode, "")
currentResourcePackOption = settings.Settings().getOption(
    "minecraft_installs/current_resource_pack", unicode, "")
currentMMCInstanceOption = settings.Settings().getOption(
    "minecraft_installs/current_mmc_instance", int)
allowSnapshotsOption = settings.Settings().getOption(
    "minecraft_installs/allow_snapshots", int, 0)

_installs = None
Esempio n. 8
0
"""
from __future__ import absolute_import, division, print_function
import re
from PySide import QtGui
import logging
import os
from PySide.QtCore import Qt
from mcedit2.resourceloader import ResourceLoader

from mcedit2.util import settings
from mcedit2.util.load_ui import load_ui
from mceditlib import directories

log = logging.getLogger(__name__)

installationsOption = settings.Settings().getOption(
    "minecraft_installs/installations")
currentInstallOption = settings.Settings().getOption(
    "minecraft_installs/current_install", int)


class MCInstall(object):
    def __init__(self, path, name="Unnamed"):
        self.name = name
        self.path = path

    def checkUsable(self):
        """
        Raises MCInstallError explaining why this install is unusable, or else does nothing
        :return:
        :rtype:
        """