741d2a7380
devtools rollback
2019-06-07 10:49:58 +01:00
b0071ed703
Revert "remove PluginBase->getFile()"
...
This reverts commit 67321bb3f6
.
2019-06-07 10:44:52 +01:00
b5805c2d0a
Extract a ResourceLoader unit from PluginBase
...
this will allow addressing the resource accessing crash issue for script plugins, once fully implemented.
2019-06-06 19:32:23 +01:00
67321bb3f6
remove PluginBase->getFile()
...
this is in preparation for opening the doors to more exotic kinds of plugin loaders, such as eval()d or web plugins.
2019-06-06 18:35:47 +01:00
d176f6f1ca
update DevTools submodule
2019-06-06 18:35:05 +01:00
f8a7766880
PluginBase: remove useless function
...
it's possible to check the loader instance instead of doing this, and we're gunning to get rid of the path from the plugin base.
2019-06-06 18:22:20 +01:00
44c791f03e
Thread/Worker run() are now final, to set up common environment things
2019-06-06 16:44:32 +01:00
e07f3e8e65
fine, variadics are annoying and this is easy to break ...
2019-06-06 15:12:46 +01:00
5c5fbf9b78
fixed oopses in 287c8c2dd4
2019-06-06 15:09:35 +01:00
32c832c87e
Merge branch 'stable'
...
# Conflicts:
# resources/vanilla
# src/pocketmine/Server.php
# src/pocketmine/item/Item.php
# src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter.php
# src/pocketmine/network/mcpe/RakLibInterface.php
# src/pocketmine/network/query/QueryHandler.php
# src/pocketmine/utils/Utils.php
2019-06-06 15:04:05 +01:00
0058bfcd23
Utils: Limit length of printed stack trace strings to 80 characters
2019-06-06 14:56:19 +01:00
9f31b479e1
Improve stack trace rendering, show array and string lengths
2019-06-06 14:53:50 +01:00
eb161f8e1c
Use base64 instead of hex to display binary in some places
...
base64 takes less space than hex, which is beneficial for logging larger payloads.
2019-06-06 14:43:20 +01:00
61afc7b62c
NetworkSession: report the zlib error that happened
2019-06-06 14:16:04 +01:00
9f0a184a5d
Packet: Remove mayHaveUnreadBytes()
...
this was an old hack to prevent debug spam being emitted when we halted decoding of logins over breaking protocol changes. Since then, we've gone back to trying to decode the packet regardless, so this property is useless.
2019-06-05 15:37:35 +01:00
3b5df90b0b
BossEventPacket: add some functions to ease creation
2019-06-05 15:14:37 +01:00
287c8c2dd4
Added static create() functions for many packets
...
There are a few motivations here:
1) Less boilerplate code (this can be written inline)
2) It's possible to provide multiple constructors for different packet variations to reduce the chance of errors.
3) It makes things catch fire on updates in ways that static analysers can understand.
2019-06-05 15:00:08 +01:00
09afb8e772
Living: don't create MobEffectPacket directly
2019-06-04 19:53:08 +01:00
cda565ba8c
Merge branch 'stable'
...
# Conflicts:
# resources/vanilla
# src/pocketmine/inventory/ArmorInventory.php
2019-06-04 18:19:47 +01:00
80f8a27094
Fixed implicit dependency on MobArmorEquipmentPacket field ordering
...
the order of the slots is entirely dependent on Mojang whims, so we shouldn't let our internals rely on it.
2019-06-04 18:16:56 +01:00
6f29fe063f
move PlayerListPacket sending responsibility to NetworkSession
2019-06-04 18:02:36 +01:00
89d4f596bd
World: add and use a prefixed logger in some places
2019-06-04 14:23:40 +01:00
3c3e5a9850
ConsoleCommandSender: Do not hard-depend on MainLogger
...
this dependency makes it impossible to swap out.
2019-06-04 14:06:45 +01:00
5d16a48361
FormatConverter: Follow the standard format for log prefix
2019-06-04 14:04:29 +01:00
0ae3c734ea
RakLibInterface: remove unused variable
2019-06-04 14:00:01 +01:00
f5b149a022
RakLibInterface: Use the session's own logger to report handling errors
2019-06-04 13:56:52 +01:00
6743234461
AutoUpdater: add a prefixed logger
2019-06-04 13:51:17 +01:00
e69ab60034
MemoryManager: use prefixed loggers
2019-06-04 13:49:07 +01:00
3569f8dfbe
QueryHandler: move to a prefixed logger
2019-06-04 13:44:35 +01:00
df0acea2f4
Player: add a prefixed logger
2019-06-03 19:30:26 +01:00
56a4e8c032
Hopper: add more boilerplate code to fix inventory leak
2019-06-03 19:17:13 +01:00
7a05c46ff6
Merge branch 'stable'
...
# Conflicts:
# resources/vanilla
2019-06-03 18:21:49 +01:00
341c480e13
ContainerSetDataPacket: added missing furnace property ID
2019-06-03 18:21:29 +01:00
8e24e5655a
Merge branch 'stable'
...
# Conflicts:
# resources/vanilla
# src/pocketmine/entity/Attribute.php
2019-06-03 17:45:25 +01:00
971ad04299
Attribute: add more things
...
i got tired of commenting out exceptions in packets, so this is the quickest way to fix the problem.
2019-06-03 17:37:18 +01:00
087df45a3c
added some effect ID constants
2019-06-03 16:17:36 +01:00
9d42bc3c0c
updated consistency check for ad79e6cd8e
2019-06-01 12:12:55 +01:00
ad79e6cd8e
partial implementation of hopper (just enough to load/save all data)
2019-05-31 19:32:19 +01:00
e091cfe1de
interface Container extends InventoryHolder
2019-05-31 18:59:18 +01:00
df8db3b8e3
Merge branch 'stable'
2019-05-31 17:13:13 +01:00
025b72e2f2
Randomize the order of plugins retrieved from disk, fixes #2945 ( #2948 )
...
On most filesystems, plugins are loaded in lexical order because that's how the filesystem gives the files to us. This is a problem because it can hide bugs with dependency resolution on specific platforms with this behaviour, while inexplicably breaking on other platforms where the load order is different or undefined.
This change prevents plugins depending on any file yield order by randomizing the order in which plugin files are checked for loadability.
2019-05-31 17:11:20 +01:00
efe30ffb07
Merge branch 'stable'
...
# Conflicts:
# resources/vanilla
2019-05-31 15:31:32 +01:00
cf538afb84
LevelEventPacket: added two extra IDs
2019-05-31 15:31:03 +01:00
1049ffecc9
Sound->encode() now accepts Vector3|null
...
this will be needed for proper no-relative sound support.
2019-05-30 19:51:27 +01:00
77ace57985
BlockEventPacket: added a ::create() method
2019-05-30 19:44:29 +01:00
790c2cd4b7
added missing Monster Spawner tile
2019-05-30 19:26:16 +01:00
1bf5c74053
added missing DaylightSensor tile
2019-05-30 19:00:38 +01:00
f18da8d879
Added missing tile for Note Block
...
this doesn't come with a full impl because that requires some further changes like adding materials, which is out of the scope of this commit. This is here to prevent additional data loss in imported worlds.
2019-05-30 18:53:20 +01:00
ece4d99c1e
fix crash on invalid NBT during itemstack decoding
2019-05-30 09:53:20 +01:00
3d8cd54f16
Update composer dependencies
2019-05-30 04:26:06 -04:00