Commit Graph

58 Commits

Author SHA1 Message Date
joo 3c84c2a429 Merge branch 'v1.16' into master 2020-08-19 20:27:11 +02:00
laundmo 2947aa6619
Added listener decorator documentation (#161)
* added decorator example to connection.rst

since decorators are more pythonic, it was put in front of the register method.

* Expanded listener decorator docstring

* changed autofunction to autodecorator

* removed whitespace in empty line

* remvoed trailing whitespace

i didn't even edit there WTF
2020-08-17 17:49:25 +02:00
joo b79f8b30eb Remove support for Python 2.7 2020-08-17 07:10:10 +02:00
joo 84df884ca4 Remove 'Packet.packet_id' attribute, replacing with 'id' 2020-08-17 05:39:48 +02:00
Sillyfrog b582029099 Support for 1.16-rc1 2020-06-19 09:18:29 +10: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 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 24ca96accb Merge branch 'master' into patch-2 2019-05-13 19:02:23 +02:00
joo 48e1003f42 Fix issue #109 and add regression test. 2018-10-12 17:07:04 +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
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
joo d36b652b69 Fix: reconnecting from an exception handler does not work. 2018-05-29 01:14:23 +01:00
joo c01f194d06 Raise exception on login disconnect instead of silently stopping. 2018-05-28 17:42:08 +01:00
joo 92f2eff681 Add several tests for the Connection class. 2018-05-27 07:40:13 +01:00
joo 67344f2ceb Add IPv6 support to Connnection. 2018-05-18 12:26:47 +01:00
TheSnoozer 5c0c95068f fix AttributeError: 'Packet' object has no attribute 'name' (should be 'packet_name' - see https://github.com/ammaraskar/pyCraft/blob/master/minecraft/networking/packets/packet.py#L9) 2018-01-20 19:45:41 -05:00
joo af559e181a Remove limits on number of packets read/written per tick.
This addresses possible memory leaks or crashes caused by overflowing packet backlogs.
2017-10-10 04:47:50 +01:00
joo b79e7b5f28 Add tests for early and outgoing packet listeners. 2017-08-22 17:50:16 +01:00
joo 9497aae8fa Make FakeServer class more reusable, and extract it into its own module. 2017-08-22 14:22:12 +01:00
joo 593c98f168 Add support for early and outgoing packet listeners. 2017-08-21 21:06:28 +01:00
joo 46e058dd08 Update all tests, docs and code to use new packet names. 2017-08-09 20:53:54 +01:00
TheSnoozer 7eef61bfde use 'zlib.decompressobj' to handle the 'faulty' compression correctly as suggested in https://github.com/ammaraskar/pyCraft/pull/68 2017-08-09 16:33:41 +01:00
TheSnoozer ab71aeeb7d Revert "deal with faulty compression's"
This reverts commit 357340e6dc.
2017-08-09 16:33:41 +01:00
TheSnoozer 42ede3f83d deal with faulty compression's 2017-08-09 16:33:41 +01:00
Ammar Askar da967a4e56
Minor coverage improvement for packets 2017-07-16 01:20:08 -07:00
joo b1edff913b Fix comment spacing in previous commit. 2017-04-16 04:19:42 +01:00
joo df9171edd1 Suppress erroneous Pylint not-context-manager errors.
See: https://github.com/PyCQA/pylint/issues/782
2017-04-16 03:58:35 +01:00
Ammar Askar 0c31e748e8
Fix flake error caused by doc change.
Love that 79 character line limit >.>
2016-12-19 05:41:28 -05:00
Ammar Askar 9aa369c7da
Fix outdated documentation 2016-12-19 05:26:12 -05:00
joo bf17f99083 Change version negotiator to use a status query. 2016-11-22 14:47:42 +00:00
joo d72f05c8b0 Show exceptions by default and add `handle_exception' parameter to Connection. 2016-11-20 06:04:22 +00:00
joo 115693f8c3 Implement full Server List Ping capability with test. 2016-11-20 06:04:22 +00:00
joo 7ab7381261 Fix infinite loop in protocol negotiator.
Add missing protocol versions for 1.10.1 and 1.10.2.
2016-10-01 15:52:17 +01:00
joo 03565e24c8 Fix errors caused by the "uncompressed data length" field of compressed packets being erroneously written as the compressed data length. 2016-09-27 12:06:21 +01:00
joo 38deda0d3b Fix race condition causing failed Travis builds #75.3 and #81.1. 2016-09-02 00:26:12 +01:00
joo ce63626bb1 Add 4 tests in 'test_connection.py' and fix related bugs. 2016-06-18 18:22:18 +01:00
joo 3ff7662684 Update tests to match new API. 2016-06-17 22:54:21 +01:00
joo c8b3e7a809 Fix several bugs caused or exposed by running in Python 3. 2016-06-17 20:38:18 +01:00
joo e1626ea7e0 Add TeleportConfirmPacket and AnimationPacketServerBound packets. Add PlayerPositionAndLookPacket.PositionAndLook utility class. Fix a bug causing Disconnect packets to be ignored in some circumstances. 2016-03-28 05:08:01 +01:00
joo d966709204 Add support for Minecraft 1.9 (protocol 107). Miscellaneous bugfixes. 2016-03-07 06:22:42 +00:00
joo f178df5d8f Add automatic protocol version negotiation. 2016-03-07 02:40:25 +00:00
joo 3927400178 Prepare to support multiple protocol versions. 2016-03-05 07:28:14 +00:00
joo 9affeee041 Fix attributes in several classes in connection.py which were erroneously defined in the class dictionary instead of the instance dictionary. 2015-10-07 08:54:23 +01:00
Joseph Crowe f1391ab29b Add an 'exception' attribute to Connection objects recording the reason for termination of the networking thread. 2015-10-05 03:14:48 +01:00
Joseph Crowe dcd61efed0 Fix timing issue caused by reading of consecutive delayed packets. 2015-09-12 16:41:13 +01:00
joo fe66e09dc4 Comment out disconnect messages generated by stubs in connection.py. 2015-09-04 19:00:03 +01:00