Releases: avdstaaij/gdpc
Releases · avdstaaij/gdpc
8.1.0
8.0.0
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_toolsconstants fromTuples toFrozenSets:DIAGONALS_2D,DIAGONALS_3D,DIAGONALS. - Removed feature of
editor_tools.placeSignandeditor_tools.placeLecternwhere you could passNonetofacingorrotationand the function would select a least obstructed direction. This feature relied heavily onlookup.py, which is now deprecated (see "Deprecations"). - Removed deprecated
Rect.innerandBox.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.typedfile, 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.placeSignsometimes creatingBlocks with superfluous block states (rotationfor wall signs andfacingfor non-wall signs). - Fixed
editor_tools.placeContainerBlockraising the wrong exception when passing a block withid = None. - Fixed
vector_tools.rotateSize2Dsometimes returning the input value instead of anivec2. - Fixed
vector_tools.l1Distancecrashing when passing veclikes that don't support the-operator. - Fixed
world_slice.WorldSlice.getPrimaryBiomeInChunkGlobalcrashing if you passed a position not contained in the world slice. - Fixed
interface.placeStructurecrashing if you passedrotate=Noneandmirror=(True, True). - Fixed
editor.Editor.placeBlockGlobalpossibly crashing when the passedpositionis not anivec3and buffering is enabled. - Fixed
editor.Editor.placeBlockpossibly crashing when the passedpositionis 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 examplevisualize_map.py, which heavily relied onlookup.py. - Deprecated
minecraft_tools.getObtrusiveness, which relied onlookup.py. - Deprecated
editor_tools.getOptimalFacingDirection, which relied onlookup.py. - Deprecated
utils.visualizeMaps, which was only used byvisualize_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
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
halfstate of stairs blocks. RectandBoxare now iterable, yielding the same values asRect.inner/Box.inner. (Thanks Flashing-Blinkenlights!)
Deprecations:
Rect.innerandBox.innerare deprecated, since the classes can now be directly iterated over.
7.3.0
Compatible with GDMC-HTTP >=1.0.0, <2.0.0 and Minecraft 1.20.2.
Additions:
- Added ZERO_2D/ZERO_3D/ZERO constants to
vector_tools. (Thanks Flashing-Blinkenlights!) - Added various ordered vector list constants to
vector_tools. (Thanks Flashing-Blinkenlights!) - Added
utils.rotateSequence. (Thanks Flashing-Blinkenlights!)
Fixes:
- Made some previously mutable constants immutable. (Thanks Flashing-Blinkenlights!)
7.2.0
Compatible with GDMC-HTTP >=1.0.0, <2.0.0 and Minecraft 1.20.2.
Additions
- Added
vector_tools.rotate2Ddegandrotate3Ddeg. (Thanks Flashing-Blinkenlights!) - Added many new constants to
vector_tools. (Thanks Flashing-Blinkenlights!)
Fixes:
- Added missing return type hints to many functions in
vector_tools. (Thanks Flashing-Blinkenlights!)
7.1.0
7.0.0
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()andplaceSign()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
interfacefunctions for the GDMC-HTTP/structureendpoint. (Thanks Niels-NTG and ZeLiu1!) - Made
RectandBoxhashable. (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_toolsfunctions that acceptIterablearguments failing when receiving aSet. In particular, this fixescircle(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-pyglmvector. - Fixed
lineSequencefunctions failing for non-sizableIterables. - Fixed
filled3D(Array)functions failing when a bounding box is not passed. - Fixed
WorldSlicecrashing when the world has a non-standard height. (Discovered by MrSQ on Discord.) - Updated all Minecraft wiki links to use minecraft.wiki.