示例#1
0
"""
Basic demo example
"""

from spock import Client
from spock.plugins import DefaultPlugins
from demoplugin import DemoPlugin

start_settings = {
    'username': '******',
    'password': '******',
}

plugins = DefaultPlugins
plugins.append(('demo', DemoPlugin))
client = Client(plugins=plugins, start=start_settings)
#client.start() with no arguments will automatically connect to localhost
client.start('localhost', 25565)
示例#2
0
"""
Basic demo example
"""

from spock import Client
from spock.plugins import DefaultPlugins
from demoplugin import DemoPlugin
#Open login.py and put in your username and password
from login import username, password

plugins = DefaultPlugins
plugins.append(DemoPlugin)
client = Client(plugins = plugins, username = username, password = password)
#client.start() with no arguments will automatically connect to localhost
client.start('localhost', 25565)
示例#3
0
"""
Offline connection demo
"""

from spock import Client
from spock.plugins import DefaultPlugins
from demoplugin import DemoPlugin
#Open login.py and put in your username and password
from login import username

plugins = DefaultPlugins
plugins.append(DemoPlugin)
client = Client(plugins=plugins, username=username, authenticated=False)
#client.start() with no arguments will automatically connect to localhost
client.start('localhost', 25565)
from spockextras.plugins.helpers.Messenger import MessengerPlugin
from spockextras.plugins.helpers.SendMapData import SendMapDataPlugin
from spockextras.plugins.helpers.SendEntityData import SendEntityDataPlugin

# connect to localhost server
settings = {
    'start': {
        'username': '******',
    },
    'auth': {
        'authenticated': False,
    },
}
plugins = DefaultPlugins

plugins.append(('Messenger', MessengerPlugin))
plugins.append(('SendMapData', SendMapDataPlugin))
plugins.append(('SendEntityData', SendEntityDataPlugin))

plugins.append(('MineAndPlace', MineAndPlacePlugin))
plugins.append(('NewMovement', NewMovementPlugin))
#plugins.append(('NewPhysics', NewPhysicsPlugin))
plugins.append(('SpockControl', SpockControlPlugin))
client = Client(plugins=plugins, settings=settings)

print("connecting to localhost on port 25565")

#client.start() with no arguments will automatically connect to localhost
client.start('localhost', 25565)
示例#5
0
    def _import_yaml(self, path, obj):
        temp_set = {}
        data = yaml.load(open(path).read())
        for key, plugin in data[obj].items():
            if plugin[0] == 'yaml':
                for key, val in self._import_yaml(plugin[1], key).items():
                    temp_set[key] = get_settings(temp_set.get(key, {}), val)
            elif plugin[0] == 'python':
                for key, _ in self._import_python(plugin[1], key):
                    temp_set[key] = data.get(key, {})
            else:
                self._import_plugin(plugin[1], plugin[0], key)
                temp_set[key] = data.get(key, {})
        return temp_set

    def _import_python(self, path, obj):
        pylist = __import__(path, fromlist=[obj]).__dict__[obj]
        for plugin in pylist:
            self.plugin_list.append(plugin)
        return pylist

    def _import_plugin(self, path, obj, name):
        plugin = __import__(path, fromlist=[obj]).__dict__[obj]
        self.plugin_list.append((name, plugin))


if __name__ == '__main__':
    from spock import Client
    Client(settings_mixin=YamlSettings, file_path='config.yaml').start()