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
b3cf00a856
Add support for Minecraft 1.14.1 Pre Release 1 to 1.14.1 (protocols 478 to 480)
2019-05-13 22:25:40 +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
L1LxHa
9b43d6f004
Fix hanging indefinitely while making auth-related requests ( #117 )
2019-01-04 20:22:42 -05: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
Amund Eggen Svandal
c67652d7e8
Add option to invalidate previous access_token
s 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
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
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
TheSnoozer
2f0dbf5cbb
fix flake error as suggested
2017-08-09 16:33:41 +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
346b3081ec
fix broken tests
2017-08-09 16:33:41 +01:00
TheSnoozer
4a508f935b
use namedtuple for position type and use it as subclass for ClientExplosion.Record
2017-08-09 16:33:41 +01:00
TheSnoozer
8552c6efe5
regorganize packet structure as outlined in https://github.com/ammaraskar/pyCraft/pull/68
2017-08-09 16:33:41 +01:00
TheSnoozer
f8781c19c8
The packet IDs of Entity Velocity (0x3E), Update Health (0x41), Combat Event (0x2D), and Client Status (0x03) changed in [protocol 336 (snapshot 17w31a)]( http://wiki.vg/index.php?title=Pre-release_protocol&oldid=13265 )
2017-08-09 16:33:41 +01:00
TheSnoozer
6137436d03
feedback: add write method
2017-08-09 16:33:41 +01:00
TheSnoozer
5349ff2730
feedback: we can use enum since subclass packets do no vary depending on the type id
2017-08-09 16:33:41 +01:00
TheSnoozer
d8fc742862
feedback: pass x, y, z as arguments since types classes are supposed to abstract away the python types and sending them over the network and calling an encode method before sending breaks that a little.
2017-08-09 16:33:41 +01:00
TheSnoozer
9ab2e1ae69
fix tox -e pylint-errors
2017-08-09 16:33:41 +01:00
TheSnoozer
fdb5a0bb72
fix tox -e flake
2017-08-09 16:33:41 +01:00
TheSnoozer
cc466bb0ea
fixed an issue with mc 1.8.8 where velocity is not being sent and self.data is negative
2017-08-09 16:33:41 +01:00
TheSnoozer
6fbf75203c
add Multi Block Change (client bound)
2017-08-09 16:33:41 +01:00
TheSnoozer
93227e26fa
add Block Change Packet (client bound)
2017-08-09 16:33:41 +01:00
TheSnoozer
ca30ff2e74
add spawn object (client bound)
2017-08-09 16:33:41 +01:00
TheSnoozer
3ad5d1abd5
add Explosion Packet (client bound)
2017-08-09 16:33:41 +01:00
TheSnoozer
81f2ae4070
add Combat Event Packet (client bound)
2017-08-09 16:33:41 +01:00
TheSnoozer
fecb1d10e9
add Client Status Packet and allow client to respawn when issuing '/respawn'
2017-08-09 16:33:41 +01:00
TheSnoozer
0dc333237b
add Update Health Packet (client bound)
2017-08-09 16:33:41 +01:00
TheSnoozer
6f52ceac0d
add Entity Velocity Packet (client bound)
2017-08-09 16:33:41 +01:00
TheSnoozer
9caff502ca
add ClientSpawnPlayer packet
2017-08-09 16:33:41 +01:00
TheSnoozer
42ede3f83d
deal with faulty compression's
2017-08-09 16:33:41 +01:00
joo
9e7e75f9a7
Increment package version to 0.5.0.
2017-08-03 19:08:36 +01:00
joo
33cd42848e
Add version data for Minecraft 1.12.1 (protocol 338).
2017-08-03 18:48:36 +01:00
joo
5aa2d3df59
Add support for Minecraft 17w31a and 1.12.1-pre1 (protocols 336 and 337).
2017-08-03 18:31:00 +01:00