%global _empty_manifest_terminate_build 0
Name:		python-mcthings
Version:	0.60.0
Release:	1
Summary:	McThings is a python library for building things in Minecraft
License:	ASL
URL:		https://github.com/juntosdesdecasa/mcthings
Source0:	https://mirrors.aliyun.com/pypi/web/packages/48/6f/1ee24ab575f0b036780d5d641810f4c7810d25a31f28c2ae615863157b4b/mcthings-0.60.0.tar.gz
BuildArch:	noarch

Requires:	python3-mcpi
Requires:	python3-minecraftstuff
Requires:	python3-nbt

%description
# McThings [![Build Status](https://travis-ci.org/Voxelers/mcthings.svg?branch=develop)](https://travis-ci.org/github/Voxelers/mcthings) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/Voxelers/mcthings/blob/develop/LICENSE) [![Documentation Status](https://readthedocs.org/projects/mcthings/badge/?version=latest)](https://mcthings.readthedocs.io/en/latest/?badge=latest) [![PyPI version](https://badge.fury.io/py/mcthings.svg)](https://badge.fury.io/py/mcthings) [![Twitter](docs/img/twitter.png)](https://twitter.com/McthingsP)

A Python programming framework for building a 3D World of Scenes in Minecraft ([Procedural](https://en.wikipedia.org/wiki/Procedural_modeling) [CSG](https://en.wikipedia.org/wiki/Constructive_solid_geometry)). 
Scenes are compositions of Things (Python objects), created and transformed in memory and rendered 
using the
[Raspberry PI Minecraft](https://www.minecraft.net/en-us/edition/pi/) [renderer](mcthings/renderers/raspberry_pi.py) implemented using the
[API](https://www.stuffaboutcode.com/p/minecraft-api-reference.html) (which also works in [Minetest](https://github.com/arpruss/raspberryjammod-minetest)). 
This renderer is based
on [mcpi library](https://github.com/martinohanlon/mcpi). More renderers are planned. It follows the pipeline: create and transform in memory (model in memory) and then render.

[This is the reference notebook](https://github.com/juntosdesdecasa/minecraft/blob/develop/server/data/python/scene0_10.ipynb)
with a complete sample. And there is a [intro video tutorial](https://www.youtube.com/watch?v=p6NUFdUbcYk&t=2s) and [a more complete one](https://www.youtube.com/watch?v=teGjAXomBVs&t=4s).

A Thing is a built based on blocks (voxels based on cubes): [Pyramid](mcthings/pyramid.py), [River](mcthings/river.py),
[House](mcthings/house.py), [Fence](mcthings/fence.py)
and may others. All the Things share the [Thing API](mcthings/thing.py). 
A Thing can be [decorated](https://twitter.com/acstw/status/1265510248892239873)
using existing decorators like [LightDecorator](mcthings/decorators/light_decorator.py) 
or you can create your own one. A [decorated house](https://github.com/juntosdesdecasa/mcthings_extra/blob/develop/tests/test_entity.py#L40).
Scenes can also be decorated [like this sample](https://twitter.com/acstw/status/1267591965169811456)
with a railway ([BorderDecorator](mcthings/decorators/border_decorator.py)) around a Scene.

And Things can also be rotated. For example, in this scene [the castle is rotated
180 degrees](https://github.com/juntosdesdecasa/mcthings_scenes/tree/develop/notebooks/scene0_42.ipynb) so the portal is accessible from the town ways.

There is also a repository for experimental, incubating or with extra dependencies Things
at [McThings Extra](https://github.com/juntosdesdecasa/mcthings_extra).

A [World](mcthings/world.py) is a list of Scenes placed in concrete positions. 
And a [Scene is a list](mcthings/scene.py) of Things built in a specific position and order. Scenes can be shared
loading and saving them to files. Scenes can be also saved as Schematics
and converted with [Mineways](http://www.realtimerendering.com/erich/minecraft/public/mineways/) 
to be used for [3D rendering and printing](https://twitter.com/acstw/status/1262944914234540032). 
You [can share scenes adding them
to this repository](https://github.com/juntosdesdecasa/mcthings_scenes). 
And they can be [interactive](https://www.youtube.com/watch?v=TjHqt3WO-o0) 
as [in this app](https://github.com/juntosdesdecasa/mcthings_scenes/blob/develop/apps/scene_interactive.py).

[This scene](https://github.com/juntosdesdecasa/mcthings_scenes/tree/develop/notebooks/scene_basic.ipynb) includes 
a river, a house in each side of the river and a bridge for crossing the river.

![A Scene in Minecraft](https://raw.githubusercontent.com/juntosdesdecasa/mcthings_scenes/develop/notebooks/img/scene_basic.png)

Things can be built using [MinecraftDrawing](https://minecraft-stuff.readthedocs.io/en/latest/index.html). 
[Sphere](mcthings/sphere.py) and [Circle](mcthings/circle.py) Things are used with Pyramids in the next 
[scene](https://github.com/juntosdesdecasa/mcthings_scenes/tree/develop/notebooks/scene_sphere_circle_pyramid.ipynb):

![Pyramids with Spheres](https://raw.githubusercontent.com/juntosdesdecasa/mcthings_scenes/develop/notebooks/img/scene_sphere_circle_pyramid.png)

And Things can also be built from [Schematics](https://www.minecraft-schematics.com/) (there are thousands!). 
There is a [sample notebook](https://github.com/juntosdesdecasa/mcthings_scenes/tree/develop/notebooks/Schematics.ipynb). 

![Schematic inside McThings](https://raw.githubusercontent.com/juntosdesdecasa/mcthings_scenes/develop/notebooks/img/schematic.png)

And Things can also be created from MagicaVoxel models.

![MagicaVoxel model inside McThings](docs/img/ambulance_mc.png)

[Minecraft](https://www.minecraftforum.net/forums/mapping-and-modding-java-edition/minecraft-tools/3020985-mcthings-a-framework-for-creating-scenes-using) 
and [Minetest](https://forum.minetest.net/viewtopic.php?t=24719) forums pages.




%package -n python3-mcthings
Summary:	McThings is a python library for building things in Minecraft
Provides:	python-mcthings
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-mcthings
# McThings [![Build Status](https://travis-ci.org/Voxelers/mcthings.svg?branch=develop)](https://travis-ci.org/github/Voxelers/mcthings) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/Voxelers/mcthings/blob/develop/LICENSE) [![Documentation Status](https://readthedocs.org/projects/mcthings/badge/?version=latest)](https://mcthings.readthedocs.io/en/latest/?badge=latest) [![PyPI version](https://badge.fury.io/py/mcthings.svg)](https://badge.fury.io/py/mcthings) [![Twitter](docs/img/twitter.png)](https://twitter.com/McthingsP)

A Python programming framework for building a 3D World of Scenes in Minecraft ([Procedural](https://en.wikipedia.org/wiki/Procedural_modeling) [CSG](https://en.wikipedia.org/wiki/Constructive_solid_geometry)). 
Scenes are compositions of Things (Python objects), created and transformed in memory and rendered 
using the
[Raspberry PI Minecraft](https://www.minecraft.net/en-us/edition/pi/) [renderer](mcthings/renderers/raspberry_pi.py) implemented using the
[API](https://www.stuffaboutcode.com/p/minecraft-api-reference.html) (which also works in [Minetest](https://github.com/arpruss/raspberryjammod-minetest)). 
This renderer is based
on [mcpi library](https://github.com/martinohanlon/mcpi). More renderers are planned. It follows the pipeline: create and transform in memory (model in memory) and then render.

[This is the reference notebook](https://github.com/juntosdesdecasa/minecraft/blob/develop/server/data/python/scene0_10.ipynb)
with a complete sample. And there is a [intro video tutorial](https://www.youtube.com/watch?v=p6NUFdUbcYk&t=2s) and [a more complete one](https://www.youtube.com/watch?v=teGjAXomBVs&t=4s).

A Thing is a built based on blocks (voxels based on cubes): [Pyramid](mcthings/pyramid.py), [River](mcthings/river.py),
[House](mcthings/house.py), [Fence](mcthings/fence.py)
and may others. All the Things share the [Thing API](mcthings/thing.py). 
A Thing can be [decorated](https://twitter.com/acstw/status/1265510248892239873)
using existing decorators like [LightDecorator](mcthings/decorators/light_decorator.py) 
or you can create your own one. A [decorated house](https://github.com/juntosdesdecasa/mcthings_extra/blob/develop/tests/test_entity.py#L40).
Scenes can also be decorated [like this sample](https://twitter.com/acstw/status/1267591965169811456)
with a railway ([BorderDecorator](mcthings/decorators/border_decorator.py)) around a Scene.

And Things can also be rotated. For example, in this scene [the castle is rotated
180 degrees](https://github.com/juntosdesdecasa/mcthings_scenes/tree/develop/notebooks/scene0_42.ipynb) so the portal is accessible from the town ways.

There is also a repository for experimental, incubating or with extra dependencies Things
at [McThings Extra](https://github.com/juntosdesdecasa/mcthings_extra).

A [World](mcthings/world.py) is a list of Scenes placed in concrete positions. 
And a [Scene is a list](mcthings/scene.py) of Things built in a specific position and order. Scenes can be shared
loading and saving them to files. Scenes can be also saved as Schematics
and converted with [Mineways](http://www.realtimerendering.com/erich/minecraft/public/mineways/) 
to be used for [3D rendering and printing](https://twitter.com/acstw/status/1262944914234540032). 
You [can share scenes adding them
to this repository](https://github.com/juntosdesdecasa/mcthings_scenes). 
And they can be [interactive](https://www.youtube.com/watch?v=TjHqt3WO-o0) 
as [in this app](https://github.com/juntosdesdecasa/mcthings_scenes/blob/develop/apps/scene_interactive.py).

[This scene](https://github.com/juntosdesdecasa/mcthings_scenes/tree/develop/notebooks/scene_basic.ipynb) includes 
a river, a house in each side of the river and a bridge for crossing the river.

![A Scene in Minecraft](https://raw.githubusercontent.com/juntosdesdecasa/mcthings_scenes/develop/notebooks/img/scene_basic.png)

Things can be built using [MinecraftDrawing](https://minecraft-stuff.readthedocs.io/en/latest/index.html). 
[Sphere](mcthings/sphere.py) and [Circle](mcthings/circle.py) Things are used with Pyramids in the next 
[scene](https://github.com/juntosdesdecasa/mcthings_scenes/tree/develop/notebooks/scene_sphere_circle_pyramid.ipynb):

![Pyramids with Spheres](https://raw.githubusercontent.com/juntosdesdecasa/mcthings_scenes/develop/notebooks/img/scene_sphere_circle_pyramid.png)

And Things can also be built from [Schematics](https://www.minecraft-schematics.com/) (there are thousands!). 
There is a [sample notebook](https://github.com/juntosdesdecasa/mcthings_scenes/tree/develop/notebooks/Schematics.ipynb). 

![Schematic inside McThings](https://raw.githubusercontent.com/juntosdesdecasa/mcthings_scenes/develop/notebooks/img/schematic.png)

And Things can also be created from MagicaVoxel models.

![MagicaVoxel model inside McThings](docs/img/ambulance_mc.png)

[Minecraft](https://www.minecraftforum.net/forums/mapping-and-modding-java-edition/minecraft-tools/3020985-mcthings-a-framework-for-creating-scenes-using) 
and [Minetest](https://forum.minetest.net/viewtopic.php?t=24719) forums pages.




%package help
Summary:	Development documents and examples for mcthings
Provides:	python3-mcthings-doc
%description help
# McThings [![Build Status](https://travis-ci.org/Voxelers/mcthings.svg?branch=develop)](https://travis-ci.org/github/Voxelers/mcthings) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/Voxelers/mcthings/blob/develop/LICENSE) [![Documentation Status](https://readthedocs.org/projects/mcthings/badge/?version=latest)](https://mcthings.readthedocs.io/en/latest/?badge=latest) [![PyPI version](https://badge.fury.io/py/mcthings.svg)](https://badge.fury.io/py/mcthings) [![Twitter](docs/img/twitter.png)](https://twitter.com/McthingsP)

A Python programming framework for building a 3D World of Scenes in Minecraft ([Procedural](https://en.wikipedia.org/wiki/Procedural_modeling) [CSG](https://en.wikipedia.org/wiki/Constructive_solid_geometry)). 
Scenes are compositions of Things (Python objects), created and transformed in memory and rendered 
using the
[Raspberry PI Minecraft](https://www.minecraft.net/en-us/edition/pi/) [renderer](mcthings/renderers/raspberry_pi.py) implemented using the
[API](https://www.stuffaboutcode.com/p/minecraft-api-reference.html) (which also works in [Minetest](https://github.com/arpruss/raspberryjammod-minetest)). 
This renderer is based
on [mcpi library](https://github.com/martinohanlon/mcpi). More renderers are planned. It follows the pipeline: create and transform in memory (model in memory) and then render.

[This is the reference notebook](https://github.com/juntosdesdecasa/minecraft/blob/develop/server/data/python/scene0_10.ipynb)
with a complete sample. And there is a [intro video tutorial](https://www.youtube.com/watch?v=p6NUFdUbcYk&t=2s) and [a more complete one](https://www.youtube.com/watch?v=teGjAXomBVs&t=4s).

A Thing is a built based on blocks (voxels based on cubes): [Pyramid](mcthings/pyramid.py), [River](mcthings/river.py),
[House](mcthings/house.py), [Fence](mcthings/fence.py)
and may others. All the Things share the [Thing API](mcthings/thing.py). 
A Thing can be [decorated](https://twitter.com/acstw/status/1265510248892239873)
using existing decorators like [LightDecorator](mcthings/decorators/light_decorator.py) 
or you can create your own one. A [decorated house](https://github.com/juntosdesdecasa/mcthings_extra/blob/develop/tests/test_entity.py#L40).
Scenes can also be decorated [like this sample](https://twitter.com/acstw/status/1267591965169811456)
with a railway ([BorderDecorator](mcthings/decorators/border_decorator.py)) around a Scene.

And Things can also be rotated. For example, in this scene [the castle is rotated
180 degrees](https://github.com/juntosdesdecasa/mcthings_scenes/tree/develop/notebooks/scene0_42.ipynb) so the portal is accessible from the town ways.

There is also a repository for experimental, incubating or with extra dependencies Things
at [McThings Extra](https://github.com/juntosdesdecasa/mcthings_extra).

A [World](mcthings/world.py) is a list of Scenes placed in concrete positions. 
And a [Scene is a list](mcthings/scene.py) of Things built in a specific position and order. Scenes can be shared
loading and saving them to files. Scenes can be also saved as Schematics
and converted with [Mineways](http://www.realtimerendering.com/erich/minecraft/public/mineways/) 
to be used for [3D rendering and printing](https://twitter.com/acstw/status/1262944914234540032). 
You [can share scenes adding them
to this repository](https://github.com/juntosdesdecasa/mcthings_scenes). 
And they can be [interactive](https://www.youtube.com/watch?v=TjHqt3WO-o0) 
as [in this app](https://github.com/juntosdesdecasa/mcthings_scenes/blob/develop/apps/scene_interactive.py).

[This scene](https://github.com/juntosdesdecasa/mcthings_scenes/tree/develop/notebooks/scene_basic.ipynb) includes 
a river, a house in each side of the river and a bridge for crossing the river.

![A Scene in Minecraft](https://raw.githubusercontent.com/juntosdesdecasa/mcthings_scenes/develop/notebooks/img/scene_basic.png)

Things can be built using [MinecraftDrawing](https://minecraft-stuff.readthedocs.io/en/latest/index.html). 
[Sphere](mcthings/sphere.py) and [Circle](mcthings/circle.py) Things are used with Pyramids in the next 
[scene](https://github.com/juntosdesdecasa/mcthings_scenes/tree/develop/notebooks/scene_sphere_circle_pyramid.ipynb):

![Pyramids with Spheres](https://raw.githubusercontent.com/juntosdesdecasa/mcthings_scenes/develop/notebooks/img/scene_sphere_circle_pyramid.png)

And Things can also be built from [Schematics](https://www.minecraft-schematics.com/) (there are thousands!). 
There is a [sample notebook](https://github.com/juntosdesdecasa/mcthings_scenes/tree/develop/notebooks/Schematics.ipynb). 

![Schematic inside McThings](https://raw.githubusercontent.com/juntosdesdecasa/mcthings_scenes/develop/notebooks/img/schematic.png)

And Things can also be created from MagicaVoxel models.

![MagicaVoxel model inside McThings](docs/img/ambulance_mc.png)

[Minecraft](https://www.minecraftforum.net/forums/mapping-and-modding-java-edition/minecraft-tools/3020985-mcthings-a-framework-for-creating-scenes-using) 
and [Minetest](https://forum.minetest.net/viewtopic.php?t=24719) forums pages.




%prep
%autosetup -n mcthings-0.60.0

%build
%py3_build

%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
	find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
	find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
	find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
	find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
	find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .

%files -n python3-mcthings -f filelist.lst
%dir %{python3_sitelib}/*

%files help -f doclist.lst
%{_docdir}/*

%changelog
* Fri Jun 09 2023 Python_Bot <Python_Bot@openeuler.org> - 0.60.0-1
- Package Spec generated