By continuing to use this site, you agree to the Terms of Service of this website, including usage of cookies.

OK, Don't show this again

Adds support to implements blocks with ID's 255+
version 1.1.5
Approved
Direct Download How to install?
Switch version
580 Downloads / 3417 Total
10 Reviews
Plugin Description §

ExtendedBlocks

This plugin adds the compatibility to add more blocks above the 255 ID in Pocketmine API 3.0.0+

WARNINGS

  • This plugin has a large impact on server performance and is NOT recommended for production use.
  • Worlds using this plugin may find that the blocks placed using this plugin will no longer work in PocketMine-MP 4.0.
  • If you remove this plugin after some blocks has been placed it may transform into a Reserved6 block and can't be reversible.

To update this plugin safely you must stop your server and install the updated version, then you can start the server again.

How the plugins works

This plugin uses a Tile Entity which saves the registered blocks from another plugin and a Placeholder block which replaces the Reserved6 that makes instance with the block you want that uses PlaceholderTrait and gives info to the server.

It checks when a LevelChunkPacket is sent and finds every tile within the chunk that is a Placeholder block and sends the block to the player.

How to use the plugin

For now you would need to use another plugin that register the blocks itself.

For the blocks to be able to register correctly you must add this trait in the block class:

use JavierLeon9966\ExtendedBlocks\block\PlaceholderTrait;

Soon It'll be able to add new blocks in a configuration, but for now it's just like a API plugin.

It's recommended to use this methods when the plugin starts loading:

use pocketmine\block\BlockFactory;
use pocketmine\item\ItemBlock;
use pocketmine\plugin\PluginBase;
use JavierLeon9966\ExtendedBlocks\item\ItemFactory;
class Plugin extends PluginBase{
  public function onLoad(){
    BlockFactory::registerBlock($block);
    ItemFactory::addCreativeItem(ItemFactory::get(255 - $block->getId())); //Usually most blocks
  }
  ...
}

Format you must use

This is a example of how your class must look for it to work properly

use pocketmine\block\Block; //You can extend any class but be a Block
use JavierLeon9966\ExtendedBlocks\block\PlaceholderTrait;
class Sample extends Block{
  use PlaceholderTrait;
  protected $id = 526; //The id of the block must be positive
  public function __construct(int $meta = 0){ //Optional
    $this->meta = $meta;
  }
  ...
}
What's new §
  • Fix warning on PHP 8.0
  • Update protocol 448
  • Update protocol 440
  • Fixed visual glitch problems
  • Blocks are automatically overwritten if are already registered
  • Fixed wrong slab placement
  • Update protocol 431
  • Added config
  • Added netherite block as example
  • Cleanup code
  • Update protocol 428

Mcbeany
using v1.1.4
15 Jun 21
very good
Neonwaltz8
using v1.1.3
08 Jun 21
this plugin is excellent, and if you're reading this review that means you'll read the 3rd review from this plugin, here's its missing letter, Y
JoshuaPHYT
using v1.1.3
25 May 21
DavyCraft648
using v1.1.2
05 May 21
Prim69
using v1.0.6
11 Mar 21
This is very sex
AGTHARN
using v1.0.6
09 Mar 21
SHEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEESH
ethaniccc
using v1.0.6
08 Mar 21
P O G
Wertzui123
using v1.0.6
08 Mar 21
Amazing! The only problems I know of are that level->getBlock() of course returns the wrong id and right-clicking does not work properly (as mentioned on Github).
brokiem
using v1.0.6
08 Mar 21
whutt, approved?!
Endermanbugzjfc
using v1.0.6
08 Mar 21
This plugin is approved :(). Quality plugin!

Reply to review by :

Supported API versions
3.14.0
->
3.22.1
License §
Categories:
Mechanics
General
World Editing and Management
Developer Tools
API plugins
Permissions
Manage blocks/items
Manage tiles
Edit world

You can leave one review per plugin release, and delete or update your review at any time

Loading...