Commit Graph

107 Commits

Author SHA1 Message Date
Nassim Jahnke
111cd2fd46
Biome palettes entries can have 1 bit 2021-09-16 15:47:28 +02:00
Nassim Jahnke
9ffa737a4d
Implement BlockEntity sectionX/Z methods 2021-09-16 14:19:45 +02:00
Nassim Jahnke
c565f2c9c7
Cleanup Palette interface and read/write 2021-09-16 13:03:31 +02:00
Nassim Jahnke
eaa18f569a
Write linear palette as map palette for now 2021-09-16 12:17:21 +02:00
Nassim Jahnke
bfe6389377
Write biomes to palette 2021-09-16 11:35:05 +02:00
Nassim Jahnke
f72412484a
Map block entity ids, only biomes and something else left 2021-09-16 00:26:23 +02:00
Nassim Jahnke
b4301adb3b
WIP 21w37a 2021-09-15 23:00:14 +02:00
Levertion
d67269c9fe
Add support for setting a custom world name (#2672) 2021-09-15 10:52:11 +02:00
Nassim Jahnke
c264e639d6
Clear entity data on world change in world tracker 2021-09-14 17:35:27 +02:00
Nassim Jahnke
32a84f24ef
Nicer getters in Pair and Triple 2021-09-14 11:13:39 +02:00
Nassim Jahnke
68e4146f3b
Deprecate cancelClientbound/Serverbound with new id parameter 2021-09-05 14:02:33 +02:00
Nassim Jahnke
a0b19872f8
Disable VV packet limiter on 1.17.1+ Paper 2021-09-01 15:25:24 +02:00
Nassim Jahnke
f2147179c2
Small fixes, add majorVersion method, nicer getter names in some classes
None of the deprecated methods will be removed anytime soon.
2021-08-28 22:15:28 +02:00
RK_01
e7a0b4cf04
Improve 1.8 -> 1.9 chunk translation and fix #2065 (#2669) 2021-08-28 10:02:27 +02:00
Nassim Jahnke
533572e8cd
Add CREATE_FOG BossFlag 2021-08-27 19:29:07 +02:00
Jo0001
47af0d634f
Fix typo in comment/javadocs (#2609) 2021-08-25 12:49:57 +02:00
kennytv
2094397bca
Allow bypassing of packet type restriction in Protocol, amend packet creator 2021-08-01 12:05:04 +02:00
kennytv
b81109f512
Semi force packet types in PacketWrapper at creation and transformation 2021-07-31 15:08:45 +02:00
kennytv
874dbafe26
More packet sending API
Allows for easy packet sending from a specific version to or from any client version supported by Via.
For example, you can send packets in the 1.17.1 format to both client and server, and it will be transformed accordingly if executed on another server version or sent to a different client version.
2021-07-30 12:26:15 +02:00
KennyTV
b28f743306
4.0.1 Release 2021-07-06 10:31:03 +02:00
KennyTV
9f97a09942
1.17.1-rc2 2021-07-05 14:52:13 +02:00
KennyTV
4f7e655613
1.17.1-rc1 2021-07-01 19:58:34 +02:00
KennyTV
a7d94c2f8f
1.17.1-pre3 2021-06-30 18:19:19 +02:00
KennyTV
24393d4ef4
1.17.1-pre2 2021-06-29 18:11:51 +02:00
KennyTV
aed1a63a77
Merge remote-tracking branch 'origin/master' into dev 2021-06-21 14:58:38 +02:00
LemonCaramel
14cd568e46
Add Resource pack prompt message option (1.17+) (#2544) 2021-06-21 14:55:49 +02:00
KennyTV
44d836e2e7
Clear entity trackers on server switch
Fixes #5930
2021-06-21 14:33:23 +02:00
KennyTV
d32a4541a9
1.17.1-pre1 2021-06-20 16:16:07 +02:00
KennyTV
5cdaabeaec
Handle particle id change in 1.16 metadata
Fixes #2551
2021-06-17 11:55:22 +02:00
KennyTV
4074352a53
4.0.0 Release 🚀 2021-06-07 16:32:07 +02:00
KennyTV
f909b55a84
1.17-rc2 2021-06-07 14:28:41 +02:00
KennyTV
24efb48004
Add method to load extra tags from diff files 2021-06-06 17:17:51 +02:00
KennyTV
d89f916546
Cleanup 1.17 entity rewriter, fix DataItem amount check 2021-06-06 10:08:15 +02:00
KennyTV
8e7606ea1b
1.17-rc1 2021-06-04 16:00:38 +02:00
KennyTV
2b8c5082ed
Make Item an interface, more OOP for the ItemRewriter 2021-06-04 12:15:14 +02:00
KennyTV
05f9fc1ddc
1.17-pre5 2021-06-03 20:22:48 +02:00
KennyTV
fc1450fe38
Slightly more OOP, move registerPackets out of Protocol constructor
registerPackets being called within the constructor made it impossible to create instance objects then used in registerPackets (vs. having to then create the objects in registerPackets).
2021-06-03 17:28:02 +02:00
KennyTV
e1072a8dc7
Fix docs 2021-06-03 10:45:58 +02:00
KennyTV
fec777b349
Don't wrap direct type mappers 2021-06-02 23:22:00 +02:00
KennyTV
7b1f9c199a
Produce less overhead in packet handler registering
Instead of creating a void type reader for every single PacketHandler registered, this just directly uses the consumer-like PacketHandler.

The distinction between ValueCreator and the normal PacketHandler was unnecessary given you could also just read something in a ValueCreator instance, effectively just being a consumer of a PacketWrapper instance.
2021-06-02 22:00:20 +02:00
KennyTV
a8b3444ff5
1.17-pre4 2021-06-02 18:44:47 +02:00
KennyTV
6839334c1a
Fix confirmation id encoding, remove old send methods 2021-06-02 12:44:49 +02:00
KennyTV
eaa58affd1
Minor changes 2021-06-01 22:52:05 +02:00
KennyTV
104fa4e29f
Optimize protocol path finding
Not perfect, but better. This prevents the path checks from exponentially increasing (if it weren't for the maxProtocolPathSize fail safe).

By default, a path will never go to a protocol version that puts it farther from the desired server protocol version, even if a path existed.
Otherwise as well as previously, *all* possible paths will be checked until a fitting one is found.

Negative examples if the new boolean is set to true:
    A possible path from 3 to 5 in order of 3->10->5 will be dismissed.
    A possible path from 5 to 3 in order of 5->0->3 will be dismissed.

Negative examples if set to false:
    While searching for a path from 3 to 5, 3->2->1 could be checked first before 3->4->5 is found.
    While searching for a path from 5 to 3, 5->6->7 could be checked first before 5->4->3 is found.

Assuming custom platforms like Bedrock protocol use the normal registering methods, they will have to change the boolean to false to revert to previous behavior (tho still somewhat better optimized).
2021-06-01 18:54:36 +02:00
KennyTV
4011aee280
1.17-pre3 2021-06-01 18:10:53 +02:00
KennyTV
37fd69fa86
Make packet send methods use the current thread by default
Defaulting to submitting to the netty event loop caused issues more often than not - this also removes the `currentThread` flag and instead provides new scheduleSend methods so it is always obvious whether the packet is sent immediately.
2021-06-01 10:13:49 +02:00
KennyTV
199324ee9d
1.17-pre2 2021-05-31 18:21:31 +02:00
KennyTV
d5cac99b5f
Reorder Type instances 2021-05-31 11:51:21 +02:00
KennyTV
3618914ce9
Add method to get Protocol by supported versions, some cleanup 2021-05-29 22:21:29 +02:00
KennyTV
ff140c421a
Add/change comments 2021-05-29 11:50:07 +02:00