| Commit message (Collapse) | Author | Age | Lines |
| |
|
|
|
|
|
|
|
| |
If a plugin cancels a PlayerInteractEvent when left clicking a block the
client may have removed this block if they are in creative mode or if the
block breaks in a single hit. In this case, we need to update the client's
tile entity as well as telling it the block still exists.
|
|
|
|
|
|
|
|
| |
When a client tries to break a block it assumes it has done so unless told
otherwise by the server. This means the client also wipes out any tile
entity data it has for the block as well. We do not send this data when
updating the client so clients lose things like text on signs, skull type,
etc when they aren't allowed to break the block.
|
|
|
|
|
|
|
|
|
| |
Skulls need their tile entity in order to create an item correctly when
broken unlike every other block. Instead of sprinkling special cases all
over the code just override dropNaturally for skulls to read from their
tile entity and make sure everything that wants to drop them calls this
method before removing the block. There is only one case where this wasn't
already true so we end up with much less special casing.
|
|
|
|
|
|
|
|
|
|
|
| |
If a block is air we return immediately so miss the cleanup work that would
normally happen in this case in vanilla. This causes us to get in to a
situation where, due to odd packet sending from the client, we never
properly stop an attempt by the client to break a block and thus it
eventually breaks.
We also use our own variable for block damage and never sync it up with the
vanilla one so damage reporting to other clients is not always correct.
|
| |
|
|
|
|
|
|
|
|
|
| |
Skull blocks store their type in a tile entity and use their block data
as rotation. When breaking a block the block data is used for determining
what item to drop. Simply changing this to use the skull method for getting
their drop data is not enough because their tile entity is already gone.
Therefore we have to special case skulls to get the correct data _and_ get
that data before breaking the block.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added newlines at the end of files
Fixed improper line endings on some files
Matched start - end comments
Added some missing comments for diffs
Fixed syntax on some spots
Minimized some diff
Removed some no longer used files
Added comment on some required files with no changes
Fixed imports of items used once
Added imports for items used more than once
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
too many issues and blocking releases.
This reverts commits:
- d2d03afc8854394aeefb40ea5ebf224c8032b19f
- 6245746e91123dd8ef70e5f15b7cdfc7e36d8e8c
- 41fae5c613e9e69a8f6bdf33b23bb09d7f407433
- c34bdecab42cf4098054a5ea43e1c2958d44ae92
- d7445084ac9a90fa0b66d8b050b8d0d2a062eaf3
- 6a6ed2e6ae2328a8a791bcc6857c44dc6c6a7030
- a783bc4dc95da8e26c673abe48fad96b550aba28
- cb50fd68766df8e07631ba5be85759f8257e8068
- 34dfff2ad5c407c712b2783f02960aac5e8649f2
- f33b513820de987b49a4338e85df80968217a601
- 5fd9fdfde055e6eb6a83db246d009b69377b7c94
- 2795b116f40d06551fbb7b96d1963c0ddbeac384
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
BUKKIT-397 and fixes BUKKIT-1252
- Allows drops in creative mode by adding items to the getDrops() list
- Contents of containers are not reported
- Contents of storage minecarts are not reported
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
In order to avoid clients seeing blocks break, reappear, then break again due
to lag caused by plugins taking too long to process the BlockBreakEvent we
immediately tell the client the block is air then process the event. If the
event ends up being cancelled the client will get another packet telling them
the block still exists.
|
|
|
|
|
| |
We know these updates (can) break plugins bypassing Bukkit. They are needed for
smooth updates however. There will be another one right before before 1.1-R1.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Also minimized all the nms diffs and generic cleanups all around.
|
| |
|
|
|
|
| |
cancelled.
|
| |
|
|
|
|
|
| |
Plugins can now allow placing a block on an interactable object, by DENYing the
interact and ALLOWing the place.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Servers under high load suffer from tick-time degradation as severe as 1 tick
taking 0.25s (rather than 0.05s). This will failing blockbreaks.
|
| |
|
| |
|
| |
|
| |
|
| |
|