78cf875080
Quick-fix for crafting with big crafting grid after cancelling PlayerInteractEvent on a crafting table
...
this is not an ideal solution, but it works. Crafting is messy and is going to need more refactoring. Fixes #1480
2017-11-28 19:23:26 +00:00
878f1bffb9
CraftingTransaction: Don't hardcode crafting grid sizes
2017-11-28 17:29:53 +00:00
98ac6fc7be
Check inventory slot is in range in SlotChangeAction
2017-11-28 16:56:02 +00:00
686e1c4470
Implement ender chest ( #1462 )
2017-11-22 14:25:21 +00:00
74b074753f
Bulk addition of constant visibilities
...
thanks PhpStorm inspections plugin for annoying the shit out of me until
I did this.
2017-11-21 14:44:10 +00:00
b7cd8dbfa9
Fixed CraftingManager->cloneItemMap() being utterly useless
2017-10-31 19:01:03 +00:00
1486b5aa71
make more properties in CraftingManager protected
2017-10-31 18:49:49 +00:00
ea09cc06c7
added UUID constants for MultiRecipe
2017-10-30 11:18:56 +00:00
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
f14b7cbf78
Renamed BlockEventPacket fields
2017-10-16 19:55:42 +01:00
fd847f02ad
Added BaseInventory->dropContents()
2017-10-16 12:18:06 +01:00
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
04668d534d
Oops, these fields need to be filled
2017-10-16 11:50:34 +01:00
092cc2750f
Added entity unique ID for Entity containers
...
minecart with chest for example
2017-10-16 11:49:34 +01:00
68809d992b
Added BaseInventory->removeAllViewers()
2017-10-16 11:15:03 +01:00
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
cc553a157d
Clean up BlockEventPacket handling for Chests and fix wrong data for chest open
2017-10-13 20:07:33 +01:00
1a88f59b23
Moved some stuff from join to login
...
this is how it should be
2017-10-08 19:38:03 +01:00
5a6812357b
imports
2017-10-03 11:34:41 +01:00
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
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
c448f4a3b5
Added handling for reflected ShapedRecipe crafting, close #1415
2017-09-28 18:45:22 +01:00
52bd042bde
BaseInventory: Don't keep calling getSize() over and over and over again
2017-09-27 11:24:21 +01:00
4b63a22f8c
More use of Item->isNull()
2017-09-27 11:05:40 +01:00
c47f1f572c
Added API method Item->pop()
2017-09-27 10:56:04 +01:00
6b0ac8adb8
Don't overwrite the input map with reindexed stuff
...
we might need this again?
2017-09-24 19:17:00 +01:00
240cc3043a
Rewritten crafting, fixed #45
2017-09-24 14:14:24 +01:00
f01ce8e994
null and void typehints
2017-09-21 12:54:04 +01:00
d89b8cf12e
Clean up SlotChangeAction inventory handling
2017-09-21 12:44:03 +01:00
6aa9b081e9
Cleanup unused imports
2017-09-21 12:26:41 +01:00
dbed80386a
Removed redundant interface
2017-09-21 12:22:47 +01:00
ee052f91d4
Fixed some air items with count 1 instead of 0
2017-09-21 10:30:14 +01:00
ef6250967f
Use Item->isNull() more
2017-09-21 10:29:29 +01:00
55720d9f0a
Added InventoryAction->onPreExecute(), fixed PlayerDropItemEvent deleting items
2017-09-20 12:19:42 +01:00
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
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
4a1fc1bdf7
don't try to send contents during inventory construction
2017-09-20 10:18:24 +01:00
38e11aae5e
Some cleanup to how EntityInventoryChangeEvents are handled
2017-09-20 10:13:05 +01:00
f0755d1659
Fixed handling of recipes that require a crafting table
2017-09-20 09:43:49 +01:00
fd33a65e3b
Small cleanup of recipe UUID handling (furnace recipes don't need UUIDs)
2017-09-20 09:34:00 +01:00
ca23864e4c
CraftingManager: use null coalesce for matching furnace recipes
2017-09-19 20:03:21 +01:00
8728547a11
Remove unused imports
2017-09-19 19:58:53 +01:00
90fb3c5e12
Moved getNetworkType() to ContainerInventory since it's not used anywhere else
2017-09-19 19:57:22 +01:00
1323d89139
Remove redundant duplicated code for sendContents() and sendSlot()
2017-09-19 19:07:12 +01:00
136ab1dba1
Inventory->getItem(): Removed useless clones
...
this already returns a copy of the item anyway... wtf?
2017-09-19 18:49:08 +01:00
8cae20e818
Removed hotbar slot linking (works like PC now)
2017-09-19 18:36:57 +01:00
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
bd64172750
Added API method Item->equalsExact() and removed some boilerplate code
2017-09-15 16:48:46 +01:00
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
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