Commit Graph

46 Commits

Author SHA1 Message Date
Camotoy 50f295b4cd
Remove unneeded GeyserItemStack constructor and add comments 2021-01-04 18:19:43 -05:00
AJ Ferguson 8928d554a1 WIP autocrafting using java recipe book
work in progress. many edge cases are currently unhandled. will not work at all pre 1.12. (support is planned)
2021-01-03 17:54:26 -09:00
Camotoy 7a82852134
Merge branch 'server-inventory' of https://github.com/GeyserMC/Geyser into server-inventory 2021-01-01 14:22:44 -05:00
Camotoy 8317961340
Merge branch 'master' of https://github.com/GeyserMC/Geyser into server-inventory 2021-01-01 14:20:52 -05:00
Camotoy 186d94917a
Update copyright to 2021 (#1772)
* Update copyright to 2021

Free commit!

* These don't need a copyright

* Don't downgrade the mappings
2021-01-01 10:10:36 -05:00
AJ Ferguson b7b3278d8b item painting. cursor net id 2020-12-31 17:39:54 -09:00
Camotoy 3c1a40c56a
Better net ID handling 2020-12-29 19:59:22 -05:00
Camotoy f4b1d470c3
Merge branch 'server-inventory' of https://github.com/AJ-Ferguson/Geyser into server-inventory 2020-12-29 19:02:11 -05:00
Camotoy 2265de3ae9
lecterns 2020-12-28 00:29:27 -05:00
Camotoy 790c695b27
Add TODO 2020-12-27 11:08:48 -05:00
Camotoy 956d264c3e
Anvil renaming works; other things 2020-12-26 22:55:14 -05:00
AJ Ferguson 60da3b9432 Temp slot 2020-12-26 18:44:48 -09:00
Camotoy 078af59249
Streamline Item Net ID getting; cartography table finished 2020-12-26 16:41:50 -05:00
Camotoy c1f5380ed1
Add horse inventory support 2020-12-26 12:20:59 -05:00
Camotoy c7fade295e
Add swap support for creative mode; start on cartography table 2020-12-24 20:43:24 -05:00
Camotoy 3d0b0a1076
Stonecutter fixed; Loom improved 2020-12-24 18:29:25 -05:00
Camotoy 617a1216d5
Initial work on stonecutters 2020-12-24 11:23:47 -05:00
Camotoy 6ae81cce52
Full banner loom support 2020-12-23 22:53:54 -05:00
D3ATHBRINGER13 4d80edf6d9 Initial loom funtionality 2020-12-24 00:48:31 +00:00
Camotoy ff4f712eda
Implement beacon 2020-12-23 12:30:36 -05:00
Camotoy f4f804e1ca
Enchantment table works; anvil is almost there 2020-12-23 01:21:00 -05:00
Camotoy 009905184e
Add grindstone and smithing table 2020-12-21 22:44:01 -05:00
Camotoy c6b4d163a1
Improve creative support 2020-12-21 21:09:14 -05:00
DoctorMacc f47cf32d90
Make my life tolerable 2020-12-19 19:19:44 -05:00
DoctorMacc aa4a1058e3
Brewing stand support; other attempts 2020-12-17 21:47:18 -05:00
DoctorMacc 33a86485dc
Implement dropper/dispenser, hopper, shulker 2020-12-17 11:46:11 -05:00
DoctorMacc 929b0ba80c
Refactors, and add furnace 2020-12-16 23:52:45 -05:00
DoctorMacc 988e697a70
Crafting table works 2020-12-15 23:33:17 -05:00
DoctorMacc 3b3e72d5c3
Initial crafting table support 2020-12-15 23:01:27 -05:00
DoctorMacc 049242db4b
Update to 1.16.200 2020-12-09 01:12:02 -05:00
Camotoy 123b074cc7
Update to Bedrock 1.16.100 (#1552)
* Initial work on 1.16.100 - currently crashes the client

* Update runtime item states

* Use new Bedrock runtime IDs

Bedrock now hardcodes block runtime IDs in alphabetical order of the identifiers. This commit updates Geyser to accomodate.

- Remove runtime_block_states.dat and replace it with blockpalette.nbt
- Calculate the block runtime ID based on the order of the block palette
- Separate BlockTranslator.AIR into Bedrock and Java values
- Update the second layer of chunks to use air when not waterlogged
- Don't send item palette for now, as that's what crashes the game (will look into for v415)
- Other misc. changes

* Improve second layer chunk translation

* v415 support

- Add a message warning people they are on a beta version of Geyser

* Update to protocol v417

There are still some mappings changes that need to be gone through.

* Update runtime item states and clean up item frames

* Future-proof enchanment table

* Update for v418

* Update to v419

* Apply proper air ID to waterlogged chunk layer

* Fix missing import

* Remove beta warning

* Update mappings

* Manually patch runtime_item_states and send the ITEMS registry

* Update README

* Disable grindstone and smithing inventories (since they're broken)

* Use artifactory jenkins plugin (#1548)

* Use artifactory jenkins plugin

* Bump version to 1.2.0-SNAPSHOT

Co-authored-by: SupremeMortal <6178101+SupremeMortal@users.noreply.github.com>
2020-11-17 11:03:12 -06:00
AJ Ferguson 7f4b588cdf server inventory. WORK IN PROGRESS
wip commit of implementing server authoritative inventories. there is a lot of experimental and debug code. this is NOT ready for testing or review.
2020-10-16 15:25:05 -08:00
Camotoy 7fcfa7d54d
Implement an enchantment table GUI (#1177)
Until 1.16, enchantment tables were impossible to implement properly in Geyser. When a user selects an enchantment in Bedrock, the client creates the book on its end and assumes the server is OK with it. Java requires a button to be pressed to select the enchantment. With 1.16, server authoritative inventories remove that on Bedrock. However, until our inventory rewrite is finished we are still stuck without enchantment table support. This commit serves as an alternative as we wait.

Enchantment table GUI support is still impossible since we are using the pre-1.16 inventory system. To solve this, this commit replaces the enchantment table GUI with a hopper GUI. The first slot serves as the spot you place the weapon. The second slot acts as the lapis slot - Geyser prevents any item from going in there that is not lapis. The final three slots act as the buttons; an enchanted book acts as each button, with the ability to show the translated text of each enchantment.

https://cdn.discordapp.com/attachments/613194828359925800/746164042359504927/unknown.png
2020-08-20 20:53:47 -04:00
DoctorMacc 6e94428f60 Non-working smithing table inventory support 2020-06-28 01:53:35 -04:00
DoctorMacc ea1a9e5427 Bedrock 1.16 updating part 1 2020-06-22 20:11:09 -04:00
DoctorMacc 4c5d80e2e9 Update to latest master 2020-06-05 22:52:11 -04:00
RednedEpic 6b68bbb413 Large refactoring to item translator and registry/util classes
- Merged ItemTranslator and ItemStackTranslator together.
- Split ItemTranslator into two classes: ItemTranslator and ItemRegistry. The registry is where items are registered, and the translator class is where item translation takes place.
- Made most of ItemTranslator's methods static and removed the initialization in Toolbox.
- Moved a handful of registry classes previously ending with 'Utils' to a 'Registry' class to be more fitting for the term.
- Moved inventory and block entity registration out of Translators.
- Renamed Translators to PacketTranslatorRegistry.
- Yeeted Toolbox.
- Minor cleanups and small refactors.
2020-05-24 20:07:05 -05:00
AJ Ferguson bfca25bbe3 Fix compile errors 2020-02-25 22:31:55 -09:00
AJ Ferguson 1a9aa4255f Some refactoring and bug fixes
Still much to do.
Inventory desyncing when crafting will be fixed soon.
2020-01-30 16:05:57 -09:00
AJ Ferguson 5e5aeed578 Merge remote-tracking branch 'remotes/upstream/master' into inventory 2020-01-30 12:08:39 -09:00
RednedEpic dc594ee22c Update license headers
Certain headers for classes that are to be removed (e.g. plugin api) were not updated to prevent merge conflicts.
2020-01-08 21:05:42 -06:00
AJ Ferguson d07404406b Cleanup and fixes 2019-12-01 16:28:09 -09:00
AJ Ferguson 489c39e900 Start adding support for crafting
Expect bugs
2019-11-27 18:55:58 -09:00
AJ Ferguson 625817c282 Implement some more windows
anvil, brewing stand, crafting table (still no crafting yet), shulker box
2019-11-05 14:17:22 -09:00
AJ Ferguson 88648f705e Work on inventory transactions
work in progress
2019-10-20 13:25:41 -08:00
RednedEpic 635a26dd60 Start work on inventory/item translators 2019-07-29 17:20:48 -05:00