Dylan K. Taylor
4b03dbebba
Entity: use temporalVector in checkBlockCollision() instead of creating a new Vector3
2018-03-30 12:21:37 +01:00
Dylan K. Taylor
1d5978df98
Fixed falling blocks getting moved by currents, closes #2080
2018-03-30 12:20:59 +01:00
Dylan K. Taylor
c20b16a0fe
Living: fixed damage resistance negating >100% of damage, closes #2052
2018-03-30 11:31:43 +01:00
Dylan K. Taylor
c0c684b12e
Removed the need for paintings to check for destruction on schedule
...
Since we have a mechanism for triggering things on entities anyway, make use of it to do more than just forcing movement updates.
2018-03-25 13:15:10 +01:00
Dylan K. Taylor
924334a776
Painting: fixed performance bug, close #2117
2018-03-25 13:06:02 +01:00
Dylan K. Taylor
eb9f60f41c
Entity: some minor cleanup to constructor
2018-03-24 11:52:23 +00:00
Dylan K. Taylor
1648fff916
Replaced Position->getLevel() null checks with isValid()
2018-03-20 11:10:36 +00:00
Dylan K. Taylor
73e09392b6
Timings: Clean up some terrible code, move namespaces
2018-03-19 19:05:51 +00:00
Dylan K. Taylor
ac5a91b67e
Cleaned up bool comparison mess
2018-03-19 14:10:55 +00:00
Dylan K. Taylor
fa644edef3
Entity: removed redundant return values for move()
2018-03-14 13:39:23 +00:00
Dylan K. Taylor
ddc9dca8b4
Player: fixed being able to eat cake in creative
...
closes #2070
2018-03-13 18:32:08 +00:00
Dylan K. Taylor
cd35bd6872
git diff-tree --check $(git hash-object -t tree /dev/null) HEAD
2018-03-11 10:31:25 +00:00
Dylan K. Taylor
d09a43cfef
Added PlayerExperienceChangeEvent
2018-03-10 20:04:36 +00:00
Dylan K. Taylor
8a86e0825b
Entity: Moved PrimedTNT and FallingSand to object\PrimedTNT and object\FallingBlock
2018-03-10 16:25:07 +00:00
Dylan K. Taylor
b39bbffdc5
Entity: Moved and renamed entity\Item to entity\object\ItemEntity
2018-03-10 12:36:46 +00:00
Dylan K. Taylor
ad09e8c8d0
Implemented Bottle o' Enchanting
2018-03-10 10:53:03 +00:00
Dylan K. Taylor
486edf0e55
Projectile: remove redundant parent onHit() calls
2018-03-10 10:31:24 +00:00
Dylan K. Taylor
2ee01eb195
Projectile: fix stupidity with collided block IDs
2018-03-09 21:50:27 +00:00
Dylan K. Taylor
cc1a3d695f
Implemented basic Ender Pearls
...
this doesn't have full functionality yet (like spawning endermites) because some things aren't implemented yet.
2018-03-09 19:05:14 +00:00
Dylan K. Taylor
e06b78b0ee
Implemented armor durability
2018-03-09 13:21:05 +00:00
Dylan K. Taylor
74cff89df3
Instant Damage splash potions now deal knockback
2018-03-09 12:52:09 +00:00
Dylan K. Taylor
a9957c3db3
Water bottles extinguish fires when hitting a block
2018-03-09 12:25:34 +00:00
Dylan K. Taylor
2e9bf7e93b
Implemented Splash Potions
2018-03-09 12:25:02 +00:00
Dylan K. Taylor
cdd3fe81e1
Projectile: allow using negative damage amounts to remove damage effects
2018-03-09 11:35:08 +00:00
Dylan K. Taylor
a8a3eb3866
Added particles for snowballs and eggs
2018-03-09 11:35:07 +00:00
Dylan K. Taylor
83a3c6f614
Arrow: added shake effect and strike sound
2018-03-09 11:35:07 +00:00
Dylan K. Taylor
8cc6a32a04
Rewritten Projectile movement handling, added ProjectileHitBlockEvent and ProjectileHitEntityEvent, fixed a swathe of arrow-related bugs
...
I usually avoid mega-commits, but one thing led to another.
2018-03-09 11:35:07 +00:00
Dylan K. Taylor
dc3bf8546e
Refactored effects handling, split up concerns of effect types and instances
...
Removed json insanity for effects
Split up effect types and effect instances
Saturation is an instant effect
2018-03-07 12:42:31 +00:00
Dylan K. Taylor
c7f8796136
Implemented Paintings ( #2073 )
...
This supports vanilla placement of paintings, with overlap and collision checking.
Paintings are removed when a block is placed inside them or if any of their supporting blocks are removed.
As per vanilla, a random painting is chosen from the largest subset that will fit into the given space.
2018-03-07 09:03:30 +00:00
Dylan K. Taylor
2e4519cb36
ExperienceOrb: fixed behaviour when placing blocks on top of them
2018-03-04 12:47:09 +00:00
Dylan K. Taylor
2ff3b12376
Cleaned up projectile "collide" checks
2018-03-04 12:19:41 +00:00
Dylan K. Taylor
fa6d44ea9e
Move Attribute and Effect init calls to Entity::init()
...
since entities are dependent on these, they should be here.
2018-03-02 10:05:50 +00:00
Dylan K. Taylor
7e9f1324a7
Entity: fixed tiny sub optimal code in registerEntity()
2018-02-28 19:30:30 +00:00
Dylan K. Taylor
2dd1878d57
Entity: remove dead field isPlayer
2018-02-27 17:01:28 +00:00
Dylan K. Taylor
e024f381c9
Living: fixed cycle between armor inventory and holder not getting cleaned up on close
...
this was getting collected by the cycle GC, but it should have been dealt with properly like other inventories.
2018-02-27 11:08:09 +00:00
Dylan K. Taylor
0ad8ea6e92
Remove unused imports
2018-02-24 19:01:09 +00:00
Oreo Oreoniv
2b036b1a5c
Added API method Living::hasEffects() ( #2054 )
2018-02-24 13:48:15 +00:00
Dylan K. Taylor
e5ec8fa603
Entity: Use MoveEntityPacket teleport flag for teleporting
...
fixes entities getting movement interpolation between origin and destination
2018-02-24 12:25:25 +00:00
Dylan K. Taylor
abe5d94d5b
Entity: fixed teleport() not updating movement to players
...
cc @CortexPE
2018-02-24 12:22:03 +00:00
Dylan K. Taylor
3f41628bf3
Merge branch 'legacy/alpha11'
2018-02-17 10:59:19 +00:00
Dylan K. Taylor
a3fa8adf4a
Fixed XP orbs trying to track players after teleport
...
closes #2028
@mal0ne-23, you are today's MVP.
2018-02-17 10:58:54 +00:00
Dylan K. Taylor
e7e4645c0b
Fixed a wide range of bugs with floating-point coordinates getting incorrectly int-casted
...
This causes lots of bugs in negative coordinates.
This fixes #1789 after world load & save.
2018-02-15 10:27:42 +00:00
Dylan K. Taylor
f66928c345
Player: patch exploits relating to quitting on death ( #2017 )
...
* Revert "Revert bad duct-tape fix that broke lots of other things"
This reverts commit 4a4900e5e7ea1fd7b897b025b4b666fd2050f80a.
Player: Perform respawn actions when joining while dead
This fixes exploits related to #1567 by calling respawn logic on join when the player has zero health.
This is a shitty fix and doesn't solve the actual issues described in #1567 , but it's a simple solution for the exploits related to it.
2018-02-13 21:23:31 +00:00
Dylan K. Taylor
9abfd54cc1
Updated with ListTag changes from PocketMine-NBT
2018-02-13 16:50:49 +00:00
Dylan K. Taylor
4a85311c5f
Living: Remove redundant isAlive() check from kill()
...
This just causes unexpected bugs, and hides actual bugs.
2018-02-13 12:47:33 +00:00
Dylan K. Taylor
b7bd8dc7f1
Human: fixed NPC skin crash after ByteArray change
2018-02-12 09:56:02 +00:00
Dylan K. Taylor
b75d121c7e
Human: remove obsolete TODO
2018-02-11 17:08:59 +00:00
Dylan K. Taylor
88bbb03f12
Human: store cape & geometry data in NBT
2018-02-11 17:08:01 +00:00
Dylan K. Taylor
9478bc281f
Human: Save skin data as TAG_ByteArray instead of TAG_String
...
TAG_String has a UTF-8 payload, which makes it more expensive to work with. Also, skins can contain bytes which are not valid UTF-8 characters and will therefore be treated as corrupted by external tools.
Additionally a TAG_String can only hold 32767 bytes, which might become a problem in the future.
A TAG_ByteArray can hold up to 2GB of data, and there is no character encoding restrictions on it.
2018-02-11 16:50:00 +00:00
Dylan K. Taylor
3b36d46a8f
Living: don't reset attack time on regaining health
...
fixes #2004 and related bugs
2018-02-10 20:53:39 +00:00