Commit Graph

468 Commits

Author SHA1 Message Date
Matsv
87f083460c Fix custom named spawneggs 2016-04-02 15:02:41 +02:00
Myles
2d6dedefb8 Add some packet plugins to loadbefore to ensure it works better with them. 2016-04-02 13:50:21 +01:00
Matsv
8c706b665c Don't format if no args are given 2016-04-02 11:58:15 +02:00
Matsv
2e3677a592 Make command sender messages cleaner 2016-04-02 11:51:17 +02:00
Myles
3602c5087b Don't send a meta data packet when list is empty. #288 2016-04-01 18:13:23 +01:00
Hugo Kerstens
7defe7129f Implement subcommand to reload the config 2016-04-01 17:31:44 +02:00
Matsv
3f64fb7d5f Cleanup BossBar class & add new bossbar api method, addPlayers() 2016-04-01 16:03:56 +02:00
Myles
ac8f7a00ae Merge pull request #305 from HugoDaBosss/master
Implement new protocol version registry
2016-03-31 22:45:39 +01:00
Myles
6893f34289 Support reloading to some extent, if you use protocol lib it will kick all your players... (So you probably should just get a PluginManager...)
One day i'll fully patch to work... (If I don't kick the players it ends up that ProtocolLib implodes and nobody can connect.)
2016-03-31 22:45:15 +01:00
Hugo Kerstens
0a69d62cbe Fixed typo (blame Mats) 2016-03-31 23:26:13 +02:00
Matsv
7326205495 Woops use the same instance 2016-03-31 22:48:20 +02:00
Matsv
2905d77206 Reformatting moved color to the top ;( 2016-03-31 20:53:03 +02:00
Matsv
cb8ec2ce20 Add tab-complete possibility and help subcommand 2016-03-31 20:50:22 +02:00
Hugo Kerstens
09f484f956 Implement new protocol version registry 2016-03-31 19:50:04 +02:00
Matsv
b701a0ef67 Change debug mode subcmd description 2016-03-31 18:55:05 +02:00
Matsv
eb50f4e907 Merge branch 'master' of https://github.com/Matsv/ViaVersion into cmd 2016-03-31 17:53:12 +02:00
Matsv
6480ea34fc Changed javadoc 2016-03-31 17:52:06 +02:00
Matsv
511941462f Add javadoc 2016-03-31 17:51:30 +02:00
Matsv
34cc783cac Fix missing description, add javadocs, make sure subcommand is valid, check permission 2016-03-31 17:48:15 +02:00
Matsv
ecc79b4f49 Command API to keep it clean and make it possible for developers to add their own viaversion subcommands if they want to. 2016-03-31 17:22:42 +02:00
Matsv
41d5144b57 Handle discontinued player item in hand, fixes #299 2016-03-31 16:28:56 +02:00
Hugo Kerstens
0acc2f95fb Remove unneeded code 2016-03-31 15:08:19 +02:00
Myles
8760b53a0a Fix Disconnect Issue (It's not really harmful but still) 2016-03-30 17:45:24 +01:00
Myles
a40182186f Fix debug issue with 1.9.2 2016-03-30 17:34:13 +01:00
Matsv
75c9284cda Rename 1_9_1 PRE to just 1_9_1 2016-03-30 18:23:52 +02:00
Myles
fb6055cbfe 1.9.2 support (no protocol changes from what I've seen) 2016-03-30 16:51:55 +01:00
Myles
639c9ea8c1 Fix 1.8R0.1 not working, ensure flying packets are sent from right place in pipeline, should fix #273 2016-03-30 16:43:01 +01:00
Myles
1872845d2b Add additional information when packets aren't sent correctly. 2016-03-30 15:58:31 +01:00
Myles
93755c6732 Move patch to update health so it works better and is applied upon login. 2016-03-29 18:22:40 +01:00
Myles
c49bf89ead Merge pull request #289 from Matsv/debug
Show all errors on debug
2016-03-29 15:03:36 +01:00
Myles
4ff4fe2ab2 Merge branch 'master' of https://github.com/MylesIsCool/ViaVersion 2016-03-29 15:02:04 +01:00
Myles
1b99e2cf57 Move EntityNBT to different file and fix the issue to do with respawn chunks unloading. #287 2016-03-29 15:01:38 +01:00
Matsv
55830b0dfb Show all errors on debug 2016-03-29 16:00:56 +02:00
Mats
95ea95be13 Woops the new api broke ServerListPlus custom outdated message again fixes #282 2016-03-28 11:52:29 +02:00
Myles
d72b7fc4df Fix shields not being configurable 2016-03-27 23:52:57 +01:00
Myles
0992c74351 Improve block placing a bit 2016-03-27 23:40:32 +01:00
Myles
081c23ad8b Small Javadocs 2016-03-27 22:45:25 +01:00
Hugo Kerstens
9847912128 Make BossBar API easier to use 2016-03-27 21:30:31 +02:00
Myles
d89a34cca3 Allow packets to be written to the server using passthrouh ID, shouldn't break anything I also updated comment on why interaction is half broken 2016-03-27 19:13:19 +01:00
Myles
6197138380 Merge pull request #279 from HugoDaBosss/apiv2
Update BossBar API to use protocol version and add protocol version check by uuid API method
2016-03-27 18:31:17 +01:00
Hugo Kerstens
f5f4876182 Add check for isPorted because server can be using 1.9 2016-03-27 18:05:04 +01:00
Hugo Kerstens
293c1229ff Update BossBar API to use protocol version and add protocol version by uuid API method 2016-03-27 17:58:31 +01:00
Myles
ba60f10744 Match the source for SPIGOT-1.8 2016-03-27 16:37:42 +01:00
Myles
c0493de4df Does not fix armour issue completely but improves right click armour items (it's still bugged, working on it) 2016-03-27 14:57:13 +01:00
Myles
46b2f69b01 Fix healing potion :) 2016-03-27 14:06:55 +01:00
Myles
f926113c66 Improve paper patch to allow for latency in towering up. 2016-03-27 13:56:06 +01:00
Myles
0e4df51613 Better placement detection 2016-03-26 23:29:09 +00:00
Myles
c5f72dc728 Wrong way oops 2016-03-26 22:22:19 +00:00
Myles
cee5b1ee42 Improve the patch to check the pipe and to handle above head placement. 2016-03-26 15:55:13 +00:00
Myles
f1b9cd2e56 Add PaperSpigot patch to fix block placement (Applies to all protocols for now, until someone finds an issue with this) 2016-03-26 15:28:42 +00:00
Myles
7807e6d9c4 Merge pull request #275 from HugoDaBosss/apiv2
Fix for block place sounds
2016-03-26 14:51:55 +00:00
Hugo Kerstens
4b354f806d Check if user is indeed using 1.9 to 1.8 protocol conversion 2016-03-26 15:38:15 +01:00
Hugo Kerstens
41707ca867 Not needed 2016-03-26 15:22:23 +01:00
Hugo Kerstens
3679aa618f Fix for block place sounds 2016-03-26 15:17:00 +01:00
Myles
e9d96f2daf Fix hologram offset. 2016-03-26 14:08:23 +00:00
Myles
f371419396 Fix shields not being for the right entity >.> and also print out value for metadata 2016-03-26 13:07:06 +00:00
Myles
f32d3211ed Fix issue with Bukkit materials which aren't found by ID 2016-03-26 12:33:22 +00:00
Hugo Kerstens
45f99d4c31 Small fixes and formatting 2016-03-25 23:34:02 +01:00
Myles
71a9c90fe9 Fix team packet 2016-03-25 22:02:25 +00:00
Myles
406500b0bd Fix type conversion not being instant, (causes issue when reading later on)
Introduce packet ID counting (so we can mark something for the next packet etc)
Move USE Item
Add patch to handle placement properly and not break items yay. (Requires a list of special items >.>)
(And lastplaceblock packet index)
2016-03-24 15:45:16 +00:00
Myles
9257298e17 Handle not found metadata properly, and register the player as a type.
Fixes #270
2016-03-23 17:56:02 +00:00
Myles
0376602894 Update TODO list, add pipeline cache 2016-03-23 14:00:48 +00:00
Myles
95ceabb495 Merge fix for duplicated events for placement 2016-03-23 13:41:11 +00:00
Myles
6c8ccb1b1e Don't send place block twice (1.9 will use use_item to handle items), fixes #244 (may fix more) 2016-03-23 13:37:45 +00:00
Myles
f351dd03e7 Merge pull request #269 from Matsv/effectapiv2
Reimplementing the effect indicator
2016-03-23 12:43:20 +00:00
Myles
c1e77a49b6 Merge branch 'master' into apiv2 2016-03-23 12:40:08 +00:00
Myles
9adf6040fa Optimise ViaIdleThread, use 1 object for all packets. (Quite a big speed up) 2016-03-23 12:35:38 +00:00
Mats
7694d311d1 Reimplement effect indicator 2016-03-23 12:42:03 +01:00
Mats
eee1fd941e Fix small teampacket bug 2016-03-23 11:34:13 +01:00
Myles
b4b85b1602 Merge pull request #266 from HugoDaBosss/apiv2
Implement new Config API at some more places
2016-03-22 23:23:50 +00:00
Hugo Kerstens
f6bb1b48f5 Implement new Config API at some more places 2016-03-22 23:35:01 +01:00
Myles
4ce846a899 Make more errors informative :) 2016-03-22 19:37:15 +00:00
Myles
ef08117f34 oops ;) better read the tin better 2016-03-22 19:28:37 +00:00
Myles
4b582a7279 Make PacketWrapper exceptions more informative :) 2016-03-22 19:27:27 +00:00
Hugo Kerstens
6e46d018a4 Removed import? 2016-03-22 20:18:07 +01:00
Hugo Kerstens
e15c8d7257 Optimise sound searching 2016-03-22 20:16:39 +01:00
Hugo Kerstens
3518804cbf Remove some debug code 2016-03-22 20:11:24 +01:00
Myles
101f86c8cd Merge pull request #263 from HugoDaBosss/apiv2
Fixed spawn experience orb packet
2016-03-22 18:32:42 +00:00
Hugo Kerstens
22c2435656 Fixed spawn experience orb packet 2016-03-22 19:30:24 +01:00
Myles
af53275ab9 JavaDoc for quite a lot of the API classes... yay 2016-03-22 18:02:46 +00:00
Myles
eccbb567e8 Clean up some code in Base and MetaIndex 2016-03-22 16:56:36 +00:00
Myles
bae3599388 Update DEBUG to work in APIv2, also fix a few usages to the config API (may need more) 2016-03-22 16:53:07 +00:00
Myles
88ab4e53a7 Merge pull request #261 from HugoDaBosss/apiv2
Add config option to suppress 'Unable to get entity for ID' errors (apiv2)
2016-03-22 16:48:13 +00:00
Hugo Kerstens
25fa2eabbb Small update for descriptions 2016-03-22 17:22:49 +01:00
Hugo Kerstens
e12d8ec466 Add descriptions for the new Config API 2016-03-22 17:17:13 +01:00
Hugo Kerstens
a7022bddf8 Small typo 2016-03-22 17:00:13 +01:00
Hugo Kerstens
523c27237d Small changes for the new Config API 2016-03-22 16:55:58 +01:00
Hugo Kerstens
147891f76b Implement config to the API 2016-03-22 16:53:53 +01:00
Myles
a5ba52ce05 Rename ChunkHandler
Introduce Packet Filtering
2016-03-22 15:36:11 +00:00
Hugo Kerstens
ccb2a4756f Add config option to suppress 'Unable to get entity for ID' errors 2016-03-22 16:27:39 +01:00
Myles
f5a96b791d Move listeners to respectful classes to be registered. 2016-03-22 15:03:02 +00:00
Myles
c628a8a23f Merge pull request #257 from HugoDaBosss/apiv2
Fix armorstands moving incorrectly when using relative movement packets (apiv2)
2016-03-22 14:38:33 +00:00
Hugo Kerstens
b225afe6ef Fix armorstands moving incorrectly when using relative movement packets 2016-03-22 15:28:00 +01:00
Hugo Kerstens
5c4867365e Fix armorstands moving incorrectly when using relative movement packets 2016-03-22 15:22:21 +01:00
Myles
3549a823cb Don't move when relative 2016-03-22 12:07:43 +00:00
Myles
57931e7231 Patch inventory shield bug 2016-03-21 22:28:11 +00:00
Myles
9e19e0c8af Patch inventory sword bug 2016-03-21 22:24:03 +00:00
Myles
74461609c1 Change to use maps, much better for optimisation. 2016-03-21 19:42:52 +00:00
Myles
7d3e6bc7cb This is why people should read over code :)) 2016-03-21 19:13:55 +00:00
Myles
b226e94981 Patch the other mem leak fix across 2016-03-19 23:49:26 +00:00
Myles
7d0687aa4a Fix chance of another leak happening... 2016-03-19 23:47:03 +00:00
Myles
d152b8b9e1 Merge branch 'master' into apiv2 2016-03-19 22:05:57 +00:00
Myles
1fbd561aec Oops, fix 1.8 clients 2016-03-19 22:04:17 +00:00
Myles
a8295c9de0 Merge pull request #254 from Matsv/ifremoveifremoveif
Remove unnecessary if statement, this is always true.
2016-03-19 21:37:04 +00:00
Mats
e894a3c733 Remove unnecessary if statement, this is always true. 2016-03-19 21:53:26 +01:00
Myles
a2f8f28010 Fix memory leak, add command. Merge from master 2016-03-19 20:51:23 +00:00
Myles
704c876772 One line of code can make holes in the world, one line can fix them. (Fixes packet mem leak, also adds useful secret displayleaks command :) ) 2016-03-19 20:45:07 +00:00
BuildTools
5ae8a35740 Change protocol constants to final fields 2016-03-19 01:11:16 +01:00
HugoDaBosss
9b6a9fca3d Small optimization for armor searching 2016-03-18 22:57:16 +01:00
Myles
625a1d2191 Eventually we should have some sort of handler for this, but this is fine for now 2016-03-18 21:22:09 +00:00
Myles
8a35c0235e Move everything into the right package.
Clean up a lot of code.
Remove PacketUtil (evil laugh)
Add Pipeline Util
Organise listeners, and add protocol pipe checks
2016-03-18 21:18:48 +00:00
Myles
69e8ddcbf6 Update to match master and all current fixes 2016-03-18 20:22:38 +00:00
Myles
ce8a504750 Merge from other branch to ensure we don't have to redo some of these patches 2016-03-18 18:25:58 +00:00
Myles
11f3844d63 Use GSON instead, should fix memory leak issue with JSON. Also make sure that we use a copy of players for the bossbar. 2016-03-18 18:14:58 +00:00
Myles
56d5f8eec6 Add protocol registry.
Fix some issues with PacketWrapper
Add 1.9.1 port
Add ProtocolVersion detection on boot
Add more type converters
Implement Pipeline properly
2016-03-17 21:24:25 +00:00
Myles
7a98cdd28f Remove more debug code
Correct casting detector in packet wrapper.
Re-order some packets
Implement Plugin Message Transformers
Implement Sound Transformer
Implement Block Entity Transformer
2016-03-17 13:58:49 +00:00
Myles
ccda9f11c8 Remove some debug info, make it so StoredObject protects user.
Implement rewriting of Slot in rewriter.
Implement Enchanting Patch
Implement Brewing Patch
Implement Auto-Team Patch
Implement Inventory Tracker
Remove some TODOs
Implement Item Throwing on elytra
(Should just be plugin channels and a few packets + sounds left)
2016-03-16 23:34:03 +00:00
Myles
7e133a0be8 Include UserConnection in StoredObject
Handle Blocking
Handle BossBars, Holograms
2016-03-16 21:52:00 +00:00
Mats
d0e573613b Add api method to get player's protocol id, 2016-03-16 21:01:04 +01:00
Myles
2197b938f8 Implement ItemRewritter
Upgrade ViaIdleThread to new system
Add new method to ProtocolPipeline
Implement Use Item
2016-03-16 19:46:16 +00:00
Myles
0d3ba67233 Remove compress / decompress, rethrow errors if they occur from another handler, Fixes #233 2016-03-16 13:42:17 +00:00
Myles
d98d4ff466 Merge pull request #236 from Matsv/meta11
Discountinue player metadata 11.
2016-03-15 21:06:37 +00:00
Myles
71e27b4799 Merge pull request #232 from Matsv/dropcreative
Throw items when you try to put things in your second hand in creative.
2016-03-15 21:06:04 +00:00
Mats
4d82112286 Discountinue metadata 11. 2016-03-15 21:42:40 +01:00
Mats
ba5a44d2d2 Remove debug message 2016-03-15 20:40:26 +01:00
Mats
597ddc7f82 Throw items when you try to put things in your second hand in creative. 2016-03-15 20:37:45 +01:00
Mats
6a7bd209a3 Make it possible to use the new effect indicators in 1.9 2016-03-15 20:20:39 +01:00
Mats
daed15d61f Make compatible with ServerListPlus custom outdated message. Fix #227 2016-03-15 14:14:10 +01:00
Myles
c300c47a14 Implement Optional UUIDs
Implement Meta Rewriting
Implement Type Converters

