PocketMine-MP 5.23.3 git-976fc63567edab7a6fb6aeae739f43cf9fe57de4
Loading...
Searching...
No Matches
pocketmine\inventory\transaction\EnchantingTransaction Class Reference
+ Inheritance diagram for pocketmine\inventory\transaction\EnchantingTransaction:
+ Collaboration diagram for pocketmine\inventory\transaction\EnchantingTransaction:

Public Member Functions

 __construct (Player $source, private readonly EnchantingOption $option, private readonly int $cost)
 
 addAction (InventoryAction $action)
 
 execute ()
 
 getActions ()
 
 getInventories ()
 
 getSource ()
 
 hasExecuted ()
 
 validate ()
 

Protected Member Functions

 callExecuteEvent ()
 
 findResultItem (Item $needOrigin, array $possibleActions)
 
 matchItems (array &$needItems, array &$haveItems)
 
 squashDuplicateSlotChanges ()
 

Protected Attributes

array $actions = []
 
bool $hasExecuted = false
 
array $inventories = []
 

Detailed Description

Definition at line 36 of file EnchantingTransaction.php.

Constructor & Destructor Documentation

◆ __construct()

pocketmine\inventory\transaction\EnchantingTransaction::__construct ( Player $source,
private readonly EnchantingOption $option,
private readonly int $cost )

Definition at line 41 of file EnchantingTransaction.php.

Member Function Documentation

◆ addAction()

pocketmine\inventory\transaction\InventoryTransaction::addAction ( InventoryAction $action)
inherited

Definition at line 110 of file InventoryTransaction.php.

◆ callExecuteEvent()

pocketmine\inventory\transaction\EnchantingTransaction::callExecuteEvent ( )
protected

◆ execute()

pocketmine\inventory\transaction\EnchantingTransaction::execute ( )

Executes the group of actions, returning whether the transaction executed successfully or not.

Exceptions
TransactionException

Reimplemented from pocketmine\inventory\transaction\InventoryTransaction.

Definition at line 114 of file EnchantingTransaction.php.

◆ findResultItem()

pocketmine\inventory\transaction\InventoryTransaction::findResultItem ( Item $needOrigin,
array $possibleActions )
protectedinherited
Parameters
SlotChangeAction[]$possibleActions@phpstan-param array<int, SlotChangeAction> $possibleActions

Definition at line 236 of file InventoryTransaction.php.

◆ getActions()

pocketmine\inventory\transaction\InventoryTransaction::getActions ( )
inherited

Returns an unordered set of actions involved in this transaction.

WARNING: This system is explicitly designed NOT to care about ordering. Any order seen in this set has NO significance and should not be relied on.

Returns
InventoryAction[] @phpstan-return array<int, InventoryAction>

Definition at line 106 of file InventoryTransaction.php.

◆ getInventories()

pocketmine\inventory\transaction\InventoryTransaction::getInventories ( )
inherited
Returns
Inventory[] @phpstan-return array<int, Inventory>

Definition at line 93 of file InventoryTransaction.php.

◆ getSource()

pocketmine\inventory\transaction\InventoryTransaction::getSource ( )
inherited

Definition at line 85 of file InventoryTransaction.php.

◆ hasExecuted()

pocketmine\inventory\transaction\InventoryTransaction::hasExecuted ( )
inherited

Definition at line 329 of file InventoryTransaction.php.

◆ matchItems()

pocketmine\inventory\transaction\InventoryTransaction::matchItems ( array & $needItems,
array & $haveItems )
protectedinherited
Parameters
Item[]$needItems
Item[]$haveItems@phpstan-param-out list<Item> $needItems @phpstan-param-out list<Item> $haveItems
Exceptions
TransactionValidationException

Definition at line 142 of file InventoryTransaction.php.

◆ squashDuplicateSlotChanges()

pocketmine\inventory\transaction\InventoryTransaction::squashDuplicateSlotChanges ( )
protectedinherited

Iterates over SlotChangeActions in this transaction and compacts any which refer to the same slot in the same inventory so they can be correctly handled.

Under normal circumstances, the same slot would never be changed more than once in a single transaction. However, due to the way things like the crafting grid are "implemented" in MCPE 1.2 (a.k.a. hacked-in), we may get multiple slot changes referring to the same slot in a single transaction. These multiples are not even guaranteed to be in the correct order (slot splitting in the crafting grid for example, causes the actions to be sent in the wrong order), so this method also tries to chain them into order.

Definition at line 191 of file InventoryTransaction.php.

◆ validate()

pocketmine\inventory\transaction\EnchantingTransaction::validate ( )

Verifies that the transaction can execute.

Exceptions
TransactionValidationException

Reimplemented from pocketmine\inventory\transaction\InventoryTransaction.

Definition at line 75 of file EnchantingTransaction.php.

Member Data Documentation

◆ $actions

array pocketmine\inventory\transaction\InventoryTransaction::$actions = []
protectedinherited

Definition at line 71 of file InventoryTransaction.php.

◆ $hasExecuted

bool pocketmine\inventory\transaction\InventoryTransaction::$hasExecuted = false
protectedinherited

Definition at line 59 of file InventoryTransaction.php.

◆ $inventories

array pocketmine\inventory\transaction\InventoryTransaction::$inventories = []
protectedinherited

Definition at line 65 of file InventoryTransaction.php.


The documentation for this class was generated from the following file: