Type | Constant name | Status | Details |
---|---|---|---|
Property | Ageable::DATA_AGEABLE_FLAGS | Removed | Ageable flags (Entity::DATA_FLAG_BABY) are now set on the generic entity status (Entity::DATA_FLAGS) |
Property | Entity::DATA_AIR | Changed | Value changed (1 -> 7) and default changed (300 -> 400) |
Property | Entity::DATA_FLAGS | Changed | Type changed (byte -> long) |
Property | Entity::DATA_LEAD_EID | Changed/Removed | Value changed (23 -> 38) and renamed with clearer name (DATA_LEAD_HOLDER_EID). |
Property | Entity::DATA_NAMETAG | Changed | Value changed (2 -> 4) |
Property | Entity::DATA_NO_AI | Changed/Removed | Changed to a data flag (DATA_FLAG_NO_AI) |
Property | Entity::DATA_POTION_AMBIENT | Changed | Value changed (8 -> 9) |
Property | Entity::DATA_POTION_COLOR | Changed | Value changed (7 -> 8) |
Note: the accuracy of this specification may be flawed. This specification is believed to be correct as of beta 1.0.0.7, but its accuracy is by no means guaranteed.
The ability to set biome colours disappeared this update, which is a shame. The old method using biome IDs is back; colours and gradients are now handled automatically client side. While this is a bonus for PocketMine in the way that biome colours in Anvil worlds will now work correctly again, it's a shame to see that capability disappear.
<?php | |
/** | |
* @name TransferPlugin | |
* @main dktapps\TransferPlugin\Main | |
* @api 3.0.0-ALPHA3 | |
* @version 1.0.0 | |
* @description Proof-of-concept for server transfer in MCPE 1.0.3 | |
* @author dktapps | |
*/ |
<?php | |
declare(strict_types=1); | |
$startTime = microtime(true); | |
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator(__DIR__ . DIRECTORY_SEPARATOR)); | |
foreach($iterator as $file){ | |
if($file->getExtension() === "php"){ | |
$path = $file->getPath() . DIRECTORY_SEPARATOR . $file->getFilename(); |
<?php | |
namespace dktapps\NoRak; | |
use pocketmine\plugin\PluginBase; | |
use pocketmine\command\CommandSender; | |
use pocketmine\command\Command; | |
use pocketmine\event\Listener; | |
use pocketmine\event\server\NetworkInterfaceRegisterEvent; | |
use pocketmine\network\mcpe\RakLibInterface; |
<?php | |
/* | |
* | |
* ____ _ _ __ __ _ __ __ ____ | |
* | _ \ ___ ___| | _____| |_| \/ (_)_ __ ___ | \/ | _ \ | |
* | |_) / _ \ / __| |/ / _ \ __| |\/| | | '_ \ / _ \_____| |\/| | |_) | | |
* | __/ (_) | (__| < __/ |_| | | | | | | | __/_____| | | | __/ | |
* |_| \___/ \___|_|\_\___|\__|_| |_|_|_| |_|\___| |_| |_|_| | |
* |
{ | |
"geometry.humanoid": { | |
"bones": [ | |
{ | |
"name": "body", | |
"pivot": [ 0.0, 24.0, 0.0 ], | |
"cubes": [ | |
{ | |
"origin": [ -4.0, 12.0, -2.0 ], | |
"size": [ 8, 12, 4 ], |
I hereby claim:
- I am dktapps on github.
- I am dktapps (https://keybase.io/dktapps) on keybase.
- I have a public key ASBSphcrMkK13kZqMlU-L8vaSunFR401CHjZloqdImcabgo
To claim this, I am signing this object:
<?php | |
/* | |
* | |
* ____ _ _ __ __ _ __ __ ____ | |
* | _ \ ___ ___| | _____| |_| \/ (_)_ __ ___ | \/ | _ \ | |
* | |_) / _ \ / __| |/ / _ \ __| |\/| | | '_ \ / _ \_____| |\/| | |_) | | |
* | __/ (_) | (__| < __/ |_| | | | | | | | __/_____| | | | __/ | |
* |_| \___/ \___|_|\_\___|\__|_| |_|_|_| |_|\___| |_| |_|_| | |
* |
Paletted chunks & removing BlockIDs brings a few big changes to how blocks are represented. In Bedrock, Blocks used to be represented by their 8 bit ID and 4 bit data; this means that we can only represent 256 blocks and 16 variants for each block. As it happens we ran out of IDs in Update Aquatic, so we had to do something about it :)
After this change, we can represent infinite types of Blocks and infinite BlockStates, just like in Java. BlockStates are what is sent over the network as they are roughly equivalent to the old ID+data information, eg. they're all the information attached to a block.
BlockStates are serialized in two ways:
PersistentID: a PersistentID is a NBT tag containing the BlockState name and its variant number; for example