Dylan K. Taylor
1504fdca24
Use 'enchanting' terminology
...
'enchant' just didn't feel right, being a verb.
All these things pertain to the act of enchanting.
This is now also consistent with CraftingTransaction etc. The ship already sailed on EnchantInventory, which will have to be renamed at a later datte. However, that was already inconsistent with 'enchanting table', so that's the odd one out here.
2023-08-23 16:14:17 +01:00
Dylan K. Taylor
bf668c0f6c
Rename EnchantHelper related stuff
...
Perhaps this and EnchantOption should be called EnchantingHelper and EnchantingOption respectively. The terminology used is rather inconsistent, but 'enchantment' definitely isn't the right word here.
2023-08-23 16:07:02 +01:00
Dylan K. Taylor
d942748203
Move enchanting seed generation to EnchantmentHelper
2023-08-23 15:52:49 +01:00
Dylan K. Taylor
b2414b4c29
EnchantTransaction: cleanup XP cost checking logic
2023-08-18 12:33:07 +01:00
Dylan K. Taylor
beaca8bb6d
EnchantTransaction: fixed XP level costs when minimum level is less than the XP cost
...
this can happen and happens in vanilla too. In these cases, as much of the XP cost as possible is deducted.
2023-08-16 14:51:47 +01:00
S3v3Nice
39867b97c5
Implement enchanting using enchanting tables ( #5953 )
...
Co-authored-by: Dylan K. Taylor <dktapps@pmmp.io>
2023-08-15 17:28:26 +01:00
BrandPVP
c01d2dc718
CreativeInventory per Player ( #5694 )
2023-07-06 11:08:13 +01:00
Dylan K. Taylor
453ad997e9
Merge branch 'item-stack-request' into item-stack-request-pm5
2023-03-20 22:05:12 +00:00
Dylan K. Taylor
7b0816e42f
Properly handle transaction building errors instead of kicking the player
2023-03-20 00:52:26 +00:00
Dylan K. Taylor
dace20ad1f
Merge branch 'item-stack-request' into item-stack-request-pm5
2023-03-14 22:34:47 +00:00
Dylan K. Taylor
2e9a3f9160
Working crafting :woohoo:
2023-01-04 22:29:29 +00:00
Dylan K. Taylor
01bad344a0
Merge branch 'next-minor' into next-major
2022-11-04 20:47:26 +00:00
Dylan K. Taylor
cdbdcb5d67
Merge branch 'stable' into next-minor
2022-11-04 20:44:28 +00:00
Dylan K. Taylor
2fdc46c165
PHPStan 1.9 features
2022-11-04 20:23:34 +00:00
Dylan K. Taylor
d4c4ae3d7a
Merge branch 'next-minor' into next-major
2022-08-25 19:27:29 +01:00
Dylan K. Taylor
c16893cbac
Merge branch 'stable' into next-minor
2022-08-25 19:25:19 +01:00
Dylan K. Taylor
5426b41447
InventoryTransaction: prevent client-authoritative item overstacking
...
this cheat is often used to carry more items in the inventory, wear multiple pieces of armour in one slot, and more.
2022-08-21 20:35:23 +01:00
Dylan K. Taylor
1ecb10acba
Merge branch 'next-minor' into next-major
2022-08-21 19:19:07 +01:00
Dylan K. Taylor
792c1b62b7
Introduce and use TransactionBuilder for inventory evacuations
2022-08-18 17:04:12 +01:00
Dylan K. Taylor
55cb68e5b5
Burn meta wildcards from Item, allow more dynamic recipe inputs
...
this was an obstacle for getting rid of legacy item IDs.
2022-06-27 13:33:26 +01:00
Dylan K. Taylor
aa9f8781ff
Merge branch 'next-minor' into next-major
2022-06-07 19:56:26 +01:00
Dylan K. Taylor
b57f0a2b7e
Fixed uninitialized typed properties
2022-06-06 17:23:43 +01:00
Dylan K. Taylor
083a35f970
Modernize property type declarations
2022-06-04 18:16:32 +01:00
Dylan K. Taylor
38d6284671
Use PHP-CS-Fixer to enforce file header presence
2022-06-04 17:34:49 +01:00
Dylan K. Taylor
179cac45f5
Merge branch 'stable' into next-minor
2022-05-22 16:21:05 +01:00
Dylan K. Taylor
5d92eddc82
InventoryTransaction: provide object ID of failed action for debugging identification
...
closes #3235
2022-05-21 17:35:21 +01:00
Dylan K. Taylor
fb4d332d1a
Modernize private property declarations in src/inventory/transaction
2022-05-17 20:51:22 +01:00
Dylan K. Taylor
d16b6fe61e
Merge branch 'stable' into staging/4.1
2022-01-28 20:40:07 +00:00
Covered123
6673289c33
Fixed spectator players being able to drop items ( #4775 )
...
closes #4765
2022-01-27 00:03:19 +00:00
Dylan K. Taylor
e986a0a4f2
Replace disallowed operators in src/inventory/
2022-01-20 19:20:32 +00:00
Dylan K. Taylor
ed4978c31b
Added VanillaItems::AIR()
...
we don't usually add VanillaItems entries for blocks since they already exist in VanillaBlocks, but air has a special use case specifically as an itemstack, so we make an exception for this case.
2021-12-07 00:41:07 +00:00
Dylan K. Taylor
5d4f14b388
Added TransactionBuilderInventory for server-side inventory transaction generation
2021-09-09 17:10:04 +01:00
Dylan K. Taylor
7ba573db77
Added API method Item::canStackWith()
2021-06-29 19:52:52 +01:00
Dylan K. Taylor
3e1ac66abf
Merge branch 'stable'
2021-02-02 13:46:29 +00:00
Dylan K. Taylor
d08c9ee634
Merge remote-tracking branch 'origin/stable'
...
# Conflicts:
# resources/vanilla
# src/pocketmine/VersionInfo.php
2020-11-10 22:44:59 +00:00
Dylan K. Taylor
d6ed542fcd
Merge remote-tracking branch 'origin/stable' into master
...
# Conflicts:
# composer.json
# composer.lock
# src/CrashDump.php
# src/pocketmine/Server.php
# src/pocketmine/level/format/io/region/McRegion.php
# tests/phpstan/configs/check-explicit-mixed-baseline.neon
# tests/phpstan/configs/l7-baseline.neon
# tests/phpstan/configs/l8-baseline.neon
# tests/travis/setup-php.yml
2020-10-26 16:18:53 +00:00
Dylan K. Taylor
e1d80f05b1
Merge branch 'stable' into master
2020-08-03 20:14:46 +01:00
Dylan K. Taylor
1d18662d9b
InventoryAction: replace isValid() with validate() which throws TransactionValidationException
2020-07-04 19:38:34 +01:00
Dylan K. Taylor
cf5e31c619
InventoryTransaction::execute() now throws exceptions instead of returning true/false
2020-07-01 14:08:28 +01:00
Dylan K. Taylor
29612cded3
CraftingTransaction: make CraftingManager injectable
...
this becomes a bit easier to unit-test.
2020-07-01 13:38:06 +01:00
Dylan K. Taylor
5b0964cec8
Merge commit '2dc3cf816'
...
# Conflicts:
# resources/vanilla
2020-06-03 12:52:42 +01:00
Dylan K. Taylor
adadd5423d
move force-close crafting grid hack to InGamePacketHandler
...
the crafting transaction implementation has no business caring about this
2020-04-29 16:54:23 +01:00
Dylan K. Taylor
08ac6a3c43
Convert CreativeInventory to singleton
2020-04-24 00:38:18 +01:00
Dylan K. Taylor
4014f9a4f2
InventoryManager: be aware of client-side state when syncing slots
...
this eliminates feedback loops during client-initiated slot changes, and also makes it possible to have a SlotChangeAction anonymous from its initiator.
2020-02-11 21:12:18 +00:00
Dylan K. Taylor
67bcc1c0fb
phpdoc armageddon for master, pass 1
2020-01-22 11:55:03 +00:00
Dylan K. Taylor
cda1143a79
Merge branch 'stable'
2020-01-09 17:17:42 +00:00
Dylan K. Taylor
0f718ea28b
Merge commit '8726604899d1a371567141e0831ed570d3233356'
2019-12-25 14:19:35 +00:00
Dylan K. Taylor
6b22f68674
Player: remove sendDataPacket()
2019-08-20 15:50:34 +01:00
Dylan K. Taylor
5499ac620c
Removed pocketmine subdirectory, map PSR-4 style
2019-07-30 19:14:57 +01:00