2600cf5977
Split some block variants into their own classes where behaviour differs
2018-09-28 16:21:03 +01:00
e038c4295d
Clean up abhorrent mess of Slab placement code
2018-09-27 18:46:01 +01:00
35d51570be
Add and make use of Block->isSameType()
2018-09-27 17:59:06 +01:00
8910c93de1
Slab: slight reduction of code repetition
2018-09-27 16:45:06 +01:00
0b49ec46c6
Deduplicate Pumpkin/Melon stem code
2018-09-27 16:24:35 +01:00
75f364fcf2
Level: Remove obsolete \$direct parameter from setBlock()
...
this parameter was previously used to send blocks with a different set of flags, immediately, to players. However, the flags have been demonstrated useless and the direct sending is pointless now since packets are buffered now per session, so we might as well take advantage of the batched block update sending.
2018-09-27 16:15:07 +01:00
8a8f1d84ff
EnchantingTable: fix BB
2018-09-27 11:29:23 +01:00
e6a1398992
EndRod: fix BB rotation on X/Z axes
...
this was very apparent with the new code, less so with the magic meta values...
2018-09-27 02:36:39 -04:00
f2c960cfd8
Added on/off handling for buttons and levers
2018-09-26 19:19:35 +01:00
9651b3f470
Crops: micro optimization - check age before generating random number (faster)
...
I don't have any idea how much benefit this will provide in real terms, but it may be significant.
2018-09-24 16:48:19 +01:00
a195e940db
Fixed BB and right-click action for daylight sensor
2018-09-24 16:37:18 +01:00
a77e05f875
Implement corner stair BB handling
2018-09-24 16:25:17 +01:00
0b989925d7
whitespace
2018-09-23 18:41:57 +01:00
c501c740a1
Get rid of Block->canPassThrough()
...
This is only implemented in 1 place where the collision box should just be zero anyway, so there's no point this existing.
There's a lot of other blocks which should have bounding boxes without collision boxes as well, but that's outside the scope of this commit.
2018-09-23 17:05:03 +01:00
4f200c5183
Merge branch 'release/3.3'
2018-09-23 16:35:53 +01:00
06f00020cd
Merge branch 'release/3.2' into release/3.3
2018-09-23 16:35:20 +01:00
7b0836d399
Merge branch 'release/3.1' into release/3.2
2018-09-23 16:35:11 +01:00
cea146e335
Thin: use bounding box instead of collision boxes
2018-09-23 16:35:01 +01:00
1427da0aeb
Clean up item handling of blocks
2018-09-23 14:21:37 +01:00
ed1c511c3c
Hacks for dealing with negative item IDs...
2018-09-23 14:14:58 +01:00
9d2e9e1663
Fixed torch facing bug with wrong metadata
...
torches cannot face down
2018-09-21 19:45:52 +01:00
02d5f4da85
fix merge error
2018-09-21 19:32:59 +01:00
a093ba3ed9
thanks git
2018-09-21 19:30:04 +01:00
4a7f8fd9d9
Implemented behaviour for cocoa pods
2018-09-21 19:28:31 +01:00
56d9943b0d
Nuke Block->meta, split into variant and state properties, lots of cleanup
...
This is a major change to the way block metadata is handled within the PM core. This separates variant metadata (which really ought to be part of the ID) from state metadata, and in a couple of cases flattens separate states of blocks together.
The result of this is that invalid variants can be much more easily detected, and additionally state handling is much cleaner since meta is only needed at the serialize layer instead of throughout the code.
2018-09-21 19:28:10 +01:00
960fdb433e
Merge branch 'release/3.3'
2018-09-20 16:50:11 +01:00
6b44f99dfb
Merge branch 'release/3.2' into release/3.3
2018-09-20 16:50:04 +01:00
33d3fff3c5
Merge branch 'release/3.1' into release/3.2
2018-09-20 16:49:57 +01:00
7c092b93b4
Fixed bug when placing blocks by clicking on redstone ore
2018-09-20 16:49:50 +01:00
9b4d82630b
BlockFactory: remove $solid
...
this is premature optimization and will run into problems once we enter the flattening.
2018-09-20 16:26:15 +01:00
aa05650994
Fixed block picking for mob heads
2018-09-20 13:11:45 +01:00
668da0772a
WaterLily: fixed broken placement logic
2018-09-20 12:49:36 +01:00
758d9b9784
Farmland: fixed block picking
2018-09-20 12:03:01 +01:00
9a5d51fd3d
Fixed block-picking cake giving the block instead of item
2018-09-20 11:31:48 +01:00
058bd07319
Merge branch 'release/3.3'
2018-09-20 10:04:42 +01:00
fa9ea6a7d7
Merge branch 'release/3.2' into release/3.3
2018-09-20 10:04:19 +01:00
6a7f39978b
Merge branch 'release/3.1' into release/3.2
2018-09-20 10:03:47 +01:00
c52e1ea9f9
Fixed block picking double slabs giving the double slab block
2018-09-20 10:02:55 +01:00
caca097300
Merge branch 'release/3.3'
2018-09-19 16:18:53 +01:00
5e94d20d79
Merge branch 'release/3.2' into release/3.3
2018-09-19 16:17:00 +01:00
a0bb747d6d
Merge branch 'release/3.1' into release/3.2
2018-09-19 16:16:18 +01:00
4bc0d850b1
Added Block->getRuntimeId(), clean up some mess
2018-09-19 16:16:10 +01:00
dbe0ee2d44
BlockFactory: don't pre-populate gaps with UnknownBlock objects
...
this produces a minor reduction in memory usage.
2018-09-19 15:17:39 +01:00
48a5eeb3a4
BlockFactory: remove some useless static arrays
2018-09-19 15:06:58 +01:00
a80d5bb6a8
Leaf log search is type agnostic
...
any wood type will do
2018-09-19 08:47:40 +01:00
01f12d6147
Merge branch 'release/3.3'
2018-09-18 12:32:12 +01:00
ad9df6764d
Merge branch 'release/3.2' into release/3.3
2018-09-18 12:32:07 +01:00
97583c8b04
Merge branch 'release/3.1' into release/3.2
2018-09-18 12:32:01 +01:00
107192c753
Bed: fixed block-pick giving wrong colour items
2018-09-18 12:31:53 +01:00
c721503b7a
Merge branch 'release/3.3'
2018-09-18 12:22:32 +01:00