Dylan K. Taylor
febba6e3a6
Tile: call parent constructor instead of duping code
2018-05-18 16:49:14 +01:00
Dylan K. Taylor
d8dc89e7c8
EnderChestInventory: Removed unnecessary owner parameter
2018-05-18 16:46:48 +01:00
Dylan K. Taylor
b75413e3c4
CommandReader: Use stream_isatty() instead of posix_isatty() (new in 7.2)
2018-05-18 16:46:48 +01:00
Dylan K. Taylor
f08537a1e0
BlockMetadataStore: fix case of import
...
found by PHPStan static analysis tool
2018-05-18 16:46:48 +01:00
Dylan K. Taylor
6643fa5f09
README: it's not Pocket Edition anymore
2018-05-18 14:54:50 +01:00
Dylan K. Taylor
210e108574
Level: add a null coalesce
...
meant to add this before push but wasn't thinking clearly...
2018-05-18 11:28:52 +01:00
Dylan K. Taylor
813437e3ee
Level: Avoid unnecessary use of getChunk()
...
this is completely pointless.
2018-05-18 11:27:53 +01:00
Dylan K. Taylor
24295ce02f
Level: Avoid creating useless throwaway objects in sensitive functions
2018-05-18 11:05:41 +01:00
Dylan K. Taylor
29fd26627e
Level: Change isInWorld signature to use ints instead of floats
...
this is only used in one place, where it's being given floats, and it's 10% faster to use int for this because it won't convert it.
It is also 25% faster to remove typehints and 60% faster to inline it. We really need a proper PHP preprocessor for inlining.
2018-05-18 11:01:13 +01:00
Dylan K. Taylor
22b91aaa24
SubChunkIteratorManager: Added method invalidate() to allow destroying stale chunk refs conveniently
...
this could be necessary for reusable long-life iterators when chunks get replaced.
2018-05-18 09:52:27 +01:00
Dylan K. Taylor
f757ba1851
Merge branch 'release/alpha12'
2018-05-17 19:27:26 -04:00
Dylan K. Taylor
8c1c8f34cc
Player: confine command data resending on permission recalculate to post-spawn only
...
this fixes crashes when PurePerms causes this to be recalculated on player login - the client doesn't like receiving this before StartGame and crashes.
Confining this to post-spawn should not cause any issues since any permission recalculation in login events will be reflected immediately afterwards when the initial command data is sent anyway.
This same bug popped up at 1.1... I don't know why it wasn't fixed properly back then.
1.7dev-1001
2018-05-17 19:26:42 -04:00
Dylan K. Taylor
c285295037
Merge branch 'release/alpha12'
2018-05-17 18:40:24 +01:00
Dylan K. Taylor
2034caf71c
Merge branch 'mcpe-1.4.0-alpha12' into release/alpha12
1.7dev-999
2018-05-17 18:38:58 +01:00
Dylan K. Taylor
89ccac7a8c
updated blockIDs table
2018-05-17 16:17:26 +01:00
Dylan K. Taylor
f6e71d8296
Protocol changes for 1.4.0 release
...
this is nearly the same as 1.5.0.0, except the skin packet premium boolean has been dropped.
This isn't production ready yet because the blockID table needs updating (waiting on MrARM to fix his script for that).
2018-05-17 10:36:16 +01:00
Dylan K. Taylor
b333a0e24c
PlayStatusPacket: add new constant
2018-05-17 10:33:18 +01:00
Dylan K. Taylor
8312ad709e
InventoryTransaction: Removed creationTime
...
this is no longer necessary because transactions now always arrive in a single packet.
2018-05-16 12:14:29 +01:00
Dylan K. Taylor
63fc04b3dd
thanks for being useless PhpStorm
2018-05-13 11:56:32 +01:00
Dylan K. Taylor
34b8557094
Moved parseDocComment from PluginManager to Utils
2018-05-13 11:24:04 +01:00
Dylan K. Taylor
edaef588ab
CommandReader: remove unnecessary setClassLoader() call
...
this is already handled in start() anyway.
2018-05-12 12:47:28 +01:00
Dylan K. Taylor
889222e9c5
MainLogger: Use PTHREADS_INHERIT_NONE
...
this thread doesn't need to inherit anything because its sole purpose is to write log messages to file.
2018-05-12 12:39:13 +01:00
Dylan K. Taylor
8239c67b1a
Enchantment: split up primary and secondary flags
...
closes #1911
2018-05-12 11:20:27 +01:00
Dylan K. Taylor
ed65e91a3c
Tree: avoid astonishing behaviour with dark-oak and acacia saplings
...
ref #1973 , these should simply not grow at all since they are not implemented yet.
2018-05-12 10:03:20 +01:00
Dylan K. Taylor
619390c5b7
Sapling: Account for light level when trying to grow on random ticks
2018-05-11 09:53:03 +01:00
Dylan K. Taylor
7e70569ba2
Player: Send all open inventories instead of hardcoded selection
...
Players have a few associated inventories which might need sending nowadays, such as main, armour, offhand (not implemented yet), cursor, crafting (if it ever worked). Under these conditions we should be sending all open windows.
2018-05-11 09:28:59 +01:00
Dylan K. Taylor
083ac8a770
Clean up Tool garbage leftovers
...
these were intended to be removed long ago, but other things came up and durability handling still depended on them.
2018-05-11 09:23:51 +01:00
Dylan K. Taylor
b21572774a
Tool: cleanup durability handling, closes #379
...
long overdue... this isn't quite as extensible as the original api3/blocks system was, but this is primarily intended to replace Item->useOn(). If plugins want to use it it can be extended later on.
2018-05-10 19:48:51 +01:00
Dylan K. Taylor
b8523cb304
Merge branch 'remove-weak-position'
2018-05-10 13:53:07 +01:00
Dylan K. Taylor
6ceb9af749
.-.
2018-05-10 12:51:39 +01:00
Dylan K. Taylor
bcd197d7bb
AsyncWorker: fixed __construct() signature
2018-05-10 12:50:09 +01:00
Dylan K. Taylor
3148f692c1
AsyncWorker: No need to register static logger - it's inherited by default with pthreads 3.1.7
2018-05-10 12:49:03 +01:00
Dylan K. Taylor
d8d22efc3b
Server: avoid abusing Throwable in a couple of places
2018-05-10 12:46:13 +01:00
Dylan K. Taylor
7b3653f75d
SetupWizard: remove dead constant
2018-05-10 12:39:15 +01:00
Dylan K. Taylor
9c5f7128a4
RCON: lots of cleanup, now notification-based instead of poll-based
...
This now utilizes Snooze in order to have the server wake up to process RCON commands ondemand, similar to how the CommandReader thread operates. This is better for performance and response times.
This also makes a few other changes:
- RCON thread will now waste less CPU since it uses a blocking select() with timeout to read
- Following from that, IPC sockets are used to allow interrupting select() from the RCON thread.
- Multiple threads for RCON has been removed (this is entirely unnecessary, reading data from sockets is not CPU-intensive, and a single thread is easier to work with)
2018-05-10 12:33:05 +01:00
Dylan K. Taylor
1e4a97f921
Server: remove dead code from forceShutdown()
2018-05-10 11:30:50 +01:00
Dylan K. Taylor
4d743ade45
CrashDump: resource hygiene
2018-05-10 11:29:16 +01:00
Dylan K. Taylor
78b5cc993b
Server: fixed signatures and type-checks for logger
...
this might not be a MainLogger instance, but it definitely has to be an \AttachableThreadedLogger instance.
2018-05-10 10:49:41 +01:00
Dylan K. Taylor
5e91c05424
Server::getIp() now returns 0.0.0.0 if the IP string is empty
2018-05-10 10:25:44 +01:00
Muqsit
e7c5d14af3
Fix DoubleSlab name ( #2177 )
2018-05-09 21:17:35 +01:00
Dylan K. Taylor
126a97b405
ServerKiller: fixed start/stop race condition
...
in some cases the main thread was trying to signal the server killer to stop before it was even started due to limited resources available for scheduling.
2018-05-09 20:59:56 +01:00
Dylan K. Taylor
753ed3801d
update RakLib version
2018-05-09 20:18:36 +01:00
Dylan K. Taylor
68ef4b210d
Allow RakLibServer to inherit constants (PATH const is needed for exception logging)
...
this is very annoying and needs a better fix.
2018-05-09 20:08:25 +01:00
Dylan K. Taylor
c3822b795c
CommandReader: use PTHREADS_INHERIT_NONE
...
probably not necessary to register autoloader, but just in case...
2018-05-09 20:02:51 +01:00
Dylan K. Taylor
be0e85dfae
CommandReader: fix notifier race condition crash, don't start self in constructor
...
self-start is extremely annoying!
2018-05-09 20:01:16 +01:00
Dylan K. Taylor
72690ea7f5
RakLibInterface: start RakLibServer with PTHREADS_INHERIT_NONE
...
this is now OK since the logger colours will be initialized on the fly.
2018-05-09 20:00:09 +01:00
Dylan K. Taylor
c9bd60123b
Scheduler: shutdown async pool properly instead of relying on ThreadManager
2018-05-09 19:49:12 +01:00
Dylan K. Taylor
05f4262e81
MainLogger: moved format to private variable
2018-05-09 18:14:46 +01:00
Dylan K. Taylor
dd11bcaf11
Fixed #1979 : logger colours don't show on other threads when classes are not inherited
2018-05-09 18:07:12 +01:00
Dylan K. Taylor
b96adda14d
MainLogger: Colorize at point of echo, not beforehand
...
this removes the need for a hack I had to do with ClientConsole to translate ANSI colour codes back into MC colour codes.
2018-05-09 18:04:16 +01:00