From 5fc192b73039e3fac3cbb76404c38d0b915b2e1d Mon Sep 17 00:00:00 2001 From: InusualZ Date: Mon, 25 Nov 2013 18:27:34 -0500 Subject: [PATCH 1/5] Fixed gh#332 Crafting with buckets (milk) returns the bucket --- src/Player.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Player.php b/src/Player.php index b25d04794..c11f0cadc 100644 --- a/src/Player.php +++ b/src/Player.php @@ -791,6 +791,7 @@ class Player{ } if(is_array($res)){ + if($this->server->api->dhandle("player.craft", array("player" => $this, "recipe" => $recipe, "craft" => $craft, "type" => $type)) === false){ return false; } @@ -840,6 +841,11 @@ class Player{ case DIAMOND: AchievementAPI::grantAchievement($this, "diamond"); break; + case CAKE: + for($i; $i <= 2; $i++){ + $this->addItem(BUCKET, 0, 1, false); + } + break; } } From c798a33363ca9ad4a3cd6157e3805da1441eb2fe Mon Sep 17 00:00:00 2001 From: InusualZ Date: Mon, 25 Nov 2013 18:53:02 -0500 Subject: [PATCH 2/5] Fixed gh#332 Crafting with buckets (milk) returns the bucket --- src/Player.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Player.php b/src/Player.php index c11f0cadc..58b792a7c 100644 --- a/src/Player.php +++ b/src/Player.php @@ -842,8 +842,11 @@ class Player{ AchievementAPI::grantAchievement($this, "diamond"); break; case CAKE: - for($i; $i <= 2; $i++){ - $this->addItem(BUCKET, 0, 1, false); + if($this->hasSpace(AIR, 0, 3) == true){ + $this->addItem(BUCKET, 0, 3, false); + } + else{ + $this->server->api->entity->drop(new Position($this->entity->x - 0.5, $this->entity->y, $this->entity->z - 0.5, $this->level), BlockAPI::getItem(BUCKET, 0, 3)); } break; From 0d25118eefb8bff10826ffc033d09b3588f5ca65 Mon Sep 17 00:00:00 2001 From: InusualZ Date: Mon, 25 Nov 2013 18:53:36 -0500 Subject: [PATCH 3/5] Fixed gh#332 Crafting with buckets (milk) returns the bucket --- src/Player.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Player.php b/src/Player.php index 58b792a7c..3c95224f3 100644 --- a/src/Player.php +++ b/src/Player.php @@ -842,7 +842,7 @@ class Player{ AchievementAPI::grantAchievement($this, "diamond"); break; case CAKE: - if($this->hasSpace(AIR, 0, 3) == true){ + if($this->hasSpace(AIR, 0, 0) == true){ $this->addItem(BUCKET, 0, 3, false); } else{ From 509e67bfb7e4773b82fb40d00a3fdc499519c895 Mon Sep 17 00:00:00 2001 From: InusualZ Date: Mon, 25 Nov 2013 19:28:59 -0500 Subject: [PATCH 4/5] No More Silk Touch On Explosion --- src/world/Explosion.php | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/world/Explosion.php b/src/world/Explosion.php index 952eb9e65..35efded3e 100644 --- a/src/world/Explosion.php +++ b/src/world/Explosion.php @@ -98,7 +98,28 @@ class Explosion{ $e = $server->api->entity->add($this->level, ENTITY_OBJECT, OBJECT_PRIMEDTNT, $data); $server->api->entity->spawnToAll($e); }elseif(mt_rand(0, 10000) < ((1/$this->size) * 10000)){ - $server->api->entity->drop(new Position($block->x + 0.5, $block->y, $block->z + 0.5, $this->level), BlockAPI::getItem($block->getID(), $this->level->level->getBlockDamage($block->x, $block->y, $block->z))); + switch ($block->getID()) { + + case GRASS: + $server->api->entity->drop(new Position($block->x + 0.5, $block->y, $block->z + 0.5, $this->level), BlockAPI::getItem(DIRT, $this->level->level->getBlockDamage($block->x, $block->y, $block->z))); + break; + + case STONE: + $server->api->entity->drop(new Position($block->x + 0.5, $block->y, $block->z + 0.5, $this->level), BlockAPI::getItem(COBBLESTONE, $this->level->level->getBlockDamage($block->x, $block->y, $block->z))); + break; + + case COAL_ORE: + $server->api->entity->drop(new Position($block->x + 0.5, $block->y, $block->z + 0.5, $this->level), new CoalItem()); + break; + + case DIAMOND_ORE: + $server->api->entity->drop(new Position($block->x + 0.5, $block->y, $block->z + 0.5, $this->level), new DiamondItem()); + break; + + default: + $server->api->entity->drop(new Position($block->x + 0.5, $block->y, $block->z + 0.5, $this->level), BlockAPI::getItem($block->getID(), $this->level->level->getBlockDamage($block->x, $block->y, $block->z))); + break; + } } $this->level->level->setBlockID($block->x, $block->y, $block->z, 0); $send[] = new Vector3($block->x - $source->x, $block->y - $source->y, $block->z - $source->z); @@ -112,4 +133,4 @@ class Explosion{ )); } -} \ No newline at end of file +} From 75e4174a2bbef39ef1e7b51d7341080cf06477ca Mon Sep 17 00:00:00 2001 From: InusualZ Date: Mon, 25 Nov 2013 19:31:40 -0500 Subject: [PATCH 5/5] Repaired --- src/Player.php | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/Player.php b/src/Player.php index 3c95224f3..5457fc977 100644 --- a/src/Player.php +++ b/src/Player.php @@ -842,12 +842,7 @@ class Player{ AchievementAPI::grantAchievement($this, "diamond"); break; case CAKE: - if($this->hasSpace(AIR, 0, 0) == true){ - $this->addItem(BUCKET, 0, 3, false); - } - else{ - $this->server->api->entity->drop(new Position($this->entity->x - 0.5, $this->entity->y, $this->entity->z - 0.5, $this->level), BlockAPI::getItem(BUCKET, 0, 3)); - } + $this->addItem(BUCKET, 0, 3, false); break; }