1f5f67e087
Liquid: Removed a bad hack-fix, fixed mobs not moving when water flows around them
...
this breaks more than it appears to fix, and I can't reproduce any CPU
leaks when block updates are enabled, so I'm going to assume this is OK.
2017-11-24 17:23:12 +00:00
74967eed87
Liquid: Stop abusing getLevel() in performance-sensitive situations
...
Most of these methods are called from onUpdate(). It's unreasonable to
assume that the level might be null during a tick (unless a plugin
messes with a block update event or something, but that's undefined
behaviour anyway). Using getLevel() simply wastes processing time by
constantly checking if the level is closed.
2017-11-24 16:58:03 +00:00
b88ffa3bdf
Fixed a mistake in Block->getSide() documentation
...
side() -> getSide()
2017-11-24 15:09:55 +00:00
75e469c380
Fixed bad parameter names due to old code additions in Block->place()
2017-11-22 14:26:55 +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
3a80ec4db8
Add bed too far message
2017-11-19 10:22:04 +00:00
ffa9a91a95
Remove dead craftingType field from Player
2017-11-17 12:57:49 +00:00
976d5583cc
Remove ItemFrame drops hack
2017-11-16 15:13:22 +00:00
2794df34ab
Basic implementation of banners, including API to modify them with ease. ( #1331 )
...
Banner crafting is NOT implemented yet.
2017-11-15 11:10:46 +00:00
aa399a1109
migrate to new CompoundTag API ( #1515 )
2017-11-10 15:38:21 +00:00
754e088ee8
Change visibility of Block->boundingBox
2017-11-03 12:19:51 +00:00
451f5d0cd7
Fixed block-pick on crops giving the crop block itself
2017-11-03 12:17:38 +00:00
6ff1088a57
fix chest AABB
2017-10-27 19:16:06 +01:00
d1db27016e
s/facePos/clickVector/
...
clickVector better describes this
2017-10-27 19:05:26 +01:00
716c1f29b4
Fixed slabs again
2017-10-24 10:23:07 +01:00
ba3fe20227
Fixed missing variant bitmask for Leaves, close #1478
2017-10-20 18:37:46 +01:00
18e4e5364f
Fixed getBlock() performance degradation caused by 781de3efab
, added Level->getBlockAt() to avoid creating vectors everywhere
2017-10-20 13:22:49 +01:00
50be26958a
Added a helper function Entity->createBaseNBT() to cut down on boilerplate code
2017-10-19 17:36:51 +01:00
d99e9513b0
Remove some redundant constructor overrides
2017-10-19 16:42:14 +01:00
5a353012de
Clean up some unused imports
2017-10-19 16:39:34 +01:00
584810780a
Moved projectile-related classes to their own namespace
2017-10-19 12:27:44 +01:00
55de75b914
Let blast resistance be computed from hardness for flowable blocks
...
fixes several flowable blocks apparently not having any resistance to explosions
2017-10-19 11:50:21 +01:00
2a1a17aa7a
Refactored button code, fix placement rotation
2017-10-19 11:36:30 +01:00
90165cf99d
Implemented farmland hydration
...
TODO: make crops take notice of this
2017-10-19 11:23:54 +01:00
5c92c8a9d3
added red sandstone and red sandstone stairs
2017-10-18 19:42:12 +01:00
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