8281 Commits

Author SHA1 Message Date
Dylan K. Taylor
9b2653fb6f Release 3.4.2 3.4.2 2018-12-14 09:30:14 +00:00
Dylan K. Taylor
ed88684e71 Fixed invisible FloatingTextParticle crashing the server, closes #2560 2018-12-14 09:30:14 +00:00
Dylan K. Taylor
cbb9c4f298 Entity: require scale > 0 in setScale(), fixes #2563 2018-12-14 09:30:14 +00:00
Dylan T
660d42e8d1
Backport usage of SetLocalPlayerAsInitializedPacket to 3.4 (#2558)
This fixes various problems, such as forms not working on PlayerJoinEvent.
2018-12-13 20:07:17 +00:00
Dylan K. Taylor
1d71f5edb3 DataPacket: more detail in error messages for undefined fields 2018-12-13 09:55:50 +00:00
Dylan K. Taylor
4975da2aae NetworkInventoryAction: additional validity checks 2018-12-12 10:11:44 +00:00
Dylan K. Taylor
f704061618 Tree: fixed being able to overwrite other trees
this was observable by planting a sapling underneath an existing tree and punching it with bone meal.

This change will also prevent trees generating too close together.
2018-12-09 19:26:48 +00:00
Dylan K. Taylor
23dc6e09d8 Sync DevTools submodule 2018-12-09 15:34:06 +00:00
Dylan K. Taylor
15b7fc978e 3.4.2 is next 2018-12-08 17:00:36 +00:00
Dylan K. Taylor
bb396174ba Release 3.4.1 3.4.1 2018-12-08 17:00:07 +00:00
Dylan K. Taylor
dcef3cba21 CrashDump: cleanup some version related stuff
this should have been done a long time ago, but we didn't want to cause compatibility problems with CA. Now it enforces version checks, this isn't a problem anymore.
2018-12-08 16:58:06 +00:00
Dylan K. Taylor
5f8a9f8747 Add a new format_version field to crashdumps
this will be used in the future to allow CA to decide how to decode crashdumps and/or refuse crashdumps from incompatible versions.
2018-12-08 16:57:57 +00:00
Dylan K. Taylor
84e41e6967 3.4.1 is next 2018-12-06 21:01:57 +00:00
Dylan K. Taylor
5e0e0daf7d Release 3.4.0 3.4.0 2018-12-06 20:45:57 +00:00
Dylan K. Taylor
a95694ed06 Add signature validation for some user-defined callbacks 2018-12-04 18:33:58 +00:00
Dylan K. Taylor
762405d16a Add daverandom/callback-validator as a dependency 2018-12-04 17:14:37 +00:00
Dylan T
e3f46987f5
Liquid: Add events to allow controlling flow and fusion (#2547) 2018-12-04 13:14:22 +00:00
Dylan K. Taylor
e4223bb7dc Level: Duct tape fix for crashy trees at the top of the world
this doesn't fix shit but it at least doesn't crash. Fixing this properly can't be effectively done any other way without backwards compatibility breaks. Fortunately it's not common practice to grow trees at the top of the world.
2018-12-03 18:30:27 +00:00
Dylan K. Taylor
f091446ec7 Sync NBT dependency 2018-12-03 16:15:02 +00:00
Dylan K. Taylor
b0f891081c Mark EXHAUSTION as non-syncable
this attribute is not visible on the client and is only used for controlling saturation depletion. It's extremely spammy and as such really shouldn't be sent over network. This has also been causing some minor client-side performance issues in survival.
2018-12-02 16:43:00 +00:00
Dylan K. Taylor
acd7c9b336 Permission: Throw exception on unknown values in getByName()
Previously, writing wrong values into plugin.yml for permission defaults would cause the permission to be silently denied to everyone.
2018-12-01 15:56:44 +00:00
Dylan K. Taylor
75482124f2 Merge branch 'release/3.3' into release/3.4 2018-12-01 10:09:46 +00:00
Dylan K. Taylor
288599cbe7 3.3.5 is next 2018-12-01 10:00:59 +00:00
Dylan K. Taylor
aa7206126a Release 3.3.4 3.3.4 2018-12-01 10:00:38 +00:00
Dylan K. Taylor
1a6db1c7ce DataPacket: add missing field
this must have been missing for how many years now? thanks @shoghicp

this is why we don't do releases on friday night... in my defence my device had the beta installed...
2018-12-01 09:29:53 +00:00
Dylan K. Taylor
f1c071ce7f Release 3.3.3 3.3.3 2018-11-30 19:41:36 +00:00
Dylan K. Taylor
e2f46a4358 Remove unused import... 2018-11-30 19:40:35 +00:00
Dylan K. Taylor
36c0c350a7 Merge branch 'release/3.3' into release/3.4 2018-11-30 18:37:28 +00:00
Dylan K. Taylor
4c08a05fae Barf on trying to read/write nonexisting fields of packets
this should make it easier to debug problems when content of packets changes during protocol updates.
2018-11-30 18:36:28 +00:00
Dylan T
6295ef8a81
Add language option to server.properties (#2531)
This allows to save the language without rewriting pocketmine.yml. Since this is a "standard" config option (something that the user might want to directly modify) it's reasonable to put it in server.properties. pocketmine.yml is generally reserved for more advanced configuration options.
2018-11-30 13:25:04 +00:00
Dylan K. Taylor
05dba61a69 Merge branch 'release/3.3' into release/3.4 2018-11-29 19:47:28 +00:00
Dylan K. Taylor
b473ffdedc Remove async playerdata saving, closes #2515
this technically involves non-breaking API changes which should happen on a patch release, but I can't be bothered with the dust cleanup, so we'll just blow it away now. It doesn't hurt anyone anyway.
2018-11-29 19:47:15 +00:00
Dylan K. Taylor
60dddcd12a Painting: clean up guard checks, remove unnecessary checks 2018-11-29 19:29:10 +00:00
Dylan K. Taylor
c010ef45ed Merge branch 'release/3.3' into release/3.4 2018-11-29 18:46:00 +00:00
Dylan K. Taylor
93c26a0b0c Living: Suspend effects ticking on death
This was the cause of a bug with regeneration which caused players taking fatal damage under regeneration not to die correctly. On the server side they would die and immediately regenerate some health, which would cause the next attribute sync to not report the health drop to zero, which made the client unaware that it was dead.

Perhaps attributes should be forcibly synced in some circumstances, but nonetheless regeneration shouldn't apply post-death.
2018-11-29 18:45:46 +00:00
Dylan K. Taylor
08ec021f78 Merge branch 'release/3.3' into release/3.4 2018-11-26 14:02:32 +00:00
Dylan K. Taylor
545ec9c881 Updated PreProcessor submodule 2018-11-26 14:02:23 +00:00
Dylan K. Taylor
b0060caaf7 Config: don't catch-all in save() 2018-11-25 16:35:59 +00:00
Dylan K. Taylor
c90d1faa81 Merge remote-tracking branch 'origin/release/3.3' into release/3.4 2018-11-25 14:35:45 +00:00
Dylan T
d5a1961e6b
Force minimum uptime to be >= 120 seconds if a crash occurs (#2534)
This is an incremental improvement over 4a6841a5a465c791b512517394241f0ac0b38739. This change works better because it also reduces disk spam of crashdumps.

This will now sleep if the server uptime was less than 120 seconds before crashing. If unattended, this will clamp down on automated crashdump spam. If attended, the user can simply press CTRL+C to abort the process and skip the delay.
2018-11-25 14:35:35 +00:00
Dylan K. Taylor
449dda83fb Merge branch 'release/3.3' into release/3.4 2018-11-22 16:48:57 +00:00
Dylan K. Taylor
6bc79149c3 SubChunk: Fixed $changed not getting set in setBlock() when only block data changed
it was comparing a string and an int. This now compares the integer values first.
2018-11-22 16:47:25 +00:00
Dylan K. Taylor
cdf7e28251 shut up PhpStorm 2018-11-17 18:12:48 +00:00
Dylan K. Taylor
a02f422d85 SubChunk: Fixed constant redefinition on worker threads when autoloading
this happens when workers inherit constants but not classes.
2018-11-17 16:29:53 +00:00
Dylan T
f8bfbc107d
Reduce chunk memory usage by 20-60% by exploiting PHP copy-on-write behaviour (#2527)
This takes advantage of two key behaviours of PHP:
1. Assigning a string does not copy the string
2. Changing an offset in a string causes the string to be copied.

These two factors combined, along with the fact that blocklight and skylight arrays are usually all-zeros, allow us to produce a significant memory usage reduction of loaded chunks.
A freshly generated PM world with 3,332 chunks loaded drops from 310MB to 200MB memory usage with these changes applied.
2018-11-17 14:46:05 +00:00
Dylan K. Taylor
554c029fbd Merge branch 'release/3.3' into release/3.4 2018-11-13 18:24:08 +00:00
Dylan K. Taylor
e018311e73 Make start script errors a bit more noob-friendly 2018-11-13 18:23:54 +00:00
Dylan K. Taylor
de50f02076 Merge branch 'release/3.3' into release/3.4 2018-11-12 22:07:22 +00:00
Dylan K. Taylor
71d02e5870 Improve dev build error messages 2018-11-12 22:07:14 +00:00
Dylan K. Taylor
46d9475568 Use Utils::getNiceClosureName() in PluginManager 2018-11-11 19:50:07 +00:00