hack in different wood sign types

This commit is contained in:
Dylan K. Taylor 2019-03-23 15:44:28 +00:00
parent 765c5963a8
commit 905cb7544a
3 changed files with 18 additions and 13 deletions

View File

@ -227,7 +227,6 @@ class BlockFactory{
self::register(new SandstoneStairs(new BID(Block::RED_SANDSTONE_STAIRS), "Red Sandstone Stairs"));
self::register(new SandstoneStairs(new BID(Block::SANDSTONE_STAIRS), "Sandstone Stairs"));
self::register(new SeaLantern(new BID(Block::SEALANTERN), "Sea Lantern"));
self::register(new Sign(new BlockIdentifierFlattened(Block::STANDING_SIGN, Block::WALL_SIGN, 0, ItemIds::SIGN, \pocketmine\tile\Sign::class), "Sign"));
self::register(new Skull(new BID(Block::MOB_HEAD_BLOCK, 0, null, \pocketmine\tile\Skull::class), "Mob Head"));
self::register(new SmoothStone(new BID(Block::STONE, Stone::NORMAL), "Stone"));
self::register(new Snow(new BID(Block::SNOW), "Snow Block"));
@ -340,6 +339,15 @@ class BlockFactory{
$woodenTrapdoorIds[TreeType::ACACIA()] = Block::ACACIA_TRAPDOOR;
$woodenTrapdoorIds[TreeType::DARK_OAK()] = Block::DARK_OAK_TRAPDOOR;
/** @var BlockIdentifierFlattened[]|\SplObjectStorage $woodenSignIds */
$woodenSignIds = new \SplObjectStorage();
$woodenSignIds[TreeType::OAK()] = new BlockIdentifierFlattened(Block::SIGN_POST, Block::WALL_SIGN, 0, ItemIds::SIGN, \pocketmine\tile\Sign::class);
$woodenSignIds[TreeType::SPRUCE()] = new BlockIdentifierFlattened(Block::SPRUCE_STANDING_SIGN, Block::SPRUCE_WALL_SIGN, 0, ItemIds::SPRUCE_SIGN, \pocketmine\tile\Sign::class);
$woodenSignIds[TreeType::BIRCH()] = new BlockIdentifierFlattened(Block::BIRCH_STANDING_SIGN, Block::BIRCH_WALL_SIGN, 0, ItemIds::BIRCH_SIGN, \pocketmine\tile\Sign::class);
$woodenSignIds[TreeType::JUNGLE()] = new BlockIdentifierFlattened(Block::JUNGLE_STANDING_SIGN, Block::JUNGLE_WALL_SIGN, 0, ItemIds::JUNGLE_SIGN, \pocketmine\tile\Sign::class);
$woodenSignIds[TreeType::ACACIA()] = new BlockIdentifierFlattened(Block::ACACIA_STANDING_SIGN, Block::ACACIA_WALL_SIGN, 0, ItemIds::ACACIA_SIGN, \pocketmine\tile\Sign::class);
$woodenSignIds[TreeType::DARK_OAK()] = new BlockIdentifierFlattened(Block::DARKOAK_STANDING_SIGN, Block::DARKOAK_WALL_SIGN, 0, ItemIds::DARKOAK_SIGN, \pocketmine\tile\Sign::class);
foreach(TreeType::getAll() as $treeType){
$magicNumber = $treeType->getMagicNumber();
$name = $treeType->getDisplayName();
@ -360,6 +368,8 @@ class BlockFactory{
self::register(new WoodenButton(new BID($woodenButtonIds[$treeType]), $treeType->getDisplayName() . " Button"));
self::register(new WoodenPressurePlate(new BID($woodenPressurePlateIds[$treeType]), $treeType->getDisplayName() . " Pressure Plate"));
self::register(new Trapdoor(new BID($woodenTrapdoorIds[$treeType]), $treeType->getDisplayName() . " Trapdoor"));
self::register(new Sign($woodenSignIds[$treeType], $treeType->getDisplayName() . " Sign"));
}
static $sandstoneTypes = [

View File

@ -214,7 +214,12 @@ class ItemFactory{
self::register(new Shovel(Item::IRON_SHOVEL, "Iron Shovel", TieredTool::TIER_IRON));
self::register(new Shovel(Item::STONE_SHOVEL, "Stone Shovel", TieredTool::TIER_STONE));
self::register(new Shovel(Item::WOODEN_SHOVEL, "Wooden Shovel", TieredTool::TIER_WOODEN));
self::register(new Sign());
self::register(new Sign(Block::STANDING_SIGN, 0, Item::SIGN));
self::register(new Sign(Block::SPRUCE_STANDING_SIGN, 0, Item::SPRUCE_SIGN));
self::register(new Sign(Block::BIRCH_STANDING_SIGN, 0, Item::BIRCH_SIGN));
self::register(new Sign(Block::JUNGLE_STANDING_SIGN, 0, Item::JUNGLE_SIGN));
self::register(new Sign(Block::ACACIA_STANDING_SIGN, 0, Item::ACACIA_SIGN));
self::register(new Sign(Block::DARKOAK_STANDING_SIGN, 0, Item::DARKOAK_SIGN));
self::register(new Snowball());
self::register(new SpiderEye());
self::register(new Steak());

View File

@ -23,17 +23,7 @@ declare(strict_types=1);
namespace pocketmine\item;
use pocketmine\block\Block;
use pocketmine\block\BlockFactory;
class Sign extends Item{
public function __construct(){
parent::__construct(self::SIGN, 0, "Sign");
}
public function getBlock() : Block{
return BlockFactory::get(Block::SIGN_POST);
}
class Sign extends ItemBlock{
public function getMaxStackSize() : int{
return 16;