Yes but very hard. The cost of making such a plugin is much bigger than what everyone will earn by supporting old versions.
This code won't work? PHP: <?php/* _____ __ __ _ |___ |/ / /\ \ \ __| | ___ __ __ / / \ \/ \/ / / _` | / _ \\ \ / / / / \ /\ / | (_| || __/ \ V / /_/ \/ \/ \__,_| \___| \_/ */declare(strict_types=1);namespace multiprotocol;use pocketmine\event\Listener;use pocketmine\event\server\DataPacketReceiveEvent;use pocketmine\network\mcpe\protocol\LoginPacket;use pocketmine\network\mcpe\protocol\ProtocolInfo;use pocketmine\plugin\PluginBase;/** * Class MultiProtocol * @package multiprotocol * @Edited by 7Wdev */class MultiProtocol extends PluginBase implements Listener { public function onEnable() { $this->getServer()->getPluginManager()->registerEvents($this, $this); } /** * @param DataPacketReceiveEvent $event */ public function onLogin(DataPacketReceiveEvent $event) { $pk = $event->getPacket(); if(!$pk instanceof LoginPacket) { return; } $player = $event->getPlayer(); $currentProtocol = ProtocolInfo::CURRENT_PROTOCOL; if($pk->protocol !== $currentProtocol) { $pk->protocol = $currentProtocol; $this->getLogger()->alert("§6{$player->getName()}'s protocol changed to {$currentProtocol}!"); } }}
Fun fact: in some older versions of the client, even the LIGIN_PACKET constant is something else, so we can't even guess which packet is the LoginPacket, much less modify it. Even if editing this constant allows the client to join, you will quickly run into problems because protocol versions are bumped for a reason (We probably can't understand Mojang logic from the common sense though). And what if your world has some block types that older versions don't have? They will simply crash and you won't even find out why.
1.6 - crashes sometimes but not always 1.7 - crashes only when flying 1.8 - doesn't crash 1.9 - doesn't crash 1.10 - doesn't crash
There isn't any problem with blocks because they replaced with another blocks that belong to the oldest version , but I can't use the new items because the server crashes
That's the point. This is only possible for a small subset of servers. There are also other issues that you might not have noticed.