mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-09-06 17:59:48 +00:00
Crafting tables now work the same way as anvils and enchanting tables
Removing almost all special-case logic for crafting tables.
This commit is contained in:
@ -75,6 +75,7 @@ use pocketmine\form\Form;
|
||||
use pocketmine\form\FormValidationException;
|
||||
use pocketmine\inventory\CallbackInventoryListener;
|
||||
use pocketmine\inventory\Inventory;
|
||||
use pocketmine\inventory\PlayerCraftingInventory;
|
||||
use pocketmine\inventory\PlayerCursorInventory;
|
||||
use pocketmine\inventory\transaction\action\DropItemAction;
|
||||
use pocketmine\inventory\transaction\InventoryTransaction;
|
||||
@ -182,7 +183,7 @@ class Player extends Human implements CommandSender, ChunkListener, IPlayer{
|
||||
/** @var Inventory[] */
|
||||
protected array $permanentWindows = [];
|
||||
protected PlayerCursorInventory $cursorInventory;
|
||||
protected CraftingGrid $craftingGrid;
|
||||
protected PlayerCraftingInventory $craftingGrid;
|
||||
|
||||
protected int $messageCounter = 2;
|
||||
|
||||
@ -2301,7 +2302,7 @@ class Player extends Human implements CommandSender, ChunkListener, IPlayer{
|
||||
|
||||
protected function addDefaultWindows() : void{
|
||||
$this->cursorInventory = new PlayerCursorInventory($this);
|
||||
$this->craftingGrid = new CraftingGrid($this, CraftingGrid::SIZE_SMALL);
|
||||
$this->craftingGrid = new PlayerCraftingInventory($this);
|
||||
|
||||
$this->addPermanentInventories($this->inventory, $this->armorInventory, $this->cursorInventory, $this->offHandInventory);
|
||||
|
||||
@ -2316,10 +2317,6 @@ class Player extends Human implements CommandSender, ChunkListener, IPlayer{
|
||||
return $this->craftingGrid;
|
||||
}
|
||||
|
||||
public function setCraftingGrid(CraftingGrid $grid) : void{
|
||||
$this->craftingGrid = $grid;
|
||||
}
|
||||
|
||||
/**
|
||||
* @internal Called to clean up crafting grid and cursor inventory when it is detected that the player closed their
|
||||
* inventory.
|
||||
@ -2363,10 +2360,6 @@ class Player extends Human implements CommandSender, ChunkListener, IPlayer{
|
||||
throw new AssumptionFailedError("This server-generated transaction should never be invalid", 0, $e);
|
||||
}
|
||||
}
|
||||
|
||||
if($this->craftingGrid->getGridWidth() > CraftingGrid::SIZE_SMALL){
|
||||
$this->craftingGrid = new CraftingGrid($this, CraftingGrid::SIZE_SMALL);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user