{"action":"created","issue":{"url":"https://api.github.com/repos/iTXTech/Genisys/issues/1621","repository_url":"https://api.github.com/repos/iTXTech/Genisys","labels_url":"https://api.github.com/repos/iTXTech/Genisys/issues/1621/labels{/name}","comments_url":"https://api.github.com/repos/iTXTech/Genisys/issues/1621/comments","events_url":"https://api.github.com/repos/iTXTech/Genisys/issues/1621/events","html_url":"https://github.com/iTXTech/Genisys/pull/1621","id":169976451,"number":1621,"title":"[TESTERS NEEDED] Windows 10 Edition support + whopping stack of inventory/hotbar bug fixes","user":{"login":"dktapps","id":14214667,"avatar_url":"https://avatars.githubusercontent.com/u/14214667?v=3","gravatar_id":"","url":"https://api.github.com/users/dktapps","html_url":"https://github.com/dktapps","followers_url":"https://api.github.com/users/dktapps/followers","following_url":"https://api.github.com/users/dktapps/following{/other_user}","gists_url":"https://api.github.com/users/dktapps/gists{/gist_id}","starred_url":"https://api.github.com/users/dktapps/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dktapps/subscriptions","organizations_url":"https://api.github.com/users/dktapps/orgs","repos_url":"https://api.github.com/users/dktapps/repos","events_url":"https://api.github.com/users/dktapps/events{/privacy}","received_events_url":"https://api.github.com/users/dktapps/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":69,"created_at":"2016-08-08T17:17:40Z","updated_at":"2016-08-14T16:34:08Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/iTXTech/Genisys/pulls/1621","html_url":"https://github.com/iTXTech/Genisys/pull/1621","diff_url":"https://github.com/iTXTech/Genisys/pull/1621.diff","patch_url":"https://github.com/iTXTech/Genisys/pull/1621.patch"},"body":"## Before we begin\r\nI would like to ask for the approval of AT LEAST 4 reviewers before this PR is merged. This is a BIG update. I also would like testers from every platform if possible - Android, iOS, Windows, GearVR (If I missed any here, feel free to correct me).\r\n\r\n## Description\r\nThis PR has been a long time coming. But finally, it's here. Windows 10 Edition support, plus a gigantic stack of inventory and hotbar fixes all round.\r\n\r\n## Credits (apart from myself)\r\nI owe thanks to @extremeheat for his P.O.C. patches for Win10 Edition. The FloatingInventory concept came from there, as did the concept for the Win10 crafting fixes. The original patches can be seen [here](https://gist.github.com/extremeheat/f1e9e0b8ca884727e6a3abfc7bfdc5a3).\r\n\r\n## Fixes\r\n#### Windows 10 Edition\r\n- Crafting\r\n- Pressing Q to drop items one at a time works\r\n- Left-click-drag works beautifully (even despite the DDoS)\r\n- Issues with items not appearing in the hotbar have been mostly eliminated (I am aware that sometimes items obtained by /give do not show up, but that's not my fault.)\r\n\r\n#### Pocket Edition\r\n- Chests: Remember the stupid bug where you'd try to transfer items to a chest and they'd reappear in your inventory? Say goodbye to it, it's gone and buried.\r\n- Anvils: The bug where they'd close immediately when used is gone.\r\n\r\n#### All platforms\r\n- HOTBAR. The hotbar has been the single most annoying buggy thing in PM since forever. Hotbar now works pretty much flawlessly on PE and Windows 10 both.\r\n- Inventory: Every inventory spaz you care to name is fixed.\r\n- Held item sending: Thanks to @svilex for breaking it, but that is _also_ fixed.\r\n- Armour equipment: Bugs where armour would vanish have been fixed.\r\n- Creative: Hotbar bugs, chest bugs, crafting bugs, bugs, bugs, bugs - fixed.\r\n\r\n## Changes\r\n- **An enormously powerful new inventory anti-cheat system**. It's next to impossible to dupe items, hack items in, lose items, etc. (#1626) Say goodbye to players using hacks to cheat items in.\r\n- FloatingInventory. This is used to store items in-between transactions. If you remove and item from your inventory, it goes into here. The FloatingInventory is also currently used for Win10 crafting materials due to Win10 bugs (Windows 10 doesn't tell the host what's in the crafting grid: https://bugs.mojang.com/browse/MCPE-16366).\r\n- Inventory transaction processing now makes use of a transaction queue. Transactions sent by the client are queued for execution. Failed transactions are retried up to 5 times. This fixes an enormous stack of issues with chests in PE.\r\n- `PlayerInventory::setHotbarSlotIndex($index, $slot)` has been deprecated due to the massive issues it causes with Windows 10 Edition. Hotbar slot linkages will now only be changed if directly requested by the client in a MobEquipmentPacket. The reason for this is that on Win10 hotbar slots are ALWAYS linked to the first 9 slots. (Blame Mojang for allowing them to be changed on Win10.)\r\n- Enchanting tables now open inventories per-player and do not have an inventory tied to their tile. This is because enchanting tables do not have permanent inventories, and setting enchanting table contents server-side causes clients to crash.\r\n- Anti-cheat inventory transaction processing can now be disabled in genisys.yml. This is required for enchanting tables and anvils to work on Win10 currently (#blamemojang for Win10 bugs).\r\n- InventoryTransactionEvent has been removed since it is impossible to pair transactions in Win10.\r\n- Inventory custom size options have also been removed due to crashes on Win10 Edition.\r\n\r\n## Known issues\r\n- Anvils and enchanting tables do not currently work on Windows 10 Edition unless `inventory.allow-cheats` is set to `true` in `genisys.yml`. This is because of bugs in Win10 which make it impossible to process anti-cheats. Fixes for this will be incoming in the near future.\r\n- Crafting: Some recipes cannot be placed anywhere in the crafting grid like they can in vanilla. My next job is an upcoming crafting rewrite in which I will attempt to resolve this issue.\r\n- Occasional random segmentation faults have been spotted. I believe this to be a pthreads issue. If anyone can verify this or find the cause, it would be much appreciated.\r\n\r\n## Things all devs should be aware of\r\n- **Hacks to fix client bugs should be superficial and easy to remove once the bug is fixed.**\r\n- Packet bouncing is the root of all evil.\r\n\r\n## Reason to modify\r\nSupport Windows 10 Edition Beta, Gear VR Edition and fix all of the bugs mentioned above.\r\n\r\n## Tests & Reviews\r\nThis update has been in testing for weeks. I've changed a LOT of things for this, and it's impossible for me to test every tiny little thing. I have however done very comprehensive testing and I believe that this update is now ready for production use.\r\n\r\n### Please review things below\r\n**I would like to require the approval of AT LEAST 4 reviewers** before this PR is merged. As I said, I've made a LOT of changes, and it's impossible for me to test every device. I have tested primarily on Windows 10 Edition and PE (Android). I'd like to ask for iOS testers and also Gear VR testers.\r\n\r\n# Let the reviewing begin!"},"comment":{"url":"https://api.github.com/repos/iTXTech/Genisys/issues/comments/239682939","html_url":"https://github.com/iTXTech/Genisys/pull/1621#issuecomment-239682939","issue_url":"https://api.github.com/repos/iTXTech/Genisys/issues/1621","id":239682939,"user":{"login":"ZedCee","id":20411465,"avatar_url":"https://avatars.githubusercontent.com/u/20411465?v=3","gravatar_id":"","url":"https://api.github.com/users/ZedCee","html_url":"https://github.com/ZedCee","followers_url":"https://api.github.com/users/ZedCee/followers","following_url":"https://api.github.com/users/ZedCee/following{/other_user}","gists_url":"https://api.github.com/users/ZedCee/gists{/gist_id}","starred_url":"https://api.github.com/users/ZedCee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ZedCee/subscriptions","organizations_url":"https://api.github.com/users/ZedCee/orgs","repos_url":"https://api.github.com/users/ZedCee/repos","events_url":"https://api.github.com/users/ZedCee/events{/privacy}","received_events_url":"https://api.github.com/users/ZedCee/received_events","type":"User","site_admin":false},"created_at":"2016-08-14T16:34:08Z","updated_at":"2016-08-14T16:34:08Z","body":"Have been using this for a bit now.\r\nFunctions quite well on any mobile device.  No more complaints about the hotbar or chests from my girlfriend.  \r\n\r\nI can only note a few random errors, but I believe those to be preexisting issues from the `master` that we can now venture out and tackle.\r\n\r\nThis needs to now be considered for further implementation of PRs as well\r\n\r\n---\r\n\r\nTested and stopped using master after. +1\r\n\r\n#### OS and versions\r\n* Genisys: c93b8c5\r\n* PHP: 7.0.9 (from Arch)\r\n* Server OS: Arch Linux\r\n* Game version: 0.15.4 iOS and Android"}}
{"actor":{"display_login":"ZedCee"}}