Commit Graph

176 Commits

Author SHA1 Message Date
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
L1LxHa
9b43d6f004 Fix hanging indefinitely while making auth-related requests (#117) 2019-01-04 20:22:42 -05:00
Amund Eggen Svandal
c67652d7e8 Add option to invalidate previous access_tokens to authenticate
This changes the default behaviour to include `self.client_token`
when using `authenticate`. If `self.client_token` is `None`, a new
token is generated using uuid4 (like the vanilla client does).
2019-01-02 01:16:02 +01:00
Tristan Gosselin-Hane
316ea4d63d Implemented Player List Header And Footer Packet 2018-11-12 21:22:55 +01:00
joo
527f3d3146 Add support for Minecraft 1.13.2-pre1, 1.13.2-pre2 and 1.13.2 (protocols 402 to 404). 2018-10-26 19:58:20 +01:00
joo
48e1003f42 Fix issue #109 and add regression test. 2018-10-12 17:07:04 +01:00
joo
0eec179f48 Add support for Minecraft 1.13.1 and 1.13.1-pre2 (protocols 400 to 401). 2018-08-23 07:42:28 +01:00
joo
720868fab7 Add support for Minecraft 18w80a to 1.13.1-pre1 (protocols 394 to 399). 2018-08-19 18:11:12 +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
bea2222c58 Fix: MutableRecord.__ne__ misspelt as '__neq__'.
Add tests for MutableRecord and Position.
2018-06-21 07:06:45 +01:00
joo
4b6feda1cb Various improvements to utility types:
- Add operations for Vector.
- Move some tests into test_utility_types.py.
- Add tests for PositionAndLook and Vector.
2018-06-21 06:39:55 +01:00
joo
61598eba75 Divide minecraft.networking.types into multiple modules. 2018-06-20 09:54:17 +01:00
joo
201e075591 Add support for Minecraft pre-release 1.13-pre2 (protocol 384). 2018-06-20 09:50:20 +01:00
Zachy
d3a8cc8dfb Implement New Type. FixedPointInteger. (#93)
Fix: SpawnPlayerPacket coordinates read wrongly before protocol 100. Add types.FixedPointInteger.
2018-06-20 05:32:35 +01:00
joo
0a1776f97a Add support for Minecraft versions 18w22a to 1.13-pre1 (protocols 380 to 383). 2018-06-05 01:14:19 +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
db714f9490 Fix: MapPacket.write_fields() is incorrect. 2018-05-27 17:12:50 +01:00
joo
8578326c2f Add serialisation and tests for SpawnObjectPacket. 2018-05-27 15:36:13 +01:00
joo
709b80b539 Add serialisation and tests for Explosion, {Multi,}BlockChange, and CombatEvent packets. 2018-05-27 13:28:01 +01:00
joo
92f2eff681 Add several tests for the Connection class. 2018-05-27 07:40:13 +01:00
joo
ab9ca6dfee Add full connection tests with encryption enabled. 2018-05-27 03:30:43 +01:00
joo
f22447b97a Add support for Minecraft snapshot 18w21b (protocol 379). 2018-05-25 19:35:32 +01:00
joo
bbf7200220 Add support for Minecraft snapshot 18w21a (protocol 378). 2018-05-24 12:59:06 +01:00
joo
52c0671f4f Add support for Minecraft snapshots 18w03a-18w20c (protocol 354-377). 2018-05-20 06:58:23 +01:00
joo
67344f2ceb Add IPv6 support to Connnection. 2018-05-18 12:26:47 +01:00
joo
19a82f51ef Add serverbound.play.PlayerBlockPlacementPacket. 2018-05-18 06:01:31 +01:00
gurland
c584f29154 Position type fix. Add new PlayerBlockPlacementPacket 2018-05-18 08:50:59 +01:00
joo
c90afe4424 Fix: networking.types.Position.send() doesn't accept a Position. 2018-05-17 06:08:54 +01:00
joo
38fa39a236 Extract Hand enum classes to minecraft.networking.types. 2018-03-02 02:07:25 +00: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
ece90fcd9d Fix: MultiBlockChangePacket reads y_coordinate wrongly. 2018-01-13 17:04:39 +00:00
joo
f492adfeff Add support for Minecraft snapshots 17w43a-18w02a (protocol 341-353).
Add support declaration for Minecraft version 1.8.9 (protocol 47).
2018-01-13 01:12:28 +00:00
joo
da7c13076f Fix: client.handshake.get_packets returns a dict instead of a set. 2018-01-13 01:02:00 +00:00
joo
1766b30983 Remove duplicates from SUPPORTED_PROTOCOL_VERSIONS. 2018-01-07 23:56:31 +00:00
TheSnoozer
821dad72ca Merge remote-tracking branch 'upstream/testing' 2018-01-03 23:53:58 -05:00
TheSnoozer
860628f64b the main hand attribute for ClientSettingsPacket was added in 15w31a [Protocol Version is now 49] and causes the client to send more data than the server expects which result in a instant disconnect while connecting to a 1.8.8 server 2017-11-19 23:22:00 -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
88a5fdc637 Merge branch 'master' into testing 2017-09-24 06:36:52 +01:00
TheSnoozer
61d9695226 support 1.12.2 2017-09-19 18:30:51 -04:00
joo
e9f095de42 Add ClientSettingsPacket and PluginMessagePacket.
Improve Packet string representation.
2017-08-24 05:49:32 +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
9765e936c9 Fix incorrect packet IDs for PlayerPositionAndLookPacket for old protocol versions. 2017-08-20 07:35:14 +01:00
joo
46e058dd08 Update all tests, docs and code to use new packet names. 2017-08-09 20:53:54 +01:00
joo
f1ae765458 Add docstring about legacy packet names to packets module. 2017-08-09 19:32:07 +01:00
TheSnoozer
61b07f52f2 better packet names to match new packet structure 2017-08-09 16:33:41 +01:00
TheSnoozer
64cf23436b the class 'Type' needs to have '__slots__ = ()', otherwise every instance of 'Position' will have an unnecessary empty '__dict__' allocated 2017-08-09 16:33:41 +01:00