diff --git a/src/pocketmine/entity/Item.php b/src/pocketmine/entity/Item.php index 2b048198c..7af64e7e6 100644 --- a/src/pocketmine/entity/Item.php +++ b/src/pocketmine/entity/Item.php @@ -152,6 +152,10 @@ class Item extends Entity{ return false; } + public function canBeCollidedWith() : bool{ + return false; + } + /** * @return int */ diff --git a/src/pocketmine/entity/projectile/Projectile.php b/src/pocketmine/entity/projectile/Projectile.php index aa719f4fe..d446c96cd 100644 --- a/src/pocketmine/entity/projectile/Projectile.php +++ b/src/pocketmine/entity/projectile/Projectile.php @@ -67,6 +67,10 @@ abstract class Projectile extends Entity{ return $entity instanceof Living and !$this->onGround; } + public function canBeCollidedWith() : bool{ + return false; + } + /** * Returns the amount of damage this projectile will deal to the entity it hits. * @return int diff --git a/src/pocketmine/level/Level.php b/src/pocketmine/level/Level.php index 50926b0d3..0c26daaf6 100644 --- a/src/pocketmine/level/Level.php +++ b/src/pocketmine/level/Level.php @@ -31,7 +31,6 @@ use pocketmine\block\BlockFactory; use pocketmine\entity\Entity; use pocketmine\entity\Item as DroppedItem; use pocketmine\entity\object\ExperienceOrb; -use pocketmine\entity\projectile\Arrow; use pocketmine\event\block\BlockBreakEvent; use pocketmine\event\block\BlockPlaceEvent; use pocketmine\event\block\BlockUpdateEvent; @@ -1872,13 +1871,8 @@ class Level implements ChunkManager, Metadatable{ if($hand->isSolid()){ foreach($hand->getCollisionBoxes() as $collisionBox){ - $entities = $this->getCollidingEntities($collisionBox); - foreach($entities as $e){ - if($e instanceof Arrow or $e instanceof DroppedItem or ($e instanceof Player and $e->isSpectator())){ - continue; - } - - return false; //Entity in block + if(!empty($this->getCollidingEntities($collisionBox))){ + return false; //Entity in block } if($player !== null){ diff --git a/src/pocketmine/network/mcpe/handler/NetworkHandler.php b/src/pocketmine/network/mcpe/handler/NetworkHandler.php new file mode 100644 index 000000000..19661f55e --- /dev/null +++ b/src/pocketmine/network/mcpe/handler/NetworkHandler.php @@ -0,0 +1,564 @@ +handle($this); + } + + public function handleLogin(LoginPacket $packet) : bool{ + return false; + } + + public function handlePlayStatus(PlayStatusPacket $packet) : bool{ + return false; + } + + public function handleServerToClientHandshake(ServerToClientHandshakePacket $packet) : bool{ + return false; + } + + public function handleClientToServerHandshake(ClientToServerHandshakePacket $packet) : bool{ + return false; + } + + public function handleDisconnect(DisconnectPacket $packet) : bool{ + return false; + } + + public function handleResourcePacksInfo(ResourcePacksInfoPacket $packet) : bool{ + return false; + } + + public function handleResourcePackStack(ResourcePackStackPacket $packet) : bool{ + return false; + } + + public function handleResourcePackClientResponse(ResourcePackClientResponsePacket $packet) : bool{ + return false; + } + + public function handleText(TextPacket $packet) : bool{ + return false; + } + + public function handleSetTime(SetTimePacket $packet) : bool{ + return false; + } + + public function handleStartGame(StartGamePacket $packet) : bool{ + return false; + } + + public function handleAddPlayer(AddPlayerPacket $packet) : bool{ + return false; + } + + public function handleAddEntity(AddEntityPacket $packet) : bool{ + return false; + } + + public function handleRemoveEntity(RemoveEntityPacket $packet) : bool{ + return false; + } + + public function handleAddItemEntity(AddItemEntityPacket $packet) : bool{ + return false; + } + + public function handleAddHangingEntity(AddHangingEntityPacket $packet) : bool{ + return false; + } + + public function handleTakeItemEntity(TakeItemEntityPacket $packet) : bool{ + return false; + } + + public function handleMoveEntity(MoveEntityPacket $packet) : bool{ + return false; + } + + public function handleMovePlayer(MovePlayerPacket $packet) : bool{ + return false; + } + + public function handleRiderJump(RiderJumpPacket $packet) : bool{ + return false; + } + + public function handleUpdateBlock(UpdateBlockPacket $packet) : bool{ + return false; + } + + public function handleAddPainting(AddPaintingPacket $packet) : bool{ + return false; + } + + public function handleExplode(ExplodePacket $packet) : bool{ + return false; + } + + public function handleLevelSoundEvent(LevelSoundEventPacket $packet) : bool{ + return false; + } + + public function handleLevelEvent(LevelEventPacket $packet) : bool{ + return false; + } + + public function handleBlockEvent(BlockEventPacket $packet) : bool{ + return false; + } + + public function handleEntityEvent(EntityEventPacket $packet) : bool{ + return false; + } + + public function handleMobEffect(MobEffectPacket $packet) : bool{ + return false; + } + + public function handleUpdateAttributes(UpdateAttributesPacket $packet) : bool{ + return false; + } + + public function handleInventoryTransaction(InventoryTransactionPacket $packet) : bool{ + return false; + } + + public function handleMobEquipment(MobEquipmentPacket $packet) : bool{ + return false; + } + + public function handleMobArmorEquipment(MobArmorEquipmentPacket $packet) : bool{ + return false; + } + + public function handleInteract(InteractPacket $packet) : bool{ + return false; + } + + public function handleBlockPickRequest(BlockPickRequestPacket $packet) : bool{ + return false; + } + + public function handleEntityPickRequest(EntityPickRequestPacket $packet) : bool{ + return false; + } + + public function handlePlayerAction(PlayerActionPacket $packet) : bool{ + return false; + } + + public function handleEntityFall(EntityFallPacket $packet) : bool{ + return false; + } + + public function handleHurtArmor(HurtArmorPacket $packet) : bool{ + return false; + } + + public function handleSetEntityData(SetEntityDataPacket $packet) : bool{ + return false; + } + + public function handleSetEntityMotion(SetEntityMotionPacket $packet) : bool{ + return false; + } + + public function handleSetEntityLink(SetEntityLinkPacket $packet) : bool{ + return false; + } + + public function handleSetHealth(SetHealthPacket $packet) : bool{ + return false; + } + + public function handleSetSpawnPosition(SetSpawnPositionPacket $packet) : bool{ + return false; + } + + public function handleAnimate(AnimatePacket $packet) : bool{ + return false; + } + + public function handleRespawn(RespawnPacket $packet) : bool{ + return false; + } + + public function handleContainerOpen(ContainerOpenPacket $packet) : bool{ + return false; + } + + public function handleContainerClose(ContainerClosePacket $packet) : bool{ + return false; + } + + public function handlePlayerHotbar(PlayerHotbarPacket $packet) : bool{ + return false; + } + + public function handleInventoryContent(InventoryContentPacket $packet) : bool{ + return false; + } + + public function handleInventorySlot(InventorySlotPacket $packet) : bool{ + return false; + } + + public function handleContainerSetData(ContainerSetDataPacket $packet) : bool{ + return false; + } + + public function handleCraftingData(CraftingDataPacket $packet) : bool{ + return false; + } + + public function handleCraftingEvent(CraftingEventPacket $packet) : bool{ + return false; + } + + public function handleGuiDataPickItem(GuiDataPickItemPacket $packet) : bool{ + return false; + } + + public function handleAdventureSettings(AdventureSettingsPacket $packet) : bool{ + return false; + } + + public function handleBlockEntityData(BlockEntityDataPacket $packet) : bool{ + return false; + } + + public function handlePlayerInput(PlayerInputPacket $packet) : bool{ + return false; + } + + public function handleFullChunkData(FullChunkDataPacket $packet) : bool{ + return false; + } + + public function handleSetCommandsEnabled(SetCommandsEnabledPacket $packet) : bool{ + return false; + } + + public function handleSetDifficulty(SetDifficultyPacket $packet) : bool{ + return false; + } + + public function handleChangeDimension(ChangeDimensionPacket $packet) : bool{ + return false; + } + + public function handleSetPlayerGameType(SetPlayerGameTypePacket $packet) : bool{ + return false; + } + + public function handlePlayerList(PlayerListPacket $packet) : bool{ + return false; + } + + public function handleSimpleEvent(SimpleEventPacket $packet) : bool{ + return false; + } + + public function handleEvent(EventPacket $packet) : bool{ + return false; + } + + public function handleSpawnExperienceOrb(SpawnExperienceOrbPacket $packet) : bool{ + return false; + } + + public function handleClientboundMapItemData(ClientboundMapItemDataPacket $packet) : bool{ + return false; + } + + public function handleMapInfoRequest(MapInfoRequestPacket $packet) : bool{ + return false; + } + + public function handleRequestChunkRadius(RequestChunkRadiusPacket $packet) : bool{ + return false; + } + + public function handleChunkRadiusUpdated(ChunkRadiusUpdatedPacket $packet) : bool{ + return false; + } + + public function handleItemFrameDropItem(ItemFrameDropItemPacket $packet) : bool{ + return false; + } + + public function handleGameRulesChanged(GameRulesChangedPacket $packet) : bool{ + return false; + } + + public function handleCamera(CameraPacket $packet) : bool{ + return false; + } + + public function handleBossEvent(BossEventPacket $packet) : bool{ + return false; + } + + public function handleShowCredits(ShowCreditsPacket $packet) : bool{ + return false; + } + + public function handleAvailableCommands(AvailableCommandsPacket $packet) : bool{ + return false; + } + + public function handleCommandRequest(CommandRequestPacket $packet) : bool{ + return false; + } + + public function handleCommandBlockUpdate(CommandBlockUpdatePacket $packet) : bool{ + return false; + } + + public function handleCommandOutput(CommandOutputPacket $packet) : bool{ + return false; + } + + public function handleUpdateTrade(UpdateTradePacket $packet) : bool{ + return false; + } + + public function handleUpdateEquip(UpdateEquipPacket $packet) : bool{ + return false; + } + + public function handleResourcePackDataInfo(ResourcePackDataInfoPacket $packet) : bool{ + return false; + } + + public function handleResourcePackChunkData(ResourcePackChunkDataPacket $packet) : bool{ + return false; + } + + public function handleResourcePackChunkRequest(ResourcePackChunkRequestPacket $packet) : bool{ + return false; + } + + public function handleTransfer(TransferPacket $packet) : bool{ + return false; + } + + public function handlePlaySound(PlaySoundPacket $packet) : bool{ + return false; + } + + public function handleStopSound(StopSoundPacket $packet) : bool{ + return false; + } + + public function handleSetTitle(SetTitlePacket $packet) : bool{ + return false; + } + + public function handleAddBehaviorTree(AddBehaviorTreePacket $packet) : bool{ + return false; + } + + public function handleStructureBlockUpdate(StructureBlockUpdatePacket $packet) : bool{ + return false; + } + + public function handleShowStoreOffer(ShowStoreOfferPacket $packet) : bool{ + return false; + } + + public function handlePurchaseReceipt(PurchaseReceiptPacket $packet) : bool{ + return false; + } + + public function handlePlayerSkin(PlayerSkinPacket $packet) : bool{ + return false; + } + + public function handleSubClientLogin(SubClientLoginPacket $packet) : bool{ + return false; + } + + public function handleWSConnect(WSConnectPacket $packet) : bool{ + return false; + } + + public function handleSetLastHurtBy(SetLastHurtByPacket $packet) : bool{ + return false; + } + + public function handleBookEdit(BookEditPacket $packet) : bool{ + return false; + } + + public function handleNpcRequest(NpcRequestPacket $packet) : bool{ + return false; + } + + public function handlePhotoTransfer(PhotoTransferPacket $packet) : bool{ + return false; + } + + public function handleModalFormRequest(ModalFormRequestPacket $packet) : bool{ + return false; + } + + public function handleModalFormResponse(ModalFormResponsePacket $packet) : bool{ + return false; + } + + public function handleServerSettingsRequest(ServerSettingsRequestPacket $packet) : bool{ + return false; + } + + public function handleServerSettingsResponse(ServerSettingsResponsePacket $packet) : bool{ + return false; + } + + public function handleShowProfile(ShowProfilePacket $packet) : bool{ + return false; + } + + public function handleSetDefaultGameType(SetDefaultGameTypePacket $packet) : bool{ + return false; + } +}