Added Grass Path block, fixed redstone blocks not being able to be placed

This commit is contained in:
Shoghi Cervantes 2015-04-10 19:05:10 +02:00
parent 3f60f7c0fb
commit 3224cd7dc5
4 changed files with 79 additions and 0 deletions

View File

@ -239,6 +239,8 @@ class Block extends Position implements Metadatable{
const FENCE_GATE_DARK_OAK = 186; const FENCE_GATE_DARK_OAK = 186;
const FENCE_GATE_ACACIA = 187; const FENCE_GATE_ACACIA = 187;
const GRASS_PATH = 198;
const PODZOL = 243; const PODZOL = 243;
const BEETROOT_BLOCK = 244; const BEETROOT_BLOCK = 244;
const STONECUTTER = 245; const STONECUTTER = 245;
@ -706,6 +708,8 @@ class Block extends Position implements Metadatable{
self::$list[self::CARROT_BLOCK] = Carrot::class; self::$list[self::CARROT_BLOCK] = Carrot::class;
self::$list[self::POTATO_BLOCK] = Potato::class; self::$list[self::POTATO_BLOCK] = Potato::class;
self::$list[self::REDSTONE_BLOCK] = Redstone::class;
self::$list[self::QUARTZ_BLOCK] = Quartz::class; self::$list[self::QUARTZ_BLOCK] = Quartz::class;
self::$list[self::QUARTZ_STAIRS] = QuartzStairs::class; self::$list[self::QUARTZ_STAIRS] = QuartzStairs::class;
self::$list[self::DOUBLE_WOOD_SLAB] = DoubleWoodSlab::class; self::$list[self::DOUBLE_WOOD_SLAB] = DoubleWoodSlab::class;
@ -730,6 +734,8 @@ class Block extends Position implements Metadatable{
self::$list[self::FENCE_GATE_DARK_OAK] = FenceGateDarkOak::class; self::$list[self::FENCE_GATE_DARK_OAK] = FenceGateDarkOak::class;
self::$list[self::FENCE_GATE_ACACIA] = FenceGateAcacia::class; self::$list[self::FENCE_GATE_ACACIA] = FenceGateAcacia::class;
self::$list[self::GRASS_PATH] = GrassPath::class;
self::$list[self::PODZOL] = Podzol::class; self::$list[self::PODZOL] = Podzol::class;
self::$list[self::BEETROOT_BLOCK] = Beetroot::class; self::$list[self::BEETROOT_BLOCK] = Beetroot::class;
self::$list[self::STONECUTTER] = Stonecutter::class; self::$list[self::STONECUTTER] = Stonecutter::class;

View File

@ -84,6 +84,11 @@ class Grass extends Solid{
$item->useOn($this); $item->useOn($this);
$this->getLevel()->setBlock($this, new Farmland()); $this->getLevel()->setBlock($this, new Farmland());
return true;
}elseif($item->isShovel() and $this->getSide(1)->getId() === Block::AIR){
$item->useOn($this);
$this->getLevel()->setBlock($this, new GrassPath());
return true; return true;
} }

View File

@ -0,0 +1,66 @@
<?php
/*
*
* ____ _ _ __ __ _ __ __ ____
* | _ \ ___ ___| | _____| |_| \/ (_)_ __ ___ | \/ | _ \
* | |_) / _ \ / __| |/ / _ \ __| |\/| | | '_ \ / _ \_____| |\/| | |_) |
* | __/ (_) | (__| < __/ |_| | | | | | | | __/_____| | | | __/
* |_| \___/ \___|_|\_\___|\__|_| |_|_|_| |_|\___| |_| |_|_|
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* @author PocketMine Team
* @link http://www.pocketmine.net/
*
*
*/
namespace pocketmine\block;
use pocketmine\event\block\BlockSpreadEvent;
use pocketmine\item\Item;
use pocketmine\level\generator\object\TallGrass as TallGrassObject;
use pocketmine\level\Level;
use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Vector3;
use pocketmine\Player;
use pocketmine\Server;
use pocketmine\utils\Random;
class GrassPath extends Transparent{
protected $id = self::GRASS_PATH;
public function __construct(){
}
public function getName(){
return "Grass Path";
}
protected function recalculateBoundingBox(){
return new AxisAlignedBB(
$this->x,
$this->y,
$this->z,
$this->x + 1,
$this->y + 0.9375,
$this->z + 1
);
}
public function getHardness(){
return 3;
}
public function getDrops(Item $item){
return [
[Item::DIRT, 0, 1],
];
}
}

View File

@ -230,6 +230,8 @@ class Item{
const FENCE_GATE_DARK_OAK = 186; const FENCE_GATE_DARK_OAK = 186;
const FENCE_GATE_ACACIA = 187; const FENCE_GATE_ACACIA = 187;
const GRASS_PATH = 198;
const PODZOL = 243; const PODZOL = 243;
const BEETROOT_BLOCK = 244; const BEETROOT_BLOCK = 244;
const STONECUTTER = 245; const STONECUTTER = 245;