Fixed #1614, possible solution for #1678

This commit is contained in:
Shoghi Cervantes 2014-07-15 13:17:29 +02:00
parent 6e77901453
commit bd2cb4b851
5 changed files with 7 additions and 6 deletions

View File

@ -1411,11 +1411,11 @@ class Player extends Human implements CommandSender, InventoryHolder, IPlayer{
if($blockVector->distance($this) > 10){
}elseif(($this->gamemode & 0x01) === 1){
$item = $this->inventory->getItemInHand();;
$item = $this->inventory->getItemInHand();
if($this->getLevel()->useItemOn($blockVector, $item, $packet->face, $packet->fx, $packet->fy, $packet->fz, $this) === true){
break;
}
}elseif($this->inventory->getItemInHand()->getID() !== $packet->item or ($this->inventory->getItemInHand()->isTool() === false and $this->inventory->getItemInHand()->getDamage() !== $packet->meta)){
}elseif($this->inventory->getItemInHand()->getID() !== $packet->item or (($damage = $this->inventory->getItemInHand()->getDamage()) !== $packet->meta and $damage !== null)){
$this->inventory->sendHeldItem($this);
}else{
$item = clone $this->inventory->getItemInHand();

View File

@ -83,7 +83,7 @@ class PlayerInventory extends BaseInventory{
if($item instanceof Item){
return $item;
}else{
return Item::get(Item::AIR);
return Item::get(Item::AIR, 0, 0);
}
}

View File

@ -33,7 +33,7 @@ class Block extends Item{
}
public function setDamage($meta){
$this->meta = $meta !== null ? $meta & 0xFF : null;
$this->meta = $meta !== null ? $meta & 0xf : null;
$this->block->setDamage($this->meta);
}

View File

@ -898,6 +898,7 @@ class Level implements ChunkManager, Metadatable{
}
if($player instanceof Player){
$ev = new BlockPlaceEvent($player, $hand, $block, $target, $item);
if(!$player->isOp() and ($distance = $this->server->getConfigInt("spawn-protection", 16)) > -1){

View File

@ -48,9 +48,9 @@ LOOPS=0
set +e
while [ "$LOOPS" -eq 0 ] || [ "$DO_LOOP" == "yes" ]; do
if [ "$DO_LOOP" == "yes" ]; then
"$PHP_BINARY" "$POCKETMINE_FILE" "$@"
"$PHP_BINARY" "$POCKETMINE_FILE" $@
else
exec "$PHP_BINARY" "$POCKETMINE_FILE" "$@"
exec "$PHP_BINARY" "$POCKETMINE_FILE" $@
fi
((LOOPS++))
done