10135 Commits

Author SHA1 Message Date
Dylan K. Taylor
659cad0eff BlockFactory: added a hacky method to allow block state remapping
we need this for fixing old data in some cases
2019-06-07 18:31:37 +01:00
Dylan K. Taylor
f30cee15ca added Dried Kelp block 2019-06-07 18:03:17 +01:00
Dylan K. Taylor
a2274429ab Chest: constrain pair positions to immediately horizontally adjacent blocks
under normal circumstances a chest will never pair with a chest which isn't directly next to it anyway.
2019-06-07 17:24:59 +01:00
Dylan K. Taylor
cc6296b019 Furnace: give some properties clearer names 2019-06-07 15:41:32 +01:00
Dylan K. Taylor
7eb9b33fd6 Extract a CreativeInventory unit from Item
this will probably undergo further changes, but I'm primarily interested in just encapsulating the existing functionality for now.
2019-06-07 14:24:03 +01:00
Dylan K. Taylor
41039cecc1 Furnace: remove redundant network properties
these properties are continuously updating when the furnace is active, but they never trigger cache destruction, which means this is sending outdated garbage over the network, which is entirely unnecessary anyway.
2019-06-07 14:15:47 +01:00
Dylan K. Taylor
857092cf65 Furnace: Use the correct method to sync furnace fuel max burn time to the client 2019-06-07 14:06:17 +01:00
Dylan K. Taylor
741d2a7380 devtools rollback 2019-06-07 10:49:58 +01:00
Dylan K. Taylor
b0071ed703 Revert "remove PluginBase->getFile()"
This reverts commit 67321bb3f6724f22101aed772537cc10a4bad3ae.
2019-06-07 10:44:52 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
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
Dylan K. Taylor
d176f6f1ca update DevTools submodule 2019-06-06 18:35:05 +01:00
Dylan K. Taylor
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
Dylan T
b60731607d
Update travis.sh 2019-06-06 17:20:16 +01:00
Dylan K. Taylor
44c791f03e Thread/Worker run() are now final, to set up common environment things 2019-06-06 16:44:32 +01:00
Dylan K. Taylor
e07f3e8e65 fine, variadics are annoying and this is easy to break ... 2019-06-06 15:12:46 +01:00
Dylan K. Taylor
5c5fbf9b78 fixed oopses in 287c8c2dd4c4692643c6c0b05cbc24925d39a53c 2019-06-06 15:09:35 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
0058bfcd23 Utils: Limit length of printed stack trace strings to 80 characters 2019-06-06 14:56:19 +01:00
Dylan K. Taylor
9f31b479e1 Improve stack trace rendering, show array and string lengths 2019-06-06 14:53:50 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
61afc7b62c NetworkSession: report the zlib error that happened 2019-06-06 14:16:04 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
3b5df90b0b BossEventPacket: add some functions to ease creation 2019-06-05 15:14:37 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
09afb8e772 Living: don't create MobEffectPacket directly 2019-06-04 19:53:08 +01:00
Dylan K. Taylor
cda565ba8c Merge branch 'stable'
# Conflicts:
#	resources/vanilla
#	src/pocketmine/inventory/ArmorInventory.php
2019-06-04 18:19:47 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
6f29fe063f move PlayerListPacket sending responsibility to NetworkSession 2019-06-04 18:02:36 +01:00
Dylan K. Taylor
89d4f596bd World: add and use a prefixed logger in some places 2019-06-04 14:23:40 +01:00
Dylan K. Taylor
3c3e5a9850 ConsoleCommandSender: Do not hard-depend on MainLogger
this dependency makes it impossible to swap out.
2019-06-04 14:06:45 +01:00
Dylan K. Taylor
5d16a48361 FormatConverter: Follow the standard format for log prefix 2019-06-04 14:04:29 +01:00
Dylan K. Taylor
0ae3c734ea RakLibInterface: remove unused variable 2019-06-04 14:00:01 +01:00
Dylan K. Taylor
f5b149a022 RakLibInterface: Use the session's own logger to report handling errors 2019-06-04 13:56:52 +01:00
Dylan K. Taylor
6743234461 AutoUpdater: add a prefixed logger 2019-06-04 13:51:17 +01:00
Dylan K. Taylor
e69ab60034 MemoryManager: use prefixed loggers 2019-06-04 13:49:07 +01:00
Dylan K. Taylor
3569f8dfbe QueryHandler: move to a prefixed logger 2019-06-04 13:44:35 +01:00
Dylan K. Taylor
df0acea2f4 Player: add a prefixed logger 2019-06-03 19:30:26 +01:00
Dylan K. Taylor
56a4e8c032 Hopper: add more boilerplate code to fix inventory leak 2019-06-03 19:17:13 +01:00
Dylan K. Taylor
7a05c46ff6 Merge branch 'stable'
# Conflicts:
#	resources/vanilla
2019-06-03 18:21:49 +01:00
Dylan K. Taylor
341c480e13 ContainerSetDataPacket: added missing furnace property ID 2019-06-03 18:21:29 +01:00
Dylan K. Taylor
8e24e5655a Merge branch 'stable'
# Conflicts:
#	resources/vanilla
#	src/pocketmine/entity/Attribute.php
2019-06-03 17:45:25 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
087df45a3c added some effect ID constants 2019-06-03 16:17:36 +01:00
Dylan K. Taylor
9d42bc3c0c updated consistency check for ad79e6cd8e121ae3db02a10b7e86bc1bba8287f7 2019-06-01 12:12:55 +01:00
Dylan K. Taylor
ad79e6cd8e partial implementation of hopper (just enough to load/save all data) 2019-05-31 19:32:19 +01:00
Dylan K. Taylor
e091cfe1de interface Container extends InventoryHolder 2019-05-31 18:59:18 +01:00
Dylan K. Taylor
df8db3b8e3 Merge branch 'stable' 2019-05-31 17:13:13 +01:00
Dylan T
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
Dylan K. Taylor
efe30ffb07 Merge branch 'stable'
# Conflicts:
#	resources/vanilla
2019-05-31 15:31:32 +01:00