d2dc49cd9c
Refactor Slab logic away from WoodenSlab, added StoneSlab2 and its double
2017-10-18 19:27:54 +01:00
f148c366f9
Use Block->getVariant() more, get rid of hardcoded bitmasks
2017-10-18 17:46:24 +01:00
91d84aaff4
Fixed a direct Block construction that PhpStorm somehow couldn't see
2017-10-18 17:03:55 +01:00
6b78ba8c25
replace some hardcoded values with Vec3 constants
2017-10-18 17:03:18 +01:00
b9de2e8b4b
Use bit operations for rotations instead of hardcoded values
2017-10-18 16:47:37 +01:00
15764543b4
Use PillarRotationHelper for hay bales
2017-10-18 16:41:43 +01:00
fd8a562e02
Fixed collision bugs caused by not clearing pre-computed outdated AABBs for blocks
...
take fences as an example: say you have fence1 and fence2 next to each other, like this:
|==|
and they are joined together
then delete the fence on the right
the left fence will then look like this
|
but the server would still think its collision boxes were like this:
|=
so you wouldn't be able to shoot arrows through that space.
This commit clears pre-computed bounding boxes when a block is set using Level->setBlock() (in case the block was previously already set and has pre-calculated outdated AABB). However, because of weird blocks like fences, glass and walls, they must also be cleared on neighbour block update (since connection state isn't shown in the block data).
2017-10-14 10:07:17 +01:00
eeea4fa06a
Added some new blocks
2017-10-13 11:51:38 +01:00
401e33dd85
fix anvil bounding box
2017-10-13 11:18:19 +01:00
2893aac3ac
...
2017-10-13 11:06:10 +01:00
c5c74c1898
fixing glass & bars collision detection
...
so much duplicated code, it would be nice if Fence could inherit from Thin, but that causes too many issues with block connections.
2017-10-13 11:04:51 +01:00
423bea4b57
Fixed a couple of blocks incorrectly descending from Solid
2017-10-13 10:37:48 +01:00
e3567faa94
Anvils aren't non-solid, they are transparent
...
solid and transparent are not mutually exclusive!
2017-10-13 10:22:22 +01:00
4b5040dcc7
Blocks extending Thin ARE solid
2017-10-13 09:52:08 +01:00
21c79b0645
Use up to 2 AABBs for fence collision checks instead of 5
...
overlapping cuboids do fine
2017-10-13 09:40:29 +01:00
60b62a4890
fixed wall collision detection
...
walls have to be weird...
2017-10-12 19:36:06 +01:00
061a9444cc
implemented multi AABB collision checks for fences and walls
...
fixes anti-cheat getting triggered when falling down between a square of fences
fixes not being able to shoot arrows between a square of fences
2017-10-12 18:33:26 +01:00
3eb73ab468
Abstracted Fence code away from wooden fences
2017-10-12 17:04:49 +01:00
15d6fd86e2
Added basic support for blocks with multiple AABBs, fixed stairs ( #1303 )
2017-10-12 16:29:24 +01:00
b9501ef415
Remove unnecessary duplicated ray-trace code from Block
...
this isn't actually used anywhere, but "backwards compatibility"
2017-10-12 13:40:12 +01:00
63fccd4682
farmland and grass path should die when a solid block is above them
2017-10-12 11:11:33 +01:00
35e7aca88f
refactor some more stupid variable names
2017-10-12 10:45:22 +01:00
9413f155ce
implement updating properly for multi-face vines
2017-10-12 10:21:08 +01:00
6569fdbe04
Refactor some variable names in Vine
2017-10-11 20:12:12 +01:00
d8b1757ebc
added some nullable and void typehints to Block API
2017-10-11 18:45:40 +01:00
8f0ee84277
Cleaned up Ladder AABB calculation code
2017-10-11 18:25:16 +01:00
b7a9e10d49
Some cleanup to how tiles are created
2017-10-11 18:08:08 +01:00
78ca2f2e58
fix heads rotating 45 degrees when placed facing north
2017-10-09 18:12:56 +01:00
97dbf61236
Remove some no-longer-needed item classes
2017-10-09 12:31:57 +01:00
2be8b576ef
Changed constructor of ItemBlock to allow handling blocks with different item IDs, added more doors
2017-10-09 11:58:58 +01:00
cebb4b35f6
Fixed beds not getting deleted properly in survival
...
the anti-instabreak kicked in twice... damned anti-cheat... luckily the player is not needed for this part
2017-10-09 10:49:30 +01:00
8fafef2f7f
Added tagType parameter to ListTag constructor, remove some boilerplate code
2017-10-08 13:28:01 +01:00
fc9c264e77
Resend blocks around targeted blocks when interactions & block-break are cancelled, fixes #906
...
this solution is dumber but more effective (also solves the beds & doors placement problem)
2017-10-03 19:28:01 +01:00
c09d782503
Fix #145 , take 2 (slab placement in half gaps doesn't work) ( #1411 )
2017-10-01 16:19:59 +01:00
b76b9d53fe
Fixed drops for DeadBush
2017-09-30 21:04:39 +01:00
27798c69ee
fix collision detection not detecting fence & fence-gate, fixed nether-brick fence gate AABB, close #1299
2017-09-29 15:27:14 +01:00
a33be643c4
Fixed falling blocks not falling when placed above fire, close #1425
...
yes, hardcoding this is not a nice solution - PC also does this, want to fight?
2017-09-29 14:53:23 +01:00
d0bf0ff083
Imports cleanup
2017-09-28 10:51:05 +01:00
c47f1f572c
Added API method Item->pop()
2017-09-27 10:56:04 +01:00
90cb018de2
Re-organise some Block code
2017-09-26 19:39:05 +01:00
992c4ce6a0
Added API method Block->getVariant()
2017-09-26 19:35:04 +01:00
78af87a572
ConcretePowder: add tool type
2017-09-26 19:00:53 +01:00
c79a5509f6
Implemented concrete powder
...
this is a little buggy with water updating due to a hack for liquids to fix a CPU leak (210bdc2436
), but everything works fine when a block nearby gets updated.
2017-09-26 18:56:43 +01:00
f5b0cbb337
Generated some TODOs for BlockFactory & ItemFactory
2017-09-26 16:15:35 +01:00
6e961ae897
Addition of Coarse Dirt ( #1396 )
2017-09-23 22:25:03 +01:00
c8fd0eaf8b
Removed autogenerated stub TODO from BoneBlock
2017-09-21 19:50:03 +01:00
c6670b2e74
Fixed Nether Wart's name
2017-09-21 16:56:41 +01:00
0e2e9aab2e
Fixed crash when block classes override the constructor but don't specify a fallback name
2017-09-21 16:43:33 +01:00
1b5fed983b
Revert "Fixed slab placement, close #145 ", reopen #145 , close #1314
...
This reverts commit f2ff0198cc
.
2017-09-21 14:41:18 +01:00
5aba87b250
Added brown and red mushroom blocks
2017-09-21 14:07:51 +01:00