Implement System so it can be tested.

Most of it works excluding the missing packets, also fixes some stupid mistakes :)
2016-03-15 00:34:20 +00:00
Myles
89427cb2da PacketWrapper now has an ID attached and can be reset so that it can be read from stored values.
Removed some parameters from protocol, the ID will now be attached to the PacketWrapper (made more sense)
BaseProtocol doesn't handle ProtocolInfo anymore
Implement ProtocolPipeline (WIP)
2016-03-14 18:05:29 +00:00
Myles
fce7f1740e Add packet cancelling, implement quite a few of the todo's 2016-03-14 16:51:56 +00:00
Myles
0357d8e6aa Implement Partial Types (Types which require constructing with info), Implement Items, Implement NBT, add exceptions so they go down the tree! 2016-03-14 16:09:50 +00:00
Myles
55335944e3 Update apiv2 to match master 2016-03-14 12:59:15 +00:00
Myles
c0b2985343 Just a reminder :) 2016-03-14 12:55:17 +00:00
Myles
91ae5990b1 Almost forgot response handler woops, also allow PacketWrapper to be modifier :) 2016-03-14 12:48:05 +00:00
Myles
33f1a8975c Another quite big update:
Implement Unsigned Short
Implement Most of the Incoming Packets (Still need to implement a few, when I add some sort of packet sending / id changing and packet cancelling)
Implement a base protocol

