Dylan K. Taylor
5cca4b5e31
Revamp Sign API, flatten API into blocks
2019-02-28 17:10:37 +00:00
Dylan K. Taylor
f680a239f7
NetworkSession: some exception handling cleanup
2019-02-28 16:36:03 +00:00
Dylan K. Taylor
13b9fd7b66
RakLibInterface: Add error ID to make logs searchable when players report legitimate issues
2019-02-28 16:31:14 +00:00
Dylan K. Taylor
d528fdddfa
DataPacket: Remove useless abstract function
...
this is declared in the Packet interface, so it doesn't need to be here anymore.
2019-02-28 16:20:58 +00:00
Dylan K. Taylor
fb02071a9d
Traits suck. Fixed missed getDamage() from 9ad0ea85c7caeea065ccfadf3bd12bd97cc5f0b6
2019-02-27 16:50:51 +00:00
Dylan K. Taylor
08673172c7
Grass: Avoid usage of meta
2019-02-27 13:03:23 +00:00
Dylan K. Taylor
9ad0ea85c7
Rename two misleadingly-named functions
2019-02-27 12:59:12 +00:00
Dylan K. Taylor
ba616ed8a7
Player: Don't rely on magic numbers for gamemodes
2019-02-27 11:01:26 +00:00
Dylan K. Taylor
31336a0d09
missed one
2019-02-27 10:37:13 +00:00
Dylan K. Taylor
2d8480d801
Inventory: remove a bunch of crap from interface
...
some of these (notably the on* methods) are internal and shouldn't be exposed via interface (same crap as Plugin->onEnable() onDisable() etc) and the rest of the stuff is entirely unused.
2019-02-27 10:36:05 +00:00
Dylan K. Taylor
9b3230aa9c
Merge branch '3.6'
2019-02-27 10:19:58 +00:00
Dylan K. Taylor
20b4723728
Player: fixed held slot being out of sync after dying, closes #2788
...
it appears this premature optimization dates back to the days when PlayerHotbarPacket was not useless.
2019-02-27 09:26:56 +00:00
Dylan K. Taylor
d1ced0ffc6
Player: fixed XP not dropping on death
2019-02-27 09:22:52 +00:00
Dylan K. Taylor
440dd21550
Merge branch '3.6'
2019-02-26 19:59:24 +00:00
Dylan K. Taylor
2164dbae67
Fixed reloaded arrows not despawning, closes #2781
2019-02-26 19:58:21 +00:00
Dylan K. Taylor
6c92a2e88b
Ladder: be more strict about resetting fall distance
...
closes #2790
2019-02-26 19:54:57 +00:00
Dylan K. Taylor
97deadc59f
PackedIce: fixed dropping without silk touch, closes #2789
2019-02-26 19:48:18 +00:00
Dylan K. Taylor
ceaf969203
EnderChest: fix hierarchy
2019-02-26 19:41:56 +00:00
Dylan K. Taylor
cb91afcc00
Added SkullType enum, some cleanup to skull handling
...
this is still more ugly than I'd like it to be because of the way the blockfactory currently works.
2019-02-26 18:27:30 +00:00
Dylan K. Taylor
edf4a719d5
DyeColor: add RGB colour values
2019-02-26 17:16:35 +00:00
Dylan K. Taylor
202aef9846
fix failing tests
2019-02-26 16:35:33 +00:00
Dylan K. Taylor
d7e73705c2
consistency check regen script now emits which states were added/removed
2019-02-26 16:35:14 +00:00
Dylan K. Taylor
9afcd72fb6
Flatten FlowerPot tile into its block (mostly)
2019-02-26 16:31:38 +00:00
Dylan K. Taylor
53af7f5da8
Implemented dragon egg
2019-02-26 15:35:37 +00:00
Dylan K. Taylor
2d51622b12
Implemented frosted ice
2019-02-26 15:34:48 +00:00
Dylan K. Taylor
6124f93cb4
Player: Clean up item frame drop-item hack
...
This is now re-routed through a newly-created attack-block handler.
Closes #339
2019-02-25 18:40:04 +00:00
Dylan K. Taylor
fb378d9091
BlockFactory: fixed auto complete
2019-02-24 18:41:12 +00:00
Dylan K. Taylor
0f7f5362b8
Revert "Block: Get rid of state bitmasks"
...
This reverts commit b7b05e729e4fcfbe74786342882d011f004658fa.
Apparently this was premature, because we still need these things to deal with default state remapping.
2019-02-24 18:30:18 +00:00
Dylan K. Taylor
6cb263fcca
BlockFactory: enforce stricter checks
...
this can help catch out variant-related bugs.
2019-02-24 17:59:09 +00:00
Dylan K. Taylor
b7b05e729e
Block: Get rid of state bitmasks
...
This story dates back to the days when getVariantBitmask() was introduced. The purpose of this function was to allow the variant info to be extracted from the metadata, for use with item drops. This was later changed to state bitmask for reasons I don't clearly recall.
In the great 4.0 refactor, we now store variant magic numbers separately, so we don't need any generic bitmask to split up variant and state information anymore. Variant is now only ever serialized and never deserialized. The same thing goes for blockIDs. States are read from the world by matching the full stateID against a table of prefilled known blocks, so the variant doesn't need to be deserialized - only the state does, and the state metadata readers already do bit fuckery by themselves and don't need this mask - notice how little actual changes were required to get rid of this?
2019-02-24 14:42:53 +00:00
Dylan K. Taylor
023fecabac
Added an annoying consistency check for BlockFactory
...
This test is intended to enforce that the BlockFactory always has the same blocks in it from one commit to the next. Since there are a lot of changes going on right now around this, it's important that this is checked because bugs can go under the radar when large changes are happening.
The consistency check will need to be regenerated whenever a new block is registered, new states are found or when things are removed.
2019-02-24 13:56:55 +00:00
Dylan K. Taylor
6edd4fd9c7
BlockFactory: added getAllKnownStates()
2019-02-24 13:40:59 +00:00
Dylan K. Taylor
73305a7425
oops, formatting issue
2019-02-24 13:22:11 +00:00
Dylan K. Taylor
899081e1b9
Level: fixed randomTickBlocks, also delete some useless code
...
the randomTickBlocks thing is populated with state IDs anyway, not variants...
2019-02-24 13:10:45 +00:00
Dylan K. Taylor
369a1e1472
Tripwire: fixed block picking
2019-02-24 12:41:44 +00:00
Dylan K. Taylor
832ad0501a
Tripwire: added missing flag
...
it's unclear what the purpose of this flag is. It appears to always be set on placement and is never changed at any other time. The result is that the hitbox becomes larger when it is set.
2019-02-24 12:19:15 +00:00
Dylan K. Taylor
a3907377f5
Merge branch '3.6'
2019-02-24 12:14:40 +00:00
Dylan K. Taylor
0c3b136a8d
Player: fixed removeWindow() sometimes removing GUI / crashing clients
2019-02-24 12:14:19 +00:00
Dylan K. Taylor
97687f2236
Dye, banner and bed items now store DyeColor objects instead of using magic meta values
2019-02-24 10:48:40 +00:00
Dylan K. Taylor
0bd1c1529e
Block: Rename getItem() to asItem()
...
this has clearer meaning and is less likely to collide with other things.
2019-02-24 10:23:40 +00:00
Dylan K. Taylor
ff35736bf9
ItemFrame: added ROTATIONS constant
2019-02-23 18:27:47 +00:00
Dylan K. Taylor
998dcb421e
Flatten Item Frame implementation into its block (mostly)
...
This exposes nice API on the ItemFrame class, while keeping the tile bullshit out of sight so that we can remove it later on.
2019-02-23 18:19:31 +00:00
Dylan K. Taylor
878c704597
Remove another dead function
2019-02-23 17:15:50 +00:00
Dylan K. Taylor
49f9605620
Level: Allow tiles to be sent with regular block updates
2019-02-23 17:01:59 +00:00
Dylan K. Taylor
eadb1d310e
Level->sendBlocks() now syncs tiles
2019-02-23 16:53:29 +00:00
Dylan K. Taylor
e1ef52c7c3
TileFactory: remove dead function
2019-02-23 15:57:53 +00:00
Dylan K. Taylor
991483938c
SubChunk: remove legacy crap
2019-02-23 13:18:37 +00:00
Dylan K. Taylor
66a1b35767
Merge branch '3.6'
2019-02-23 11:05:23 +00:00
Dylan K. Taylor
79b7e08e60
Silence NetworkStackLatencyPacket spam from dev builds
2019-02-23 11:03:50 +00:00
Dylan K. Taylor
0daf695825
Merge branch '3.6'
2019-02-23 10:51:28 +00:00