8281 Commits

Author SHA1 Message Date
Dylan K. Taylor
57cfe9fd43 Level: fixed logic for sending changed blocks to players
If there is an empty list of blocks in the changedBlocks array for a chunk, that means that blocks changed the normal way and then were later set the direct way in the same tick. This means that no action needs to be taken on these chunks.
2018-06-29 11:10:31 +01:00
Dylan K. Taylor
d8824e7ee1 Level: discard changed blocks on chunk replace
this could cause issues when plugins replace chunks when blocks in the chunk have been changed on the same tick.
2018-06-29 11:06:33 +01:00
Dylan K. Taylor
3455d0f3b9 Level: cleaned up some nonsensical code in setChunk() 2018-06-29 10:58:31 +01:00
Dylan K. Taylor
ec2cca04a7 Merge branch 'release/3.0' into release/3.1 2018-06-24 17:34:37 +01:00
Dylan K. Taylor
6b2250cbce RCONInstance: terminate session on ECONNRESET errors 2018-06-24 17:32:51 +01:00
Dylan K. Taylor
8dae497610 back to dev 2018-06-24 17:32:51 +01:00
Dylan K. Taylor
cade15e2dd disable dev flag for release 3.0.3 2018-06-24 16:34:19 +01:00
Dylan K. Taylor
272b76d24c fix Punch mess 2018-06-24 13:43:52 +01:00
Dylan K. Taylor
8c672cb7c8 Implemented Sharpness, Fire Aspect and Knockback enchantments 2018-06-24 12:13:54 +01:00
Dylan K. Taylor
4d9368f205 Merge branch 'release/3.0' into release/3.1 2018-06-24 12:07:45 +01:00
Dylan K. Taylor
97c267c70c Implemented Punch enchantment 2018-06-23 17:40:01 +01:00
Dylan K. Taylor
85a3c0e7dc Implemented Flame enchantment 2018-06-23 17:11:20 +01:00
Dylan K. Taylor
d3e54db146 ExperienceOrb: stop tracking targets if they die while being tracked 2018-06-23 16:41:21 +01:00
Dylan K. Taylor
0081e30a89 Living: fix knockback condition, take 2
onGround doesn't necessarily reflect 0 motion, because something else could change the motion prior to the onGround flag getting updated - for example 2 knockbacks in a row.
2018-06-23 14:30:26 +01:00
Dylan K. Taylor
2f70a1eefb
Implemented Thorns enchantment (#2258)
This implementation is rough and can probably be improved to make it extendable, but this works for now and can be improved later.
2018-06-23 13:36:58 +01:00
Dylan K. Taylor
7ba6e92b6c Merge branch 'release/3.0' into release/3.1 2018-06-23 13:04:05 +01:00
Dylan K. Taylor
76174f1920 Explosion: avoid leaving arrows stuck in nonexistent blocks 2018-06-23 13:03:46 +01:00
Dylan K. Taylor
47c862bc38 Projectile: check for blockhit change on nearby blockupdate 2018-06-23 12:57:13 +01:00
Dylan K. Taylor
860c20109b TNT can now be ignited by burning arrows 2018-06-23 12:54:21 +01:00
Dylan K. Taylor
1c0b49343c
Implemented Infinity enchantment (#2259) 2018-06-23 11:44:35 +01:00
Dylan K. Taylor
814a949580 Implemented Power enchantment 2018-06-23 11:39:39 +01:00
Dylan K. Taylor
b393f5f17e Projectile: ensure that damage multiplier gets saved and restored 2018-06-23 10:41:04 +01:00
Dylan K. Taylor
f1970492c1 Projectile: added API to modify projectile base damage multiplier
This adds two new methods:
- Projectile->getBaseDamage()
- Projectile->setBaseDamage()
2018-06-23 10:38:58 +01:00
Dylan K. Taylor
dd6b5902a6 EmeraldOre: fixed not dropping XP on break 2018-06-22 21:35:58 +01:00
Dylan K. Taylor
87852f2fe1 EmeraldOre: remove excess indentation 2018-06-22 21:31:22 +01:00
Dylan K. Taylor
056d24c67d Add MUTTON as an ID constant
fixes crashdump #518862 - Unable to resolve "minecraft:mutton" to a valid item

PC refers to these as just mutton, but PE calls them muttonraw
2018-06-22 19:39:18 +01:00
Dylan K. Taylor
4c9ca53b32 Merge branch 'release/3.0' into release/3.1 2018-06-22 17:47:33 +01:00
Dylan K. Taylor
484d34fe04 Living: Reset attack cooldown before applying post damage effects
this fixes things causing damage during post-damage calls coming back and being able to do even more damage
2018-06-22 17:47:11 +01:00
Dylan K. Taylor
6c6630d845 Player: avoid doing some post-melee attack actions if attacking killed the attacker
This can happen when an attacker attacks a victim wearing thorns armour while having low health, which prior to this commit would cause the tool to be duplicated.
2018-06-22 17:17:40 +01:00
Dylan K. Taylor
a5a236084f Living: don't applyPostDamageEffects() for dead mobs
this has already been seen to cause duplication bugs when thorns is used. Anything else that modifies inventory during applyPostDamageEffects() when the mob is possibly dead will also cause duplication issues.
2018-06-22 14:31:48 +01:00
Dylan K. Taylor
390db976e5 Arrow: allow controlling pickup mode (like PC)
This allows controlling how arrows are picked up:
- by anything
- by only creative players
- by nothing

This adds new API methods to Arrow:
- getPickupMode()
- setPickupMode()

This adds new public constants to Arrow:
- PICKUP_NONE
- PICKUP_ANY
- PICKUP_CREATIVE
2018-06-22 13:40:32 +01:00
Dylan K. Taylor
98ac534820 bump version 2018-06-22 13:22:11 +01:00
Dylan K. Taylor
641a5a5e23 fixed damaged anvils dropping the wrong items
they changed this in 1.2.13 to use regular masks instead of bitshifts. The item was fixed, but not the block.
2018-06-22 09:57:39 +01:00
Dylan K. Taylor
ebacb8525f SignPost: fixed possible field read on null 2018-06-22 09:12:48 +01:00
Dylan K. Taylor
579ab5866b Versions again 2018-06-22 09:12:48 +01:00
Dylan K. Taylor
56b04fa0bb disable dev flag 3.0.2 2018-06-21 12:55:36 +01:00
Dylan K. Taylor
95787c2be9 TaskScheduler: fixed tasks not getting destroyed when all tasks in scheduler are cancelled before next heartbeat
they got removed from the tasks array, but not from the queue (for performance reasons). The queue gets cleaned up by the heartbeat, but it was checking if there were things in the main array, not in the queue.

There are a couple of other bugs with cancelling tasks that this doesn't fix that are rather more complicated to deal with.
2018-06-21 12:49:08 +01:00
Dylan K. Taylor
7b7be9618c PluginBase: fixed plugin task timings showing "Unknown" for plugin name 2018-06-21 12:05:30 +01:00
Dylan K. Taylor
4a8232d591 MemoryManager: Fixed parent private properties not being visible in memory dumps 2018-06-21 12:03:05 +01:00
Dylan K. Taylor
40e5a1aacb versions again 2018-06-21 12:03:05 +01:00
Dylan K. Taylor
dbda044229 bump version 3.0.1 2018-06-19 18:34:19 +01:00
Dylan K. Taylor
d2a037de71 InventoryTransaction: Avoid crashing when trying to compact slot changes with invalid slot numbers
fixes #2250
2018-06-19 18:31:13 +01:00
Dylan K. Taylor
03510333dc Disable dev flag for 3.0.0 release 3.0.0 2018-06-18 19:46:23 +01:00
Dylan K. Taylor
064e9464bc Removed --enable-profiler CLI option
krakjoe's profiler hasn't been updated since 2013. I doubt it's going to get updated in the near future. These days we use xdebug, which is either always on or always off.
2018-06-18 12:27:51 +01:00
Dylan K. Taylor
2d3ce9e8b0 Remove some fully qualified function calls
PhpStorm can't see these or understand how they are being called, which is very annoying for bug hunting. Additionally, we already have the CodeOptimizer for this.
2018-06-18 12:23:19 +01:00
Dylan K. Taylor
49f80830a7 Clean up unused imports 2018-06-18 12:10:27 +01:00
Dylan K. Taylor
80daaf09b2 SendUsageTask: fixed oops x2 (thanks PhpStorm)
looks like this file was somehow missed during the refactor.
2018-06-18 12:08:55 +01:00
Dylan K. Taylor
30ad3a1705 RCONInstance: inherit runtime-defined INI entries 2018-06-18 10:32:17 +01:00
Dylan K. Taylor
4e7d1a7947 fixed doxyfile 2018-06-17 19:59:45 +01:00
Dylan K. Taylor
da6439e3f4 SendUsageTask: fixed oops 2018-06-17 16:13:05 +01:00