Skip to content

Releases: avdstaaij/gdpc

8.1.0

16 Apr 15:53
Compare
Choose a tag to compare

Compatible with GDMC-HTTP >=1.6.0, <2.0.0 and Minecraft 1.21.4.

Additions:

  • Added interface.placeEntities. (Thanks Niels-NTG!)
  • Added interface.updateEntities. (Thanks Niels-NTG!)
  • Added interface.removeEntities. (Thanks Niels-NTG!)

Fixes:

  • Documentation improvements.

8.0.0

23 Mar 22:47
Compare
Choose a tag to compare

Compatible with GDMC-HTTP >=1.6.0, <2.0.0 and Minecraft 1.21.4.

Supported Python versions:

  • GDPC now requires Python 3.8. (This is actually a bugfix: Python 3.8 was already required since GDPC 7.0.0.)

Breaking:

  • Increased minimum supported GDMC-HTTP version to 1.6.0.
  • Increased supported Minecraft version to 1.21.4. In particular, all written book-related helpers (e.g. minecraft_tools.bookData) have been updated to the 1.21.4 format. (Thanks Niels-NTG!)
  • Changed the following vector_tools constants from Tuples to FrozenSets: DIAGONALS_2D, DIAGONALS_3D, DIAGONALS.
  • Removed feature of editor_tools.placeSign and editor_tools.placeLectern where you could pass None to facing or rotation and the function would select a least obstructed direction. This feature relied heavily on lookup.py, which is now deprecated (see "Deprecations").
  • Removed deprecated Rect.inner and Box.inner.

Additions:

  • Added interface.getHeightmap. (Thanks Niels-NTG!)

Fixes:

  • Fixed Editor.__del__ sometimes crashing for some users when there were blocks in the block buffer on program exit. (Thanks SpecificProtagonist and Flashing-Blinkenlights!)
  • Added a py.typed file, which indicates that GDPC provides type hints. Some type checkers that didn't pick up GDPC's type hints before now do, most notably Mypy.
  • Added and refined various type hints.
  • Fixed editor_tools.placeSign sometimes creating Blocks with superfluous block states (rotation for wall signs and facing for non-wall signs).
  • Fixed editor_tools.placeContainerBlock raising the wrong exception when passing a block with id = None.
  • Fixed vector_tools.rotateSize2D sometimes returning the input value instead of an ivec2.
  • Fixed vector_tools.l1Distance crashing when passing veclikes that don't support the - operator.
  • Fixed world_slice.WorldSlice.getPrimaryBiomeInChunkGlobal crashing if you passed a position not contained in the world slice.
  • Fixed interface.placeStructure crashing if you passed rotate=None and mirror=(True, True).
  • Fixed editor.Editor.placeBlockGlobal possibly crashing when the passed position is not an ivec3 and buffering is enabled.
  • Fixed editor.Editor.placeBlock possibly crashing when the passed position is iterable, sizable and has length 3, but does not have __getitem__. Yeah, this one's obscure.
  • Fixed GDPC not actually being compatible with the documented miminum Python version, by increasing the minimum Python version (see "Supported Python versions").

Deprecations:

  • Deprecated lookup.py. See the documentation the reasons and for alternatives. Also removed example visualize_map.py, which heavily relied on lookup.py.
  • Deprecated minecraft_tools.getObtrusiveness, which relied on lookup.py.
  • Deprecated editor_tools.getOptimalFacingDirection, which relied on lookup.py.
  • Deprecated utils.visualizeMaps, which was only used by visualize_map.py, and which is currently the only user of the OpenCV and Matplotlib dependencies.
  • Deprecated all remaining in-repository examples. They have been replaced by the new documentation website.

7.4.0

12 Feb 16:11
Compare
Choose a tag to compare

Compatible with GDMC-HTTP >=1.0.0, <2.0.0 and Minecraft 1.20.2.

Additions:

  • Added an extensive documentation website!
  • The transformation system now supports the half state of stairs blocks.
  • Rect and Box are now iterable, yielding the same values as Rect.inner/Box.inner. (Thanks Flashing-Blinkenlights!)

Deprecations:

  • Rect.inner and Box.inner are deprecated, since the classes can now be directly iterated over.

7.3.0

13 Jun 22:15
Compare
Choose a tag to compare

Compatible with GDMC-HTTP >=1.0.0, <2.0.0 and Minecraft 1.20.2.

Additions:

Fixes:

7.2.0

25 May 22:17
Compare
Choose a tag to compare

Compatible with GDMC-HTTP >=1.0.0, <2.0.0 and Minecraft 1.20.2.

Additions

Fixes:

7.1.0

19 Apr 20:43
Compare
Choose a tag to compare

Compatible with GDMC-HTTP >=1.0.0, <2.0.0 and Minecraft 1.20.2.

Additions

  • Added interface bindings for GDMC-HTTP GET /entities and GET /players (thanks Niels-NTG!)

7.0.0

22 Mar 21:21
Compare
Choose a tag to compare

Compatible with GDMC-HTTP >=1.0.0, <2.0.0 and Minecraft 1.20.2.

Breaking:

  • GDPC now assumes Minecraft 1.20.2 in places where the Minecraft version matters (see the change below).
  • Updated signData(), signBlock() and placeSign() to the Minecraft 1.20 format, which supports text on both sides of signs. The parameter names have changed, but the positions of the original parameters have not.
  • Changed the VecLike classes to Protocols, making them play nicer with static type checkers (thanks boerdereinar!). It is highly unlikely that this will affect your code.

Additions:

  • Added interface functions for the GDMC-HTTP /structure endpoint. (Thanks Niels-NTG and ZeLiu1!)
  • Made Rect and Box hashable. (Thanks Niels-NTG!)

Fixes:

  • Fixed Transform.inverted()/Transform.__invert__(), which were implemented incorrectly and did not actually give the inverse in some cases. (Discovered by xlenstra.)
  • Fixed certain vector_tools functions that accept Iterable arguments failing when receiving a Set. In particular, this fixes circle(filled=True) and related calls. (Discovered by AHumanIBelieve and ShinryuSHH on Discord.)
  • Fixed bookData() adding extra empty lines after full-width lines.
  • Fixed Transform.apply() failing when receiving a non-pyglm vector.
  • Fixed lineSequence functions failing for non-sizable Iterables.
  • Fixed filled3D(Array) functions failing when a bounding box is not passed.
  • Fixed WorldSlice crashing when the world has a non-standard height. (Discovered by MrSQ on Discord.)
  • Updated all Minecraft wiki links to use minecraft.wiki.

6.1.1

24 Mar 01:07
Compare
Choose a tag to compare

Compatible with GDMC-HTTP >=1.0.0, <2.0.0.

Fixes:

  • Fixed Block.fromBlockStateTag() -- and therefore, WorldSlice.getBlock() -- crashing when retrieving certain block entities.

6.1.0

20 Mar 22:09
Compare
Choose a tag to compare

Compatible with GDMC-HTTP >=1.0.0, <2.0.0.

Additions:

  • Added sphere and ellipsoid functions to vector_tools and geometry. (Thanks cmoyates!)

Fixes:

  • Fixed in-buffer block overwrites not going to the end of the buffer, which could sometimes cause incorrect behavior.

6.0.3

19 Mar 15:48
Compare
Choose a tag to compare

Compatible with GDMC-HTTP >=1.0.0, <2.0.0.

Fixes:

  • Fixed a bug when constructing a Model without blocks. (Thanks Phobos97!)
  • Fixed off-by-one in Rect/Box .corners.