diff --git a/src/block/Banner.php b/src/block/Banner.php index cb4a5449f..2be5e82e7 100644 --- a/src/block/Banner.php +++ b/src/block/Banner.php @@ -195,8 +195,4 @@ class Banner extends Transparent{ } return $result; } - - public function isAffectedBySilkTouch() : bool{ - return false; - } } diff --git a/src/block/Block.php b/src/block/Block.php index d17380702..b2fda913d 100644 --- a/src/block/Block.php +++ b/src/block/Block.php @@ -402,11 +402,10 @@ class Block{ } /** - * Returns whether Silk Touch enchanted tools will cause this block to drop as itself. Since most blocks drop - * themselves anyway, this is implicitly true. + * Returns whether Silk Touch enchanted tools will cause this block to drop as itself. */ public function isAffectedBySilkTouch() : bool{ - return true; + return false; } /** diff --git a/src/block/BlockFactory.php b/src/block/BlockFactory.php index bb3387660..1abdc0652 100644 --- a/src/block/BlockFactory.php +++ b/src/block/BlockFactory.php @@ -325,6 +325,10 @@ class BlockFactory{ public function getDropsForCompatibleTool(Item $item) : array{ return [VanillaBlocks::COBBLESTONE()->asItem()]; } + + public function isAffectedBySilkTouch() : bool{ + return true; + } }); $this->register(new Stair(new BID(Ids::NORMAL_STONE_STAIRS), "Stone Stairs", $stoneBreakInfo)); $this->register(new Opaque(new BID(Ids::SMOOTH_STONE), "Smooth Stone", $stoneBreakInfo)); diff --git a/src/block/Bookshelf.php b/src/block/Bookshelf.php index f4af2e111..e72d99b96 100644 --- a/src/block/Bookshelf.php +++ b/src/block/Bookshelf.php @@ -38,6 +38,10 @@ class Bookshelf extends Opaque{ ]; } + public function isAffectedBySilkTouch() : bool{ + return true; + } + public function getFuelTime() : int{ return 300; } diff --git a/src/block/BrownMushroomBlock.php b/src/block/BrownMushroomBlock.php index 09b183491..47f2ff07d 100644 --- a/src/block/BrownMushroomBlock.php +++ b/src/block/BrownMushroomBlock.php @@ -33,4 +33,8 @@ class BrownMushroomBlock extends RedMushroomBlock{ VanillaBlocks::BROWN_MUSHROOM()->asItem()->setCount(mt_rand(0, 2)) ]; } + + public function isAffectedBySilkTouch() : bool{ + return true; + } } diff --git a/src/block/Cake.php b/src/block/Cake.php index 23ed7b3b8..200d2e2a3 100644 --- a/src/block/Cake.php +++ b/src/block/Cake.php @@ -86,10 +86,6 @@ class Cake extends Transparent implements FoodSource{ return []; } - public function isAffectedBySilkTouch() : bool{ - return false; - } - public function onInteract(Item $item, int $face, Vector3 $clickVector, ?Player $player = null) : bool{ if($player !== null){ $player->consumeObject($this); diff --git a/src/block/Clay.php b/src/block/Clay.php index b3b51e2dd..2947a50be 100644 --- a/src/block/Clay.php +++ b/src/block/Clay.php @@ -37,4 +37,8 @@ class Clay extends Opaque{ VanillaItems::CLAY()->setCount(4) ]; } + + public function isAffectedBySilkTouch() : bool{ + return true; + } } diff --git a/src/block/CoalOre.php b/src/block/CoalOre.php index 434e5ee0b..33b514c09 100644 --- a/src/block/CoalOre.php +++ b/src/block/CoalOre.php @@ -40,6 +40,10 @@ class CoalOre extends Opaque{ ]; } + public function isAffectedBySilkTouch() : bool{ + return true; + } + protected function getXpDropAmount() : int{ return mt_rand(0, 2); } diff --git a/src/block/Cobweb.php b/src/block/Cobweb.php index 82c42422d..e28bf19a7 100644 --- a/src/block/Cobweb.php +++ b/src/block/Cobweb.php @@ -47,6 +47,10 @@ class Cobweb extends Flowable{ ]; } + public function isAffectedBySilkTouch() : bool{ + return true; + } + public function diffusesSkyLight() : bool{ return true; } diff --git a/src/block/CocoaBlock.php b/src/block/CocoaBlock.php index c4be19397..02534a10a 100644 --- a/src/block/CocoaBlock.php +++ b/src/block/CocoaBlock.php @@ -59,10 +59,6 @@ class CocoaBlock extends Transparent{ return 0b1111; } - public function isAffectedBySilkTouch() : bool{ - return false; - } - /** * @return AxisAlignedBB[] */ diff --git a/src/block/Crops.php b/src/block/Crops.php index 0abc97225..1d96ff210 100644 --- a/src/block/Crops.php +++ b/src/block/Crops.php @@ -104,8 +104,4 @@ abstract class Crops extends Flowable{ } } } - - public function isAffectedBySilkTouch() : bool{ - return false; - } } diff --git a/src/block/DeadBush.php b/src/block/DeadBush.php index 7828ad494..611c67596 100644 --- a/src/block/DeadBush.php +++ b/src/block/DeadBush.php @@ -61,6 +61,10 @@ class DeadBush extends Flowable{ return parent::getDrops($item); } + public function isAffectedBySilkTouch() : bool{ + return true; + } + public function getFlameEncouragement() : int{ return 60; } diff --git a/src/block/DiamondOre.php b/src/block/DiamondOre.php index 44d89c966..c6d104ba5 100644 --- a/src/block/DiamondOre.php +++ b/src/block/DiamondOre.php @@ -40,6 +40,10 @@ class DiamondOre extends Opaque{ ]; } + public function isAffectedBySilkTouch() : bool{ + return true; + } + protected function getXpDropAmount() : int{ return mt_rand(3, 7); } diff --git a/src/block/EmeraldOre.php b/src/block/EmeraldOre.php index aa9b95c27..ec630c3bb 100644 --- a/src/block/EmeraldOre.php +++ b/src/block/EmeraldOre.php @@ -40,6 +40,10 @@ class EmeraldOre extends Opaque{ ]; } + public function isAffectedBySilkTouch() : bool{ + return true; + } + protected function getXpDropAmount() : int{ return mt_rand(3, 7); } diff --git a/src/block/Farmland.php b/src/block/Farmland.php index 1752479ce..a18d6119f 100644 --- a/src/block/Farmland.php +++ b/src/block/Farmland.php @@ -103,10 +103,6 @@ class Farmland extends Transparent{ ]; } - public function isAffectedBySilkTouch() : bool{ - return false; - } - public function getPickedItem(bool $addUserData = false) : Item{ return VanillaBlocks::DIRT()->asItem(); } diff --git a/src/block/FlowerPot.php b/src/block/FlowerPot.php index ddd6d6e47..a60e8bc09 100644 --- a/src/block/FlowerPot.php +++ b/src/block/FlowerPot.php @@ -151,8 +151,4 @@ class FlowerPot extends Flowable{ public function getPickedItem(bool $addUserData = false) : Item{ return $this->plant !== null ? $this->plant->asItem() : parent::getPickedItem($addUserData); } - - public function isAffectedBySilkTouch() : bool{ - return false; - } } diff --git a/src/block/Glass.php b/src/block/Glass.php index 5ba7742f5..1eb1d3516 100644 --- a/src/block/Glass.php +++ b/src/block/Glass.php @@ -34,4 +34,8 @@ class Glass extends Transparent{ public function getDropsForCompatibleTool(Item $item) : array{ return []; } + + public function isAffectedBySilkTouch() : bool{ + return true; + } } diff --git a/src/block/GlassPane.php b/src/block/GlassPane.php index 464b178a7..a549ef4cc 100644 --- a/src/block/GlassPane.php +++ b/src/block/GlassPane.php @@ -34,4 +34,8 @@ class GlassPane extends Thin{ public function getDropsForCompatibleTool(Item $item) : array{ return []; } + + public function isAffectedBySilkTouch() : bool{ + return true; + } } diff --git a/src/block/Glowstone.php b/src/block/Glowstone.php index 47785dd72..aa63125af 100644 --- a/src/block/Glowstone.php +++ b/src/block/Glowstone.php @@ -42,4 +42,8 @@ class Glowstone extends Transparent{ VanillaItems::GLOWSTONE_DUST()->setCount(mt_rand(2, 4)) ]; } + + public function isAffectedBySilkTouch() : bool{ + return true; + } } diff --git a/src/block/Grass.php b/src/block/Grass.php index 7c74d4b08..67bbcfb0f 100644 --- a/src/block/Grass.php +++ b/src/block/Grass.php @@ -47,6 +47,10 @@ class Grass extends Opaque{ ]; } + public function isAffectedBySilkTouch() : bool{ + return true; + } + public function ticksRandomly() : bool{ return true; } diff --git a/src/block/GrassPath.php b/src/block/GrassPath.php index 98611bc2e..011d0525b 100644 --- a/src/block/GrassPath.php +++ b/src/block/GrassPath.php @@ -51,4 +51,8 @@ class GrassPath extends Transparent{ VanillaBlocks::DIRT()->asItem() ]; } + + public function isAffectedBySilkTouch() : bool{ + return true; + } } diff --git a/src/block/Gravel.php b/src/block/Gravel.php index 1089b5893..a3cf7b07e 100644 --- a/src/block/Gravel.php +++ b/src/block/Gravel.php @@ -46,6 +46,10 @@ class Gravel extends Opaque implements Fallable{ return parent::getDropsForCompatibleTool($item); } + public function isAffectedBySilkTouch() : bool{ + return true; + } + public function tickFalling() : ?Block{ return null; } diff --git a/src/block/Ice.php b/src/block/Ice.php index a908d2726..b825991ab 100644 --- a/src/block/Ice.php +++ b/src/block/Ice.php @@ -62,4 +62,8 @@ class Ice extends Transparent{ public function getDropsForCompatibleTool(Item $item) : array{ return []; } + + public function isAffectedBySilkTouch() : bool{ + return true; + } } diff --git a/src/block/InfestedStone.php b/src/block/InfestedStone.php index 1457daf4c..d19737ebd 100644 --- a/src/block/InfestedStone.php +++ b/src/block/InfestedStone.php @@ -35,5 +35,9 @@ abstract class InfestedStone extends Opaque{ return []; } + public function isAffectedBySilkTouch() : bool{ + return true; + } + //TODO } diff --git a/src/block/ItemFrame.php b/src/block/ItemFrame.php index 885b7eda6..625a5c388 100644 --- a/src/block/ItemFrame.php +++ b/src/block/ItemFrame.php @@ -177,8 +177,4 @@ class ItemFrame extends Flowable{ public function getPickedItem(bool $addUserData = false) : Item{ return $this->framedItem !== null ? clone $this->framedItem : parent::getPickedItem($addUserData); } - - public function isAffectedBySilkTouch() : bool{ - return false; - } } diff --git a/src/block/LapisOre.php b/src/block/LapisOre.php index f79a95239..fc4accccb 100644 --- a/src/block/LapisOre.php +++ b/src/block/LapisOre.php @@ -40,6 +40,10 @@ class LapisOre extends Opaque{ ]; } + public function isAffectedBySilkTouch() : bool{ + return true; + } + protected function getXpDropAmount() : int{ return mt_rand(2, 5); } diff --git a/src/block/Melon.php b/src/block/Melon.php index 40bc3a877..35502475e 100644 --- a/src/block/Melon.php +++ b/src/block/Melon.php @@ -38,4 +38,8 @@ class Melon extends Transparent{ VanillaItems::MELON()->setCount(mt_rand(3, 7)) ]; } + + public function isAffectedBySilkTouch() : bool{ + return true; + } } diff --git a/src/block/MonsterSpawner.php b/src/block/MonsterSpawner.php index b27f6c0d8..d2599e134 100644 --- a/src/block/MonsterSpawner.php +++ b/src/block/MonsterSpawner.php @@ -37,10 +37,6 @@ class MonsterSpawner extends Transparent{ return []; } - public function isAffectedBySilkTouch() : bool{ - return false; - } - protected function getXpDropAmount() : int{ return mt_rand(15, 43); } diff --git a/src/block/Mycelium.php b/src/block/Mycelium.php index 7e80a06ae..d3dce32f9 100644 --- a/src/block/Mycelium.php +++ b/src/block/Mycelium.php @@ -40,6 +40,10 @@ class Mycelium extends Opaque{ ]; } + public function isAffectedBySilkTouch() : bool{ + return true; + } + public function ticksRandomly() : bool{ return true; } diff --git a/src/block/NetherQuartzOre.php b/src/block/NetherQuartzOre.php index 598ded41d..eab0898c4 100644 --- a/src/block/NetherQuartzOre.php +++ b/src/block/NetherQuartzOre.php @@ -40,6 +40,10 @@ class NetherQuartzOre extends Opaque{ ]; } + public function isAffectedBySilkTouch() : bool{ + return true; + } + protected function getXpDropAmount() : int{ return mt_rand(2, 5); } diff --git a/src/block/PackedIce.php b/src/block/PackedIce.php index 852b07e3c..0d52af4aa 100644 --- a/src/block/PackedIce.php +++ b/src/block/PackedIce.php @@ -38,4 +38,8 @@ class PackedIce extends Opaque{ public function getDropsForCompatibleTool(Item $item) : array{ return []; } + + public function isAffectedBySilkTouch() : bool{ + return true; + } } diff --git a/src/block/RedMushroomBlock.php b/src/block/RedMushroomBlock.php index 2e9a43fa7..90aebcc1e 100644 --- a/src/block/RedMushroomBlock.php +++ b/src/block/RedMushroomBlock.php @@ -58,4 +58,8 @@ class RedMushroomBlock extends Opaque{ VanillaBlocks::RED_MUSHROOM()->asItem()->setCount(mt_rand(0, 2)) ]; } + + public function isAffectedBySilkTouch() : bool{ + return true; + } } diff --git a/src/block/RedstoneOre.php b/src/block/RedstoneOre.php index ef6fcee95..5981b19ad 100644 --- a/src/block/RedstoneOre.php +++ b/src/block/RedstoneOre.php @@ -97,6 +97,10 @@ class RedstoneOre extends Opaque{ ]; } + public function isAffectedBySilkTouch() : bool{ + return true; + } + protected function getXpDropAmount() : int{ return mt_rand(1, 5); } diff --git a/src/block/SeaLantern.php b/src/block/SeaLantern.php index a076fc02d..d222cf052 100644 --- a/src/block/SeaLantern.php +++ b/src/block/SeaLantern.php @@ -41,4 +41,8 @@ class SeaLantern extends Transparent{ VanillaItems::PRISMARINE_CRYSTALS()->setCount(3) ]; } + + public function isAffectedBySilkTouch() : bool{ + return true; + } } diff --git a/src/block/Slab.php b/src/block/Slab.php index fec34afac..275aa8bf8 100644 --- a/src/block/Slab.php +++ b/src/block/Slab.php @@ -128,8 +128,4 @@ class Slab extends Transparent{ public function getDropsForCompatibleTool(Item $item) : array{ return [$this->asItem()->setCount($this->slabType->equals(SlabType::DOUBLE()) ? 2 : 1)]; } - - public function isAffectedBySilkTouch() : bool{ - return false; - } } diff --git a/src/block/Snow.php b/src/block/Snow.php index 9d227333a..19077382d 100644 --- a/src/block/Snow.php +++ b/src/block/Snow.php @@ -38,4 +38,8 @@ class Snow extends Opaque{ VanillaItems::SNOWBALL()->setCount(4) ]; } + + public function isAffectedBySilkTouch() : bool{ + return true; + } } diff --git a/src/block/SnowLayer.php b/src/block/SnowLayer.php index 5a78b9c17..de2ffd779 100644 --- a/src/block/SnowLayer.php +++ b/src/block/SnowLayer.php @@ -105,8 +105,4 @@ class SnowLayer extends Flowable implements Fallable{ VanillaItems::SNOWBALL()->setCount(max(1, (int) floor($this->layers / 2))) ]; } - - public function isAffectedBySilkTouch() : bool{ - return false; - } } diff --git a/src/block/Tripwire.php b/src/block/Tripwire.php index f0d9f2094..6aa56ce30 100644 --- a/src/block/Tripwire.php +++ b/src/block/Tripwire.php @@ -55,8 +55,4 @@ class Tripwire extends Flowable{ public function getStateBitmask() : int{ return 0b1111; } - - public function isAffectedBySilkTouch() : bool{ - return false; - } }