Still need to do plugin messaging (I will probably forget)
2016-03-14 12:40:23 +00:00
Myles
9b28129187 Using PacketType as a checklist, implement most of the base outgoing packets.
Add new REMAINING_BYTES type.
Add an outline of what ItemType will be like
Add a passthrough option to PacketWrapper to make it easy to passthrough and grab the type.
By default passthrough all the bytes :)
2016-03-13 17:01:36 +00:00
Mats
78ab7c840a Fix #209 woops my fault 2016-03-13 16:48:07 +01:00
Mats
dd32b46055 Remove unused imports 2016-03-13 16:13:45 +01:00
Mats
7daa43146e Drop spacehq MC protocol since it's no longer used 2016-03-13 16:12:31 +01:00
Mats
53fb753284 Fix armor not showing on Respawn (With keepinventory true) & world change 2016-03-13 15:22:23 +01:00
Myles
81d89d3839 Rename methods in UserConnection, add new PacketHandler.
Change the protection of some methods to be appropriate.
Actually register packets
Save entity types
2016-03-13 13:40:53 +00:00
Mats
7d7f5a0bda Fix unable to open commandblock after respawn/world change 2016-03-13 14:02:10 +01:00
Mats
62d210de68 Fix commandblocks not able to change command on every-tick commandblock update 2016-03-13 11:06:18 +01:00
Myles
e19a2920b9 API: Work towards rewriting metadata, (This is nowhere near finished and I need to work on Item and NBT), Also change the names of a few classes to be more appropriate and implement transformation of the doubles.
(I probably messed up somewhere, nothing is tested as this is essentially API design)
2016-03-12 22:33:43 +00:00
Myles
44a044848f Fix ServerConnection #198 2016-03-12 20:48:04 +00:00
Myles
4f133366e1 Add limitation to NBT data, we'll stick with this for now. I don't see this easily being beaten. 2016-03-12 20:41:04 +00:00
Lennart ten Wolde
e436988303 transform chunk bulk packets 2016-03-12 15:47:35 +01:00
Lennart ten Wolde
8b65efc4bd Implement new chunk transformer 2016-03-12 13:58:10 +01:00
Myles
7cff20f218 Intitial APIv2, this does not work. Type conversion is not implemented, as well as quite a few things, most things will probably change. 2016-03-11 23:07:13 +00:00