Commit Graph

168 Commits

Author SHA1 Message Date
Sillyfrog
b582029099 Support for 1.16-rc1 2020-06-19 09:18:29 +10:00
Tristan Gosselin-Hane
0343df918c Fixed packet types 2020-05-22 12:49:02 -04:00
Tristan Gosselin-Hane
9c08c6c9f5 Added support for snapshots 20w20a and 20w20b 2020-05-14 21:37:25 -04:00
Tristan Gosselin-Hane
8cb02e7f7f Added support for snapshot 20w18a 2020-05-04 12:04:04 -04:00
Tristan Gosselin-Hane
7380bc2c61 Added support for snapshots 20w13b, 20w14a, 20w15a, 20w16a 2020-04-17 00:07:41 -04:00
Tristan Gosselin-Hane
428a599f40 Added support for snapshot 20w13a 2020-04-16 20:54:51 -04:00
Tristan Gosselin-Hane
76f7b4bdc9 Added support for snapshot 20w12a 2020-03-20 15:00:31 -04:00
joo
b38adc1aa1 Add pre-release versions between 1.14.4 and 1.15.1; update test config 2020-01-08 16:15:42 +01:00
Sillyfrog
51c618aeb5 Support v1.15.1 2019-12-23 21:53:16 -05:00
Sillyfrog
e1afabcba5 Add support for v1.15 2019-12-23 21:53:10 -05:00
joodicator
bbbd3fb195 Add pre-release versions for 1.14.3 and 1.14.4 2019-08-16 00:16:41 +02:00
joodicator
a03e1a7c47 Fix: MutableRecord interprets __slots__ incorrectly (issue #133) 2019-07-03 19:53:30 +02:00
joodicator
e3d2b1a368 Improve metadata and auxiliary methods of existing packets.
* Add multi-attribute aliases to some packets, for user convenience.
* Add support for writing PlayerListItemPacket.
* Add 'fields' attributes to manually-read/written packet classes,
  implementing 'field_string' where appropriate to allow enable the
  default __repr__ implementation.
* Modify data constructors where appropriate so that __repr__
  implementations match their constructor protocols.
* Improve comments on type aliases within packet classes.
* Add/modify tests to cover the new functionality.
2019-06-08 15:39:24 +02:00
joodicator
a3357762d7 Add tests for FacePlayerPacket, Angle; fix bugs; misc. changes
* Add alias FacePlayerPacket.target for x, y, z fields.
* Replace FacePlayerPacket.OriginPoint type alias with Origin and
  EntityOrigin aliases.
2019-05-18 02:36:36 +02:00
Zachy
b0a9a3693c Remove white space 2019-05-17 21:45:21 +01:00
Zachy
e8a0e34aef Feedback: Replace FeetEyes convention with OriginPoint for forward compat 2019-05-17 21:38:57 +01:00
Zachy
0b127da0ca Feedback: Correct Fixed Point conversion & take mod of angle send value 2019-05-17 21:31:33 +01:00
Zachy
a60b513e74 Fix import order 2019-05-17 02:15:01 +01:00
Zachy
93f6d269da Fix tests to work with new Angle type@ 2019-05-17 02:09:27 +01:00
Zachy
22008c5c5c New line at end of file 2019-05-15 14:18:49 +01:00
Zachy
3c594a1386 Remove debugging print statement and make send static 2019-05-15 13:59:23 +01:00
Zachy
7361f761f5 Implement type 'Angle', packet 'EntityLookPacket' and fix Packet Types
Remarks: I chose to implement an angle between 0-360 degrees as opposed to -180 - 180. linear transformation, the maths was far simpler converting an UnsignedByte into positive values instead of a Byte into negative and positive
2019-05-15 13:51:31 +01:00
Zachy
d7b560a9f4 Implement FacePlayerPacket
Called when using the teleport chat command and you specify a facing parameter. `/teleport [<targets>] <x> <y> <z> facing`
2019-05-15 01:28:56 +01:00
joodicator
7b1567c352 Improve test coverage wrt protocol versions; other fixes/improvements
Improvements to the test suite:
* List release version names and numbers in minecraft/__init__.py.
* Make some tests, which previously ran for *all* protocol versions,
  run only for release protocol versions (to improve test performance).
* Make some tests, which previously ran only for the latest protocol
  version, run for all release protocol versions (to improve coverage).
* Print each protocol version being tested to the debug log, to help
  identify sources of errors.
* Use the `nose-timer' plugin to show the run time of each test.

Fix errors revealed by increased test coverage:
* Fix: SoundEffectPacket.Pitch is not serialised correctly for early
  protocol versions.
* Fix: handleExceptionTest finishes later than necessary because
  the test overrode an exception handler used internally by
  `_FakeServerTest', causing the server thread to time out after 4s.
* Add support for multiple exception handlers in `Connection'
  (required for the above).

Improvements to data descriptors:
* Make syntax of property declarations more consistent/Pythonic.
* Factor the definition of several aliasing properties into the
  utility methods `attribute_alias' and `multi_attribute_alias',
  which construct suitable data descriptors.
* Define and use the named tuple `Direction' for (pitch, yaw) values.
2019-05-14 18:41:58 +02:00
joodicator
d24b6eaded Update SoundEffectPacket and UseItemPacket to 1.14; misc improvements 2019-05-13 21:58:59 +02:00
joodicator
faf02acf62 Merge branch 'master' into packets 2019-05-13 21:28:02 +02:00
joodicator
e4f8b5583a Fix: networking.types.utility.__all__ is incorrect. 2019-05-13 21:24:41 +02:00
joodicator
24ca96accb Merge branch 'master' into patch-2 2019-05-13 19:02:23 +02:00
joodicator
bf719611ec Update RespawnPacket and ServerDifficultyPacket to 1.14. 2019-05-13 18:23:05 +02:00
joo
d627423949 Merge branch 'master' into patch-1 2019-05-13 18:02:01 +02:00
joodicator
612fa8e324 Add support for Minecraft 18w43a to 1.14 (protocols 441 to 477)
This commit introduces two backward-incompatible changes which may break
existing code:

(1) `networking.packets.clientbound.play.SpawnObjectPacket.EntityType'
is no longer accessible as an attribute of the the `SpawnObjectPacket'
class: the values now depend on a `ConnectionContext`, and must be
accessed through an instance, or using `SpawnObjectPacket.field_enum'.
See the text of the `AttributeError` raised from the descriptor for
`SpawnObjectPacket.EntityType` for the full details.

(2) For some subclasses of `networking.types.Type', it is necessary to
call the methods `read_with_context' and `send_with_context' instead of
`read' and `send', supplying a `ConnectionContext' for those data types
- currently only `Position` - whose layout depends on it.
2019-05-11 08:43:51 +02:00
Amund Eggen Svandal
1a1b9803f8 Edit definition of SoundEffectPacket 2019-01-13 23:05:51 +00:00
Amund Eggen Svandal
56d1300db1 Updated id of UseItemPacket 2019-01-13 22:06:39 +00:00
Amund Eggen Svandal
bea661860d Add Use Item packet 2019-01-02 01:38:53 +01:00
Amund Eggen Svandal
e21c0d877f Implement the Sound Effect packet
Information gathered from https://wiki.vg/Protocol_version_numbers.
Due to some difficulties the change from "sound_id" to "sound_name" and
the re-implementation of "sound_category" in the packet may be off by
some protocol versions.
2019-01-02 01:38:14 +01:00
Tristan Gosselin-Hane
316ea4d63d Implemented Player List Header And Footer Packet 2018-11-12 21:22:55 +01:00
joo
48e1003f42 Fix issue #109 and add regression test. 2018-10-12 17:07:04 +01:00
Zachy24
103b53a97a Change case on GameMode 2018-08-15 22:29:18 +01:00
Zachy
409c619eb0
return method 2018-08-15 20:53:13 +01:00
Zachy
6d6a592f07
Add decorator for register_packet_listener() 2018-08-13 01:57:16 +01:00
Zachy24
da103c6d3c Oops 2018-08-13 01:35:34 +01:00
Zachy24
4ba6a40df6 Add aliases for Enums in Packet Definitions 2018-08-13 00:41:21 +01:00
Zachy
aeaf7b5bcb
Import new enums into Packet Definition 2018-08-12 23:12:45 +01:00
Zachy
ed85cb793a
Implement Enums for Difficulty/Dimension/Gamemode 2018-08-12 23:07:07 +01:00
Zachy
0198476fa9
Fix packet id for protocol versions 47 and 69. 2018-08-12 22:56:16 +01:00
Zachy
e840fab267
Update __init__.py 2018-08-12 11:04:40 +01:00
Zachy
1a114c1b95
Implement clientbound.play.ServerDifficultyPacket 2018-08-12 10:47:50 +01:00
Zachy
d20344cac1
Implement clientbound.play.RespawnPacket 2018-08-12 10:39:11 +01:00
joo
f6f6511788 Remove dead code from connection.py. 2018-07-19 12:21:49 +01:00
joo
adc8d15ddc Add support for Minecraft 1.13 and 1.13-pre3 to pre10 (protocols 385 to 393).
Add clientbound.login.PluginRequestPacket and serverbound.login.PluginResponsePacket.
2018-07-19 09:50:13 +01:00