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_tools
constants fromTuple
s toFrozenSet
s:DIAGONALS_2D
,DIAGONALS_3D
,DIAGONALS
. - Removed feature of
editor_tools.placeSign
andeditor_tools.placeLectern
where you could passNone
tofacing
orrotation
and the function would select a least obstructed direction. This feature relied heavily onlookup.py
, which is now deprecated (see "Deprecations"). - Removed deprecated
Rect.inner
andBox.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 creatingBlock
s with superfluous block states (rotation
for wall signs andfacing
for non-wall signs). - Fixed
editor_tools.placeContainerBlock
raising the wrong exception when passing a block withid = None
. - Fixed
vector_tools.rotateSize2D
sometimes returning the input value instead of anivec2
. - 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 passedrotate=None
andmirror=(True, True)
. - Fixed
editor.Editor.placeBlockGlobal
possibly crashing when the passedposition
is not anivec3
and buffering is enabled. - Fixed
editor.Editor.placeBlock
possibly crashing when the passedposition
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 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
half
state of stairs blocks. Rect
andBox
are now iterable, yielding the same values asRect.inner
/Box.inner
. (Thanks Flashing-Blinkenlights!)
Deprecations:
Rect.inner
andBox.inner
are 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.rotate2Ddeg
androtate3Ddeg
. (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
Protocol
s, 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
andBox
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 acceptIterable
arguments 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-pyglm
vector. - Fixed
lineSequence
functions failing for non-sizableIterable
s. - 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.