Dylan K. Taylor
b7cd8dbfa9
Fixed CraftingManager->cloneItemMap() being utterly useless
2017-10-31 19:01:03 +00:00
Dylan K. Taylor
1486b5aa71
make more properties in CraftingManager protected
2017-10-31 18:49:49 +00:00
Dylan K. Taylor
ea09cc06c7
added UUID constants for MultiRecipe
2017-10-30 11:18:56 +00:00
Dylan K. Taylor
f79e4237df
Cache a compressed CraftingDataPacket to reduce workload on player join
...
this saves only a couple of ms per player join, but still worth it.
2017-10-29 09:57:55 +00:00
Dylan K. Taylor
f14b7cbf78
Renamed BlockEventPacket fields
2017-10-16 19:55:42 +01:00
Dylan K. Taylor
fd847f02ad
Added BaseInventory->dropContents()
2017-10-16 12:18:06 +01:00
Dylan K. Taylor
18d3a97466
Anvil result slot is not a real inventory slot
...
like the crafting grid result slot, this doesn't actually exist, it's
just somewhere you get the result item from.
2017-10-16 12:00:43 +01:00
Dylan K. Taylor
04668d534d
Oops, these fields need to be filled
2017-10-16 11:50:34 +01:00
Dylan K. Taylor
092cc2750f
Added entity unique ID for Entity containers
...
minecart with chest for example
2017-10-16 11:49:34 +01:00
Dylan K. Taylor
68809d992b
Added BaseInventory->removeAllViewers()
2017-10-16 11:15:03 +01:00
Dylan K. Taylor
97e2d64592
"Fixed" shift-clicking recipe book, close #1401
...
this is not an optimal solution because you'll still only get 1 crafting
event when the user actually crafted a lot of items, so this isn't very
nice for plugins to work with. However, for gameplay purposes it works,
so it'll do for now.
2017-10-15 18:08:32 +01:00
Dylan K. Taylor
cc553a157d
Clean up BlockEventPacket handling for Chests and fix wrong data for chest open
2017-10-13 20:07:33 +01:00
Dylan K. Taylor
1a88f59b23
Moved some stuff from join to login
...
this is how it should be
2017-10-08 19:38:03 +01:00
Dylan K. Taylor
5a6812357b
imports
2017-10-03 11:34:41 +01:00
Dylan K. Taylor
ca401ec3f5
Force-close the crafting window only when doing crafting transactions
...
otherwise the client will crash when using right-click on the recipe book
2017-10-03 11:33:09 +01:00
Dylan K. Taylor
9bbebaa071
Force-close the inventory window when crafting fails to avoid desync issues
...
mojang, why does this have to be hard work
2017-10-03 11:04:21 +01:00
Dylan K. Taylor
c448f4a3b5
Added handling for reflected ShapedRecipe crafting, close #1415
2017-09-28 18:45:22 +01:00
Dylan K. Taylor
52bd042bde
BaseInventory: Don't keep calling getSize() over and over and over again
2017-09-27 11:24:21 +01:00
Dylan K. Taylor
4b63a22f8c
More use of Item->isNull()
2017-09-27 11:05:40 +01:00
Dylan K. Taylor
c47f1f572c
Added API method Item->pop()
2017-09-27 10:56:04 +01:00
Dylan K. Taylor
6b0ac8adb8
Don't overwrite the input map with reindexed stuff
...
we might need this again?
2017-09-24 19:17:00 +01:00
Dylan K. Taylor
240cc3043a
Rewritten crafting, fixed #45
2017-09-24 14:14:24 +01:00
Dylan K. Taylor
f01ce8e994
null and void typehints
2017-09-21 12:54:04 +01:00
Dylan K. Taylor
d89b8cf12e
Clean up SlotChangeAction inventory handling
2017-09-21 12:44:03 +01:00
Dylan K. Taylor
6aa9b081e9
Cleanup unused imports
2017-09-21 12:26:41 +01:00
Dylan K. Taylor
dbed80386a
Removed redundant interface
2017-09-21 12:22:47 +01:00
Dylan K. Taylor
ee052f91d4
Fixed some air items with count 1 instead of 0
2017-09-21 10:30:14 +01:00
Dylan K. Taylor
ef6250967f
Use Item->isNull() more
2017-09-21 10:29:29 +01:00
Dylan K. Taylor
55720d9f0a
Added InventoryAction->onPreExecute(), fixed PlayerDropItemEvent deleting items
2017-09-20 12:19:42 +01:00
Dylan K. Taylor
0262465a26
Fixed dupe cake glitch
...
this is what happens when you try to be clever when not properly awake
2017-09-20 11:19:15 +01:00
Dylan K. Taylor
7996a7b08c
Testing handling multiple result items for ShapedRecipes
...
this doesn't work yet, I wanted to see how glitchy it is with cakes. The answer is: very glitchy.
2017-09-20 11:14:09 +01:00
Dylan K. Taylor
4a1fc1bdf7
don't try to send contents during inventory construction
2017-09-20 10:18:24 +01:00
Dylan K. Taylor
38e11aae5e
Some cleanup to how EntityInventoryChangeEvents are handled
2017-09-20 10:13:05 +01:00
Dylan K. Taylor
f0755d1659
Fixed handling of recipes that require a crafting table
2017-09-20 09:43:49 +01:00
Dylan K. Taylor
fd33a65e3b
Small cleanup of recipe UUID handling (furnace recipes don't need UUIDs)
2017-09-20 09:34:00 +01:00
Dylan K. Taylor
ca23864e4c
CraftingManager: use null coalesce for matching furnace recipes
2017-09-19 20:03:21 +01:00
Dylan K. Taylor
8728547a11
Remove unused imports
2017-09-19 19:58:53 +01:00
Dylan K. Taylor
90fb3c5e12
Moved getNetworkType() to ContainerInventory since it's not used anywhere else
2017-09-19 19:57:22 +01:00
Dylan K. Taylor
1323d89139
Remove redundant duplicated code for sendContents() and sendSlot()
2017-09-19 19:07:12 +01:00
Dylan K. Taylor
136ab1dba1
Inventory->getItem(): Removed useless clones
...
this already returns a copy of the item anyway... wtf?
2017-09-19 18:49:08 +01:00
Dylan K. Taylor
8cae20e818
Removed hotbar slot linking (works like PC now)
2017-09-19 18:36:57 +01:00
Dylan K. Taylor
642c7733cd
Cleaned up ShapedRecipe handling, ShapedRecipe API changes
...
use shapes from json instead of just generating maps
fix a ton of bugs
2017-09-17 11:45:16 +01:00
Dylan K. Taylor
bd64172750
Added API method Item->equalsExact() and removed some boilerplate code
2017-09-15 16:48:46 +01:00
Dylan K. Taylor
63634d7e7d
Added compaction and sorting for repeated slot changes in a single transaction
...
Now items should be able to move around the crafting grid correctly.
2017-09-15 13:32:17 +01:00
Dylan K. Taylor
c1c290cd39
Beware matching items that aren't actually correct
...
This would only ever happen if we received the actions in the wrong order, but that wouldn't surprise me.
2017-09-13 11:37:10 +01:00
Dylan K. Taylor
23a38400e2
Added CraftingGrid and BigCraftingGrid, WIP stuff for crafting
...
moving whole stacks in & out of the crafting grid works now, splitting stacks is fucked up because the transaction system can't handle the same slot changing multiple times in one transaction
2017-09-12 19:34:06 +01:00
Dylan K. Taylor
297172d111
Send creative inventory for all gamemodes, fixed recipe book
2017-09-12 14:40:16 +01:00
Dylan K. Taylor
78d49f8e66
Merge branch 'php/7.0' into mcpe-1.2
2017-09-03 15:02:41 +01:00
Dylan K. Taylor
0b83c61494
Fixed cyclic reference with chest tiles and DoubleChestInventory
2017-09-03 11:24:34 +01:00
Dylan K. Taylor
a6c0f1512c
Send the hotbar instead of contents when resetting hotbar
...
This used to be fine before 1.2, but now hotbar is handled separately.
2017-09-02 11:07:14 +01:00