pyblockworld


Namepyblockworld JSON
Version 0.3.8.2 PyPI version JSON
download
home_page
SummaryMinecraft like block world in Python
upload_time2023-09-13 08:15:32
maintainer
docs_urlNone
authorMarco Bakera
requires_python>=3.8,<4.0
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # PyBlockWorld

Eine an Minecraft angelehnte Welt aus Blöcken.

## Installation

Die Installation erfolgt über ``pip install pyblockworld``.

## API

```python
    from pyblockworld import World

    #
    # BEISPIEL 1
    #
    
    # Eine Funktion, die beim Drücken der B-Taste aufgerufen werden soll
    def b_key_pressed(world:World):
        print("B pressed. Player at", world.player_position())
        
    # Erstellen einer neuen Welt
    world = World()
    # Die Funktion für die build-Taste (b) wird zugewiesen
    world.build_key_pressed = b_key_pressed
    # Die Welt wird gestartet
    world.run()

    #
    # BEISPIEL 2
    #

    # Nun werden beim Drücken der Taste ein paar Blöcke platziert.
    def b_key_pressed(world:World):
        # Neue Blöcke können mit setBlock gesetzt werden.
        # Verfügbare Materialien stehen in World.MATERIALS und umfassen
        # air, default:brick, default:stone, default:sand, default:grass
        print("Block types", World.MATERIALS)
        x,y,z = world.player_position()
        # Einen Block platzieren
        world.setBlock(x,y,z, "default:brick")

        # Mehrere Blöcke auf einmal abseits des Spielers platzieren
        x,y,z = x,y,z+3
        world.setBlocks(x,y,z, x+3,y+3,z+3, "default:grass")
        
    world = World()
    world.build_key_pressed = b_key_pressed
    world.run()
```

## Quellen

Der Quellcode basiert auf dem Code von [SensorCraft](https://github.com/AFRL-RY/SensorCraft),
der wiederum auf dem Code von [Craft](https://github.com/fogleman/Craft/) basiert.


## Changelog

* 0.3.8
    * Methoden der Klasse World dokumentiert.

* 0.3.5 
    * Changelog eingeührt
    * Support für Python 3.8

* 0.3.7
    * PeristentWorld als speicherbare Welt hinzugefügt.
    * Doku aktualisiert: Abschnitt Start entfernt.
    * World.player_position hat das Attribut as_int, um ein Int-Tuple zu erzeugen

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "pyblockworld",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8,<4.0",
    "maintainer_email": "",
    "keywords": "",
    "author": "Marco Bakera",
    "author_email": "marco@bakera.de",
    "download_url": "https://files.pythonhosted.org/packages/ed/04/199d2b1821fa742c34dbe8e7a30676a686694f93baf46c4e3931786af262/pyblockworld-0.3.8.2.tar.gz",
    "platform": null,
    "description": "# PyBlockWorld\n\nEine an Minecraft angelehnte Welt aus Bl\u00f6cken.\n\n## Installation\n\nDie Installation erfolgt \u00fcber ``pip install pyblockworld``.\n\n## API\n\n```python\n    from pyblockworld import World\n\n    #\n    # BEISPIEL 1\n    #\n    \n    # Eine Funktion, die beim Dr\u00fccken der B-Taste aufgerufen werden soll\n    def b_key_pressed(world:World):\n        print(\"B pressed. Player at\", world.player_position())\n        \n    # Erstellen einer neuen Welt\n    world = World()\n    # Die Funktion f\u00fcr die build-Taste (b) wird zugewiesen\n    world.build_key_pressed = b_key_pressed\n    # Die Welt wird gestartet\n    world.run()\n\n    #\n    # BEISPIEL 2\n    #\n\n    # Nun werden beim Dr\u00fccken der Taste ein paar Bl\u00f6cke platziert.\n    def b_key_pressed(world:World):\n        # Neue Bl\u00f6cke k\u00f6nnen mit setBlock gesetzt werden.\n        # Verf\u00fcgbare Materialien stehen in World.MATERIALS und umfassen\n        # air, default:brick, default:stone, default:sand, default:grass\n        print(\"Block types\", World.MATERIALS)\n        x,y,z = world.player_position()\n        # Einen Block platzieren\n        world.setBlock(x,y,z, \"default:brick\")\n\n        # Mehrere Bl\u00f6cke auf einmal abseits des Spielers platzieren\n        x,y,z = x,y,z+3\n        world.setBlocks(x,y,z, x+3,y+3,z+3, \"default:grass\")\n        \n    world = World()\n    world.build_key_pressed = b_key_pressed\n    world.run()\n```\n\n## Quellen\n\nDer Quellcode basiert auf dem Code von [SensorCraft](https://github.com/AFRL-RY/SensorCraft),\nder wiederum auf dem Code von [Craft](https://github.com/fogleman/Craft/) basiert.\n\n\n## Changelog\n\n* 0.3.8\n    * Methoden der Klasse World dokumentiert.\n\n* 0.3.5 \n    * Changelog einge\u00fchrt\n    * Support f\u00fcr Python 3.8\n\n* 0.3.7\n    * PeristentWorld als speicherbare Welt hinzugef\u00fcgt.\n    * Doku aktualisiert: Abschnitt Start entfernt.\n    * World.player_position hat das Attribut as_int, um ein Int-Tuple zu erzeugen\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Minecraft like block world in Python",
    "version": "0.3.8.2",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9f00ea9795818028092b436d1d7f7b6641c0aa0e8d89e4dd66685c23236a4a51",
                "md5": "8386aa5436aa971e6fcf621ca150b654",
                "sha256": "4aa4cd1e62efdeb1c819bcff4c7bef6671a1e114ef31ac4f7d91d39e7c0ac056"
            },
            "downloads": -1,
            "filename": "pyblockworld-0.3.8.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8386aa5436aa971e6fcf621ca150b654",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8,<4.0",
            "size": 16524,
            "upload_time": "2023-09-13T08:15:31",
            "upload_time_iso_8601": "2023-09-13T08:15:31.754190Z",
            "url": "https://files.pythonhosted.org/packages/9f/00/ea9795818028092b436d1d7f7b6641c0aa0e8d89e4dd66685c23236a4a51/pyblockworld-0.3.8.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ed04199d2b1821fa742c34dbe8e7a30676a686694f93baf46c4e3931786af262",
                "md5": "cbfa9bf8382fae18cfdf78e5af591afd",
                "sha256": "7150d205208d82b974a6204b5c6bcd2a663aeee6897d7a96e79e7bda2f9fb00e"
            },
            "downloads": -1,
            "filename": "pyblockworld-0.3.8.2.tar.gz",
            "has_sig": false,
            "md5_digest": "cbfa9bf8382fae18cfdf78e5af591afd",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8,<4.0",
            "size": 17378,
            "upload_time": "2023-09-13T08:15:32",
            "upload_time_iso_8601": "2023-09-13T08:15:32.935262Z",
            "url": "https://files.pythonhosted.org/packages/ed/04/199d2b1821fa742c34dbe8e7a30676a686694f93baf46c4e3931786af262/pyblockworld-0.3.8.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-09-13 08:15:32",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "pyblockworld"
}
        
Elapsed time: 0.11702s