mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-05-12 08:49:42 +00:00
Merge branch 'release/3.5'
This commit is contained in:
commit
125cc28aa0
@ -48,8 +48,8 @@ class NetworkInventoryAction{
|
|||||||
*
|
*
|
||||||
* Expect these to change in the future.
|
* Expect these to change in the future.
|
||||||
*/
|
*/
|
||||||
public const SOURCE_TYPE_CRAFTING_USELESS_MAGIC_NUMBER = -2;
|
public const SOURCE_TYPE_CRAFTING_ADD_INGREDIENT = -2;
|
||||||
|
public const SOURCE_TYPE_CRAFTING_REMOVE_INGREDIENT = -3;
|
||||||
public const SOURCE_TYPE_CRAFTING_RESULT = -4;
|
public const SOURCE_TYPE_CRAFTING_RESULT = -4;
|
||||||
public const SOURCE_TYPE_CRAFTING_USE_INGREDIENT = -5;
|
public const SOURCE_TYPE_CRAFTING_USE_INGREDIENT = -5;
|
||||||
|
|
||||||
@ -109,11 +109,6 @@ class NetworkInventoryAction{
|
|||||||
case self::SOURCE_CREATIVE:
|
case self::SOURCE_CREATIVE:
|
||||||
break;
|
break;
|
||||||
case self::SOURCE_CRAFTING_GRID:
|
case self::SOURCE_CRAFTING_GRID:
|
||||||
$dummy = $packet->getVarInt();
|
|
||||||
if($dummy !== self::SOURCE_TYPE_CRAFTING_USELESS_MAGIC_NUMBER){
|
|
||||||
throw new \UnexpectedValueException("Useless magic number for crafting-grid type was $dummy, expected " . self::SOURCE_TYPE_CRAFTING_USELESS_MAGIC_NUMBER);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case self::SOURCE_TODO:
|
case self::SOURCE_TODO:
|
||||||
$this->windowId = $packet->getVarInt();
|
$this->windowId = $packet->getVarInt();
|
||||||
switch($this->windowId){
|
switch($this->windowId){
|
||||||
@ -152,8 +147,6 @@ class NetworkInventoryAction{
|
|||||||
case self::SOURCE_CREATIVE:
|
case self::SOURCE_CREATIVE:
|
||||||
break;
|
break;
|
||||||
case self::SOURCE_CRAFTING_GRID:
|
case self::SOURCE_CRAFTING_GRID:
|
||||||
$packet->putVarInt(self::SOURCE_TYPE_CRAFTING_USELESS_MAGIC_NUMBER);
|
|
||||||
break;
|
|
||||||
case self::SOURCE_TODO:
|
case self::SOURCE_TODO:
|
||||||
$packet->putVarInt($this->windowId);
|
$packet->putVarInt($this->windowId);
|
||||||
break;
|
break;
|
||||||
@ -201,24 +194,16 @@ class NetworkInventoryAction{
|
|||||||
|
|
||||||
return new CreativeInventoryAction($this->oldItem, $this->newItem, $type);
|
return new CreativeInventoryAction($this->oldItem, $this->newItem, $type);
|
||||||
case self::SOURCE_CRAFTING_GRID:
|
case self::SOURCE_CRAFTING_GRID:
|
||||||
return new SlotChangeAction($player->getCraftingGrid(), $this->inventorySlot, $this->oldItem, $this->newItem);
|
|
||||||
case self::SOURCE_TODO:
|
case self::SOURCE_TODO:
|
||||||
//These types need special handling.
|
//These types need special handling.
|
||||||
switch($this->windowId){
|
switch($this->windowId){
|
||||||
|
case self::SOURCE_TYPE_CRAFTING_ADD_INGREDIENT:
|
||||||
|
case self::SOURCE_TYPE_CRAFTING_REMOVE_INGREDIENT:
|
||||||
|
case self::SOURCE_TYPE_CONTAINER_DROP_CONTENTS: //TODO: this type applies to all fake windows, not just crafting
|
||||||
|
return new SlotChangeAction($player->getCraftingGrid(), $this->inventorySlot, $this->oldItem, $this->newItem);
|
||||||
case self::SOURCE_TYPE_CRAFTING_RESULT:
|
case self::SOURCE_TYPE_CRAFTING_RESULT:
|
||||||
case self::SOURCE_TYPE_CRAFTING_USE_INGREDIENT:
|
case self::SOURCE_TYPE_CRAFTING_USE_INGREDIENT:
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
case self::SOURCE_TYPE_CONTAINER_DROP_CONTENTS:
|
|
||||||
//TODO: this type applies to all fake windows, not just crafting
|
|
||||||
$window = $player->getCraftingGrid();
|
|
||||||
|
|
||||||
//DROP_CONTENTS doesn't bother telling us what slot the item is in, so we find it ourselves
|
|
||||||
$inventorySlot = $window->first($this->oldItem, true);
|
|
||||||
if($inventorySlot === -1){
|
|
||||||
throw new \InvalidStateException("Fake container " . get_class($window) . " for " . $player->getName() . " does not contain $this->oldItem");
|
|
||||||
}
|
|
||||||
return new SlotChangeAction($window, $inventorySlot, $this->oldItem, $this->newItem);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO: more stuff
|
//TODO: more stuff
|
||||||
|
Loading…
x
Reference in New Issue
Block a user