10221 Commits

Author SHA1 Message Date
Dylan K. Taylor
80d277f1b5 removed return value of ChunkManager->setBlockAt() and World->setBlock() 2019-07-21 18:55:22 +01:00
Dylan K. Taylor
703ae3a172 Merge branch 'master' of https://github.com/pmmp/PocketMine-MP 2019-07-21 18:53:25 +01:00
Dylan K. Taylor
6fdcb09891 fix PhpStorm's screwup with World->setBlock() doc comment
it's not the first time i've seen it do this, and i still have no idea why it does this.
2019-07-21 18:52:33 +01:00
Dylan K. Taylor
a9c6489e08 updated consistency check for e388ac9c8b133fbf0382ef56f6ab75f04249a670 2019-07-21 13:11:59 +01:00
Dylan K. Taylor
e388ac9c8b implemented lantern 2019-07-20 17:48:09 +01:00
Dylan K. Taylor
08a654760c Allow PlayerInfo to contain additional metadata 2019-07-20 15:19:17 +01:00
Dylan K. Taylor
1e057394c0 Utils: added cloneCallback() and cloneObjectArray() to reduce list copying boilerplate 2019-07-19 19:19:04 +01:00
Dylan K. Taylor
47b120fa0e crafting: avoid unnecessary recipe mutability 2019-07-19 19:11:36 +01:00
Dylan K. Taylor
556beacdbf make PlayerAchievementAwardedEvent less useless 2019-07-19 18:59:06 +01:00
Dylan K. Taylor
b4df1ac547 Remove Achievement::broadcast(), remove cyclic dependency, inline code in Player 2019-07-19 18:47:18 +01:00
Dylan K. Taylor
3965c9419d Merge branch 'stable' 2019-07-19 18:20:38 +01:00
Dylan K. Taylor
26faf4a952 Player: fixed sendTranslation() passing parent parameters to translate parameters 2019-07-19 18:15:35 +01:00
Dylan K. Taylor
14d79c205b TranslationContainer: remove redundant setters
i'd like to make this completely immutable, but there are some problems to solve first.
2019-07-19 18:09:00 +01:00
Dylan K. Taylor
99bba66f13 Block no longer implements BlockLegacyIds 2019-07-19 17:49:59 +01:00
Dylan K. Taylor
1fee70abfb Item no longer implements ItemIds 2019-07-19 17:43:06 +01:00
Dylan K. Taylor
ac12911561 move network entity IDs to network namespace
we're going to need a dedicated data package, because this stuff isn't just network-specific.
2019-07-19 15:33:30 +01:00
Dylan K. Taylor
0ebd3e6ca2 fix /effect crash 2019-07-19 14:10:19 +01:00
Dylan K. Taylor
5a5ce84ebc yucky fix for crash on invalid keychain 2019-07-19 14:01:21 +01:00
Dylan K. Taylor
a4c7744188 [ci skip] changelog updates 2019-07-19 13:53:44 +01:00
Dylan K. Taylor
c5ebc12f1a Merge remote-tracking branch 'origin/stable' 2019-07-19 13:45:53 +01:00
Muqsit
5e8c92b1da Fix test failure #3047 2019-07-19 13:42:03 +01:00
Muqsit
a8fa3ba434 Add test for whether item retains it's display properties after deserialization (#3047) 2019-07-19 13:06:07 +01:00
Dylan T
670bf2b9d1
doxygen: sort more things, for our sanity (#3045) 2019-07-19 10:52:32 +01:00
Dylan T
f5491346ce
doxygen: set HIDE_IN_BODY_DOCS = yes (#3044)
fixes #3043
2019-07-19 10:34:41 +01:00
Dylan K. Taylor
b5b4133c5d Item: fixed always-false null checks on getNamedTag() result 2019-07-18 19:45:59 +01:00
Dylan K. Taylor
e22986f065 EffectCommand: Remove support for internal MCPE effect IDs 2019-07-18 19:30:20 +01:00
Dylan K. Taylor
3632e07cdb EffectCommand: Remove internal ID from translated message 2019-07-18 19:29:43 +01:00
Dylan K. Taylor
64948f38d0 Separate effect registry from base Effect class 2019-07-18 15:49:58 +01:00
Dylan K. Taylor
728aa8aae7 RegistryTrait: Alias internal methods by default
it's always necessary to wrap these methods with the appropriate typehints.
2019-07-17 19:59:28 +01:00
Dylan K. Taylor
1a1feefd3e Pull tier info out of TieredTool, create ToolTier enum 2019-07-17 18:06:49 +01:00
Dylan K. Taylor
7954a81602 fixing finality and constructor visibility on some enums 2019-07-17 18:04:15 +01:00
TheNewHEROBRINEX
73d3f9f7f7 Fix loadbefore sometimes not working (#3040)
loadbefore operates by injecting self into the target plugin's soft-dependencies. The problem is that these soft-dependency lists are overwritten if the target plugin's soft-dependencies are resolved after the loadbefore of the origin plugin.
2019-07-17 16:52:29 +01:00
Dylan K. Taylor
ccf165b107 mark some assumed-immutable classes as final 2019-07-17 16:24:29 +01:00
Dylan K. Taylor
6aba9fadfc Encapsulate Item enchantment handling parts within a trait for scope isolation
as a happy side effect, this makes the Item class smaller, makes the code easier to read, and also makes the code more easily testable.
2019-07-17 16:12:13 +01:00
Dylan K. Taylor
af73c5f2b1 Make EnchantmentInstance immutable, remove enchantment clone from Item
it doesn't make sense to set the level of an existing enchantment instance because under the old API it would have no effect anyway (if it was returned from an itemstack) or you had access to the constructor (if applying a new enchantment). Allowing this to be mutable creates needless complexity and performance headaches.
2019-07-17 16:03:08 +01:00
Dylan K. Taylor
fec8c75fd8 [ci skip] changelog: document more misc API changes 2019-07-17 15:55:28 +01:00
Dylan K. Taylor
74572fde08 [ci skip] changelog: add some information about NBT handling changes 2019-07-17 15:52:52 +01:00
Dylan K. Taylor
ad4ed1c95c [ci skip] expand changelog on item changes 2019-07-17 14:46:43 +01:00
Dylan K. Taylor
382d97a178 Merge branch 'stable' 2019-07-17 13:58:43 +01:00
Dylan K. Taylor
b57dcebb6f Living: tighten validity checks on health NBT, don't use generic getValue() (it could return anything) 2019-07-16 19:59:15 +01:00
Dylan K. Taylor
711ea3185d update composer dependencies 2019-07-16 19:53:47 +01:00
Dylan K. Taylor
ff21977461 Item: simplify equals()
getNamedTag() can't return null anymore.
2019-07-16 18:11:09 +01:00
Dylan K. Taylor
49a6821195 fix @return hints on Item fluent methods 2019-07-16 18:06:21 +01:00
Dylan K. Taylor
8f64d6b053 Don't mess with NBT when creating signed books 2019-07-16 17:59:39 +01:00
Dylan K. Taylor
73a847123b WritableBookBase: Make setPages() fluent 2019-07-16 17:59:01 +01:00
Dylan K. Taylor
3d0e47ba14 WritableBookBase: Don't expose page deque on the API
putting this stuff on the API creates a nightmare because DS structures are both mutable and by-reference, so they have to be manually copied everywhere.
2019-07-16 17:52:58 +01:00
Dylan K. Taylor
27352486a0 Remove item NBT runtime usage, marginalize to serialize/deserialize
this is a more tame version of my initial attempt to firehose item NBT. It marginalizes the use of item NBT to the places where it's needed on interfaces, leaving the internals clean to operate on whatever they like.
2019-07-16 16:51:45 +01:00
Dylan K. Taylor
d624c38ab1 Remove dead proxy functions Item::get(), Block::get() and Item::fromString()
with the introduction of the VanillaBlocks and VanillaItems API, it's expected that plugins will no longer need these methods.
2019-07-16 14:31:04 +01:00
Dylan K. Taylor
52de5a6e49 Removed remaining usages of Item::get() 2019-07-16 14:27:32 +01:00
Dylan K. Taylor
d874be99a6 PrimedTNT: fix explosion position, close #3037 2019-07-16 13:55:31 +01:00