Documentation

Markers

Table of Contents

bin/lib/php/build/run-tests.php 1
vendor/brick/math/src/BigNumber.php 1
vendor/fgrosse/phpasn1/lib/ASN1/Composite/RelativeDistinguishedName.php 1
vendor/fgrosse/phpasn1/lib/ASN1/TemplateParser.php 1
vendor/fgrosse/phpasn1/lib/X509/CertificateExtensions.php 1
vendor/netresearch/jsonmapper/src/JsonMapper.php 1
vendor/nikic/php-parser/lib/PhpParser/Comment.php 1
vendor/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php 1
vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/AttributeEmulator.php 1
vendor/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php 1
vendor/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php 12
vendor/phpdocumentor/reflection-docblock/src/DocBlock/StandardTagFactory.php 2
vendor/pocketmine/bedrock-protocol/src/AddPlayerPacket.php 1
vendor/pocketmine/bedrock-protocol/src/AnimatePacket.php 1
vendor/pocketmine/bedrock-protocol/src/ClientboundDebugRendererPacket.php 1
vendor/pocketmine/bedrock-protocol/src/DataPacket.php 1
vendor/pocketmine/bedrock-protocol/src/EventPacket.php 2
vendor/pocketmine/bedrock-protocol/src/InteractPacket.php 1
vendor/pocketmine/bedrock-protocol/src/MovePlayerPacket.php 2
vendor/pocketmine/bedrock-protocol/src/ResourcePackDataInfoPacket.php 1
vendor/pocketmine/bedrock-protocol/src/ScriptCustomEventPacket.php 1
vendor/pocketmine/bedrock-protocol/src/serializer/PacketSerializer.php 1
vendor/pocketmine/bedrock-protocol/src/SetActorDataPacket.php 1
vendor/pocketmine/bedrock-protocol/src/StartGamePacket.php 2
vendor/pocketmine/bedrock-protocol/src/types/ActorEvent.php 1
vendor/pocketmine/bedrock-protocol/src/types/command/CommandEnumConstraint.php 1
vendor/pocketmine/bedrock-protocol/src/types/entity/EntityMetadataProperties.php 1
vendor/pocketmine/bedrock-protocol/src/types/entity/PlayerMetadataFlags.php 1
vendor/pocketmine/bedrock-protocol/src/types/inventory/stackresponse/ItemStackResponse.php 1
vendor/pocketmine/bedrock-protocol/src/types/LevelSettings.php 2
vendor/pocketmine/bedrock-protocol/src/types/login/AuthenticationData.php 1
vendor/pocketmine/binaryutils/src/BinaryStream.php 1
vendor/pocketmine/math/src/Vector3.php 1
vendor/pocketmine/nbt/src/BaseNbtSerializer.php 1
vendor/pocketmine/nbt/src/tag/CompoundTag.php 1
vendor/pocketmine/nbt/src/tag/ListTag.php 1
vendor/pocketmine/nbt/tests/phpunit/tag/CompoundTagTest.php 1
vendor/pocketmine/pocketmine-mp/build/generate-build-info-json.php 1
vendor/pocketmine/pocketmine-mp/src/block/ActivatorRail.php 1
vendor/pocketmine/pocketmine-mp/src/block/Bamboo.php 1
vendor/pocketmine/pocketmine-mp/src/block/BambooSapling.php 1
vendor/pocketmine/pocketmine-mp/src/block/BaseCoral.php 1
vendor/pocketmine/pocketmine-mp/src/block/BaseSign.php 1
vendor/pocketmine/pocketmine-mp/src/block/Beacon.php 1
vendor/pocketmine/pocketmine-mp/src/block/Bell.php 1
vendor/pocketmine/pocketmine-mp/src/block/BlockFactory.php 129
vendor/pocketmine/pocketmine-mp/src/block/BrewingStand.php 1
vendor/pocketmine/pocketmine-mp/src/block/Button.php 2
vendor/pocketmine/pocketmine-mp/src/block/ChemistryTable.php 1
vendor/pocketmine/pocketmine-mp/src/block/Coral.php 1
vendor/pocketmine/pocketmine-mp/src/block/DaylightSensor.php 1
vendor/pocketmine/pocketmine-mp/src/block/DetectorRail.php 1
vendor/pocketmine/pocketmine-mp/src/block/Door.php 1
vendor/pocketmine/pocketmine-mp/src/block/EnchantingTable.php 1
vendor/pocketmine/pocketmine-mp/src/block/EndRod.php 1
vendor/pocketmine/pocketmine-mp/src/block/Farmland.php 2
vendor/pocketmine/pocketmine-mp/src/block/Fire.php 4
vendor/pocketmine/pocketmine-mp/src/block/FloorCoralFan.php 2
vendor/pocketmine/pocketmine-mp/src/block/FlowerPot.php 3
vendor/pocketmine/pocketmine-mp/src/block/Furnace.php 1
vendor/pocketmine/pocketmine-mp/src/block/GrassPath.php 1
vendor/pocketmine/pocketmine-mp/src/block/Hopper.php 3
vendor/pocketmine/pocketmine-mp/src/block/InfestedStone.php 1
vendor/pocketmine/pocketmine-mp/src/block/inventory/AnimatedBlockInventoryTrait.php 2
vendor/pocketmine/pocketmine-mp/src/block/Jukebox.php 1
vendor/pocketmine/pocketmine-mp/src/block/Lava.php 1
vendor/pocketmine/pocketmine-mp/src/block/Lever.php 1
vendor/pocketmine/pocketmine-mp/src/block/Liquid.php 1
vendor/pocketmine/pocketmine-mp/src/block/MonsterSpawner.php 1
vendor/pocketmine/pocketmine-mp/src/block/Mycelium.php 1
vendor/pocketmine/pocketmine-mp/src/block/NetherPortal.php 1
vendor/pocketmine/pocketmine-mp/src/block/Note.php 1
vendor/pocketmine/pocketmine-mp/src/block/PressurePlate.php 1
vendor/pocketmine/pocketmine-mp/src/block/Rail.php 1
vendor/pocketmine/pocketmine-mp/src/block/RedstoneComparator.php 1
vendor/pocketmine/pocketmine-mp/src/block/RedstoneRepeater.php 1
vendor/pocketmine/pocketmine-mp/src/block/RedstoneWire.php 1
vendor/pocketmine/pocketmine-mp/src/block/SeaPickle.php 3
vendor/pocketmine/pocketmine-mp/src/block/Skull.php 2
vendor/pocketmine/pocketmine-mp/src/block/Slime.php 1
vendor/pocketmine/pocketmine-mp/src/block/SnowLayer.php 1
vendor/pocketmine/pocketmine-mp/src/block/StraightOnlyRail.php 1
vendor/pocketmine/pocketmine-mp/src/block/SweetBerryBush.php 1
vendor/pocketmine/pocketmine-mp/src/block/tile/Banner.php 3
vendor/pocketmine/pocketmine-mp/src/block/tile/Beacon.php 1
vendor/pocketmine/pocketmine-mp/src/block/tile/Bed.php 1
vendor/pocketmine/pocketmine-mp/src/block/tile/Chest.php 1
vendor/pocketmine/pocketmine-mp/src/block/tile/FlowerPot.php 1
vendor/pocketmine/pocketmine-mp/src/block/tile/Furnace.php 1
vendor/pocketmine/pocketmine-mp/src/block/tile/MonsterSpawner.php 2
vendor/pocketmine/pocketmine-mp/src/block/tile/Spawnable.php 1
vendor/pocketmine/pocketmine-mp/src/block/tile/Tile.php 1
vendor/pocketmine/pocketmine-mp/src/block/tile/TileFactory.php 16
vendor/pocketmine/pocketmine-mp/src/block/TNT.php 1
vendor/pocketmine/pocketmine-mp/src/block/Trapdoor.php 1
vendor/pocketmine/pocketmine-mp/src/block/TrappedChest.php 1
vendor/pocketmine/pocketmine-mp/src/block/TripwireHook.php 2
vendor/pocketmine/pocketmine-mp/src/block/utils/RailPoweredByRedstoneTrait.php 1
vendor/pocketmine/pocketmine-mp/src/block/utils/RecordType.php 1
vendor/pocketmine/pocketmine-mp/src/block/utils/SignText.php 1
vendor/pocketmine/pocketmine-mp/src/block/Vine.php 1
vendor/pocketmine/pocketmine-mp/src/block/Wood.php 2
vendor/pocketmine/pocketmine-mp/src/block/WoodenButton.php 1
vendor/pocketmine/pocketmine-mp/src/command/defaults/ClearCommand.php 1
vendor/pocketmine/pocketmine-mp/src/command/defaults/DifficultyCommand.php 1
vendor/pocketmine/pocketmine-mp/src/command/defaults/GiveCommand.php 1
vendor/pocketmine/pocketmine-mp/src/command/defaults/ParticleCommand.php 2
vendor/pocketmine/pocketmine-mp/src/command/defaults/TimingsCommand.php 1
vendor/pocketmine/pocketmine-mp/src/crafting/CraftingManager.php 2
vendor/pocketmine/pocketmine-mp/src/crafting/CraftingManagerFromDataHelper.php 3
vendor/pocketmine/pocketmine-mp/src/data/bedrock/DyeColorIdMap.php 1
vendor/pocketmine/pocketmine-mp/src/data/bedrock/EffectIdMap.php 4
vendor/pocketmine/pocketmine-mp/src/data/bedrock/EnchantmentIdMap.php 1
vendor/pocketmine/pocketmine-mp/src/entity/animation/ArmSwingAnimation.php 1
vendor/pocketmine/pocketmine-mp/src/entity/animation/ConsumingItemAnimation.php 2
vendor/pocketmine/pocketmine-mp/src/entity/animation/TotemUseAnimation.php 1
vendor/pocketmine/pocketmine-mp/src/entity/effect/InstantDamageEffect.php 1
vendor/pocketmine/pocketmine-mp/src/entity/effect/LevitationEffect.php 1
vendor/pocketmine/pocketmine-mp/src/entity/effect/VanillaEffects.php 3
vendor/pocketmine/pocketmine-mp/src/entity/Entity.php 8
vendor/pocketmine/pocketmine-mp/src/entity/EntityFactory.php 1
vendor/pocketmine/pocketmine-mp/src/entity/ExperienceManager.php 1
vendor/pocketmine/pocketmine-mp/src/entity/Human.php 6
vendor/pocketmine/pocketmine-mp/src/entity/Living.php 5
vendor/pocketmine/pocketmine-mp/src/entity/object/FallingBlock.php 3
vendor/pocketmine/pocketmine-mp/src/entity/object/ItemEntity.php 2
vendor/pocketmine/pocketmine-mp/src/entity/object/Painting.php 1
vendor/pocketmine/pocketmine-mp/src/entity/object/PrimedTNT.php 1
vendor/pocketmine/pocketmine-mp/src/entity/projectile/Egg.php 1
vendor/pocketmine/pocketmine-mp/src/entity/projectile/EnderPearl.php 2
vendor/pocketmine/pocketmine-mp/src/entity/projectile/SplashPotion.php 1
vendor/pocketmine/pocketmine-mp/src/entity/Villager.php 2
vendor/pocketmine/pocketmine-mp/src/entity/Zombie.php 2
vendor/pocketmine/pocketmine-mp/src/event/entity/EntityDamageByEntityEvent.php 1
vendor/pocketmine/pocketmine-mp/src/inventory/CallbackInventoryListener.php 1
vendor/pocketmine/pocketmine-mp/src/item/Banner.php 2
vendor/pocketmine/pocketmine-mp/src/item/Boat.php 1
vendor/pocketmine/pocketmine-mp/src/item/Bow.php 1
vendor/pocketmine/pocketmine-mp/src/item/Bowl.php 1
vendor/pocketmine/pocketmine-mp/src/item/Bucket.php 1
vendor/pocketmine/pocketmine-mp/src/item/enchantment/Enchantment.php 1
vendor/pocketmine/pocketmine-mp/src/item/enchantment/ItemFlags.php 1
vendor/pocketmine/pocketmine-mp/src/item/enchantment/VanillaEnchantments.php 2
vendor/pocketmine/pocketmine-mp/src/item/FishingRod.php 1
vendor/pocketmine/pocketmine-mp/src/item/Item.php 2
vendor/pocketmine/pocketmine-mp/src/item/ItemFactory.php 43
vendor/pocketmine/pocketmine-mp/src/item/LiquidBucket.php 1
vendor/pocketmine/pocketmine-mp/src/item/Minecart.php 1
vendor/pocketmine/pocketmine-mp/src/item/Potion.php 1
vendor/pocketmine/pocketmine-mp/src/item/PotionType.php 5
vendor/pocketmine/pocketmine-mp/src/item/Skull.php 1
vendor/pocketmine/pocketmine-mp/src/item/SpawnEgg.php 1
vendor/pocketmine/pocketmine-mp/src/item/WritableBookPage.php 1
vendor/pocketmine/pocketmine-mp/src/network/mcpe/cache/ChunkCache.php 1
vendor/pocketmine/pocketmine-mp/src/network/mcpe/convert/LegacySkinAdapter.php 1
vendor/pocketmine/pocketmine-mp/src/network/mcpe/convert/TypeConverter.php 4
vendor/pocketmine/pocketmine-mp/src/network/mcpe/handler/InGamePacketHandler.php 32
vendor/pocketmine/pocketmine-mp/src/network/mcpe/handler/LoginPacketHandler.php 2
vendor/pocketmine/pocketmine-mp/src/network/mcpe/handler/PreSpawnPacketHandler.php 2
vendor/pocketmine/pocketmine-mp/src/network/mcpe/handler/ResourcePacksPacketHandler.php 5
vendor/pocketmine/pocketmine-mp/src/network/mcpe/InventoryManager.php 5
vendor/pocketmine/pocketmine-mp/src/network/mcpe/NetworkSession.php 20
vendor/pocketmine/pocketmine-mp/src/network/mcpe/raklib/RakLibInterface.php 1
vendor/pocketmine/pocketmine-mp/src/network/mcpe/serializer/ChunkSerializer.php 2
vendor/pocketmine/pocketmine-mp/src/network/mcpe/StandardPacketBroadcaster.php 1
vendor/pocketmine/pocketmine-mp/src/network/query/QueryHandler.php 2
vendor/pocketmine/pocketmine-mp/src/network/upnp/UPnP.php 1
vendor/pocketmine/pocketmine-mp/src/permission/PermissibleInternal.php 1
vendor/pocketmine/pocketmine-mp/src/player/ChunkSelector.php 1
vendor/pocketmine/pocketmine-mp/src/player/GameMode.php 1
vendor/pocketmine/pocketmine-mp/src/player/Player.php 12
vendor/pocketmine/pocketmine-mp/src/player/SurvivalBlockBreakHandler.php 2
vendor/pocketmine/pocketmine-mp/src/plugin/PluginBase.php 1
vendor/pocketmine/pocketmine-mp/src/plugin/PluginManager.php 2
vendor/pocketmine/pocketmine-mp/src/Server.php 3
vendor/pocketmine/pocketmine-mp/src/timings/TimingsHandler.php 1
vendor/pocketmine/pocketmine-mp/src/utils/Filesystem.php 1
vendor/pocketmine/pocketmine-mp/src/utils/Process.php 2
vendor/pocketmine/pocketmine-mp/src/utils/ReversePriorityQueue.php 1
vendor/pocketmine/pocketmine-mp/src/utils/Terminal.php 1
vendor/pocketmine/pocketmine-mp/src/utils/Utils.php 1
vendor/pocketmine/pocketmine-mp/src/world/format/Chunk.php 1
vendor/pocketmine/pocketmine-mp/src/world/format/io/data/BedrockWorldData.php 4
vendor/pocketmine/pocketmine-mp/src/world/format/io/data/JavaWorldData.php 1
vendor/pocketmine/pocketmine-mp/src/world/format/io/FormatConverter.php 2
vendor/pocketmine/pocketmine-mp/src/world/format/io/leveldb/LevelDB.php 9
vendor/pocketmine/pocketmine-mp/src/world/format/io/region/Anvil.php 1
vendor/pocketmine/pocketmine-mp/src/world/format/io/region/McRegion.php 1
vendor/pocketmine/pocketmine-mp/src/world/format/io/region/RegionLoader.php 2
vendor/pocketmine/pocketmine-mp/src/world/generator/FlatGeneratorOptions.php 1
vendor/pocketmine/pocketmine-mp/src/world/generator/noise/Simplex.php 1
vendor/pocketmine/pocketmine-mp/src/world/light/LightUpdate.php 1
vendor/pocketmine/pocketmine-mp/src/world/particle/BlockForceFieldParticle.php 1
vendor/pocketmine/pocketmine-mp/src/world/particle/FloatingTextParticle.php 3
vendor/pocketmine/pocketmine-mp/src/world/particle/MobSpawnParticle.php 1
vendor/pocketmine/pocketmine-mp/src/world/sound/EntityAttackSound.php 1
vendor/pocketmine/pocketmine-mp/src/world/sound/EntityLandSound.php 1
vendor/pocketmine/pocketmine-mp/src/world/sound/EntityLongFallSound.php 1
vendor/pocketmine/pocketmine-mp/src/world/sound/EntityShortFallSound.php 1
vendor/pocketmine/pocketmine-mp/src/world/sound/XpLevelUpSound.php 1
vendor/pocketmine/pocketmine-mp/src/world/World.php 10
vendor/pocketmine/pocketmine-mp/src/world/WorldManager.php 1
vendor/pocketmine/pocketmine-mp/tests/phpstan/rules/DisallowEnumComparisonRule.php 1
vendor/pocketmine/raklib/src/generic/ReceiveReliabilityLayer.php 1
vendor/pocketmine/raklib/src/generic/SendReliabilityLayer.php 1
vendor/pocketmine/raklib/src/protocol/ConnectionRequestAccepted.php 1
vendor/pocketmine/raklib/src/protocol/NewIncomingConnection.php 1
vendor/pocketmine/raklib/src/protocol/SplitPacketInfo.php 1
vendor/pocketmine/raklib/src/server/Server.php 1
vendor/pocketmine/raklib/src/server/Session.php 1

run-tests.php

Type Line Description
TODO 1684 Cleanup when removed from Zend Engine.

BigNumber.php

Type Line Description
TODO 311 This could be better resolved by creating an abstract protected method in BigNumber, and leaving to concrete classes the responsibility to perform the addition themselves or delegate it to the given number, depending on their ability to perform the operation. This will also require a version bump because we're potentially breaking custom BigNumber implementations (if any...)

RelativeDistinguishedName.php

Type Line Description
TODO 25 This does only support one element in the RelativeDistinguishedName Set but it it is defined as follows:

TemplateParser.php

Type Line Description
TODO 27 test with invalid data

CertificateExtensions.php

Type Line Description
FIXME 67 wrong offset index

JsonMapper.php

Type Line Description
FIXME 245 check if type exists, give detailed error message if not

Comment.php

Type Line Description
TODO 230 Rename these to include "start".

TokenStream.php

Type Line Description
TODO 240 Handle non-space indentation

AttributeEmulator.php

Type Line Description
TODO 42 return $tokens;

Standard.php

Type Line Description
TODO 1071 This is not fully accurate.

PrettyPrinterAbstract.php

Type Line Description
TODO 497 Add <?php properly
TODO 728 Try to preserve formatting
TODO 779 Preserve formatting.
TODO 882 Preserve formatting.
TODO 905 Support removing single node.
TODO 1169 FIXUP_NEW_VARIABLE
TODO 1180 FIXUP_NEW_VARIABLE
TODO 1302 "yield" where both key and value are inserted doesn't work
TODO 1330 'Stmt_TryCatch->finally' => [null, false, ' ', null],
TODO 1346 These need to be treated more carefully
TODO 1438 Insertion into empty statement lists.
TODO 1497 ];

StandardTagFactory.php

Type Line Description
TODO 236 Annotation support is planned for a later stage and as such is disabled for now
TODO 339 this method should be populated once we implement Annotation notation support.

AddPlayerPacket.php

Type Line Description
TODO 50 fill player's device ID (???)

AnimatePacket.php

Type Line Description
TODO 32 (Boat rowing time?)

ClientboundDebugRendererPacket.php

Type Line Description
TODO 28 if more types are added, we'll probably want to make a separate data type and interfaces

DataPacket.php

Type Line Description
TODO 66 this means a logical error in the code, but how to prevent it from happening?

EventPacket.php

Type Line Description
TODO 57 nice confusing mess
TODO 65 also nice confusing mess

InteractPacket.php

Type Line Description
TODO 38 should this be a vector3?

MovePlayerPacket.php

Type Line Description
TODO 34 public int $ridingActorRuntimeId = 0;
TODO 106 $out->putByte($this->mode);

ResourcePackDataInfoPacket.php

Type Line Description
TODO 29 check the values for this

ScriptCustomEventPacket.php

Type Line Description
TODO 19 this doesn't have handlers in either client or server in the game as of 1.8

PacketSerializer.php

Type Line Description
TODO 346 NBT data version (?)

SetActorDataPacket.php

Type Line Description
TODO 20 check why this is serverbound

StartGamePacket.php

Type Line Description
TODO 47 this should be filled with a UUID of some sort
TODO 48 public string $serverSoftwareVersion;

ActorEvent.php

Type Line Description
TODO 82 add more events

CommandEnumConstraint.php

Type Line Description
TODO 22 find constants

EntityMetadataProperties.php

Type Line Description
TODO 90 find type

PlayerMetadataFlags.php

Type Line Description
TODO 24 CHECK

ItemStackResponse.php

Type Line Description
TODO 24 there are a ton more possible result types but we don't need them yet and they are wayyyyyy too many for me

LevelSettings.php

Type Line Description
TODO 52 public int $serverChunkTickRadius = 4; //TODO (leave as default for now)
TODO 75 in the future we'll use promoted properties + named arguments for decoding, but for now we stick with

AuthenticationData.php

Type Line Description
TODO 28 find out what this is for

BinaryStream.php

Type Line Description
TODO 34 use typed properties when https://bugs.php.net/bug.php?id=81090 is fixed

Vector3.php

Type Line Description
TODO 48 make this reuse a single object, once Vector3 becomes immutable

BaseNbtSerializer.php

Type Line Description
TODO 142 overflow

CompoundTag.php

Type Line Description
TODO 298 add a flag to enable throwing on this (strict mode)

ListTag.php

Type Line Description
TODO 235 reintroduce type info

CompoundTagTest.php

Type Line Description
TODO 187 add more tests

generate-build-info-json.php

Type Line Description
TODO 39 maybe we should embed this in VersionInfo?

ActivatorRail.php

Type Line Description
TODO 31 }

Bamboo.php

Type Line Description
TODO 126 tags would be better for this

BambooSapling.php

Type Line Description
TODO 57 tags would be better for this

BaseCoral.php

Type Line Description
TODO 67 check water inside the block itself (not supported on the API yet)

BaseSign.php

Type Line Description
TODO 40 conditionally useless properties, find a way to fix

Beacon.php

Type Line Description
TODO 32 }

Bell.php

Type Line Description
TODO 90 this isn't the actual logic, but it's the closest approximation we can support for now

BlockFactory.php

Type Line Description
TODO 250 in PC the hardness is 2.0, not 0.8, unsure if this is a MCPE bug or not
TODO 312 we may need to account for the fact this previously incorrectly had axis
TODO 390 in the future this won't be the same for all the types
TODO 472 find a better way to deal with this split
TODO 547 in the future these won't all have the same hardness; they only do now because of the old metadata crap
TODO 597 minecraft:bubble_column
TODO 598 minecraft:campfire
TODO 599 minecraft:cartography_table
TODO 600 minecraft:cauldron
TODO 601 minecraft:chain_command_block
TODO 602 minecraft:chorus_flower
TODO 603 minecraft:chorus_plant
TODO 604 minecraft:command_block
TODO 605 minecraft:composter
TODO 606 minecraft:conduit
TODO 607 minecraft:dispenser
TODO 608 minecraft:dropper
TODO 609 minecraft:end_gateway
TODO 610 minecraft:end_portal
TODO 611 minecraft:grindstone
TODO 612 minecraft:jigsaw
TODO 613 minecraft:kelp
TODO 614 minecraft:lava_cauldron
TODO 615 minecraft:lectern
TODO 616 minecraft:movingBlock
TODO 617 minecraft:observer
TODO 618 minecraft:piston
TODO 619 minecraft:pistonArmCollision
TODO 620 minecraft:repeating_command_block
TODO 621 minecraft:scaffolding
TODO 622 minecraft:seagrass
TODO 623 minecraft:smithing_table
TODO 624 minecraft:sticky_piston
TODO 625 minecraft:stonecutter_block
TODO 626 minecraft:structure_block
TODO 627 minecraft:turtle_egg
TODO 631 minecraft:camera
TODO 632 minecraft:light_block
TODO 633 minecraft:stickyPistonArmCollision
TODO 634 minecraft:structure_void
TODO 635 minecraft:wither_rose
TODO 639 minecraft:bee_nest
TODO 640 minecraft:beehive
TODO 641 minecraft:honey_block
TODO 642 minecraft:honeycomb_block
TODO 646 minecraft:allow
TODO 647 minecraft:ancient_debris
TODO 648 minecraft:basalt
TODO 649 minecraft:blackstone
TODO 650 minecraft:blackstone_double_slab
TODO 651 minecraft:blackstone_slab
TODO 652 minecraft:blackstone_stairs
TODO 653 minecraft:blackstone_wall
TODO 654 minecraft:border_block
TODO 655 minecraft:chain
TODO 656 minecraft:chiseled_nether_bricks
TODO 657 minecraft:chiseled_polished_blackstone
TODO 658 minecraft:cracked_nether_bricks
TODO 659 minecraft:cracked_polished_blackstone_bricks
TODO 660 minecraft:crimson_button
TODO 661 minecraft:crimson_door
TODO 662 minecraft:crimson_double_slab
TODO 663 minecraft:crimson_fence
TODO 664 minecraft:crimson_fence_gate
TODO 665 minecraft:crimson_fungus
TODO 666 minecraft:crimson_hyphae
TODO 667 minecraft:crimson_nylium
TODO 668 minecraft:crimson_planks
TODO 669 minecraft:crimson_pressure_plate
TODO 670 minecraft:crimson_roots
TODO 671 minecraft:crimson_slab
TODO 672 minecraft:crimson_stairs
TODO 673 minecraft:crimson_standing_sign
TODO 674 minecraft:crimson_stem
TODO 675 minecraft:crimson_trapdoor
TODO 676 minecraft:crimson_wall_sign
TODO 677 minecraft:crying_obsidian
TODO 678 minecraft:deny
TODO 679 minecraft:gilded_blackstone
TODO 680 minecraft:lodestone
TODO 681 minecraft:nether_gold_ore
TODO 682 minecraft:nether_sprouts
TODO 683 minecraft:netherite_block
TODO 684 minecraft:polished_basalt
TODO 685 minecraft:polished_blackstone
TODO 686 minecraft:polished_blackstone_brick_double_slab
TODO 687 minecraft:polished_blackstone_brick_slab
TODO 688 minecraft:polished_blackstone_brick_stairs
TODO 689 minecraft:polished_blackstone_brick_wall
TODO 690 minecraft:polished_blackstone_bricks
TODO 691 minecraft:polished_blackstone_button
TODO 692 minecraft:polished_blackstone_double_slab
TODO 693 minecraft:polished_blackstone_pressure_plate
TODO 694 minecraft:polished_blackstone_slab
TODO 695 minecraft:polished_blackstone_stairs
TODO 696 minecraft:polished_blackstone_wall
TODO 697 minecraft:quartz_bricks
TODO 698 minecraft:respawn_anchor
TODO 699 minecraft:shroomlight
TODO 700 minecraft:soul_campfire
TODO 701 minecraft:soul_fire
TODO 702 minecraft:soul_lantern
TODO 703 minecraft:soul_soil
TODO 704 minecraft:soul_torch
TODO 705 minecraft:stripped_crimson_hyphae
TODO 706 minecraft:stripped_crimson_stem
TODO 707 minecraft:stripped_warped_hyphae
TODO 708 minecraft:stripped_warped_stem
TODO 709 minecraft:target
TODO 710 minecraft:twisting_vines
TODO 711 minecraft:warped_button
TODO 712 minecraft:warped_door
TODO 713 minecraft:warped_double_slab
TODO 714 minecraft:warped_fence
TODO 715 minecraft:warped_fence_gate
TODO 716 minecraft:warped_fungus
TODO 717 minecraft:warped_hyphae
TODO 718 minecraft:warped_nylium
TODO 719 minecraft:warped_planks
TODO 720 minecraft:warped_pressure_plate
TODO 721 minecraft:warped_roots
TODO 722 minecraft:warped_slab
TODO 723 minecraft:warped_stairs
TODO 724 minecraft:warped_standing_sign
TODO 725 minecraft:warped_stem
TODO 726 minecraft:warped_trapdoor
TODO 727 minecraft:warped_wall_sign
TODO 728 minecraft:warped_wart_block
TODO 729 minecraft:weeping_vines

BrewingStand.php

Type Line Description
TODO 112 }

Button.php

Type Line Description
TODO 46 in PC it's (6 - facing) for every meta except 0 (down)
TODO 64 check valid target block

ChemistryTable.php

Type Line Description
TODO 51 return false;

Coral.php

Type Line Description
TODO 56 this hack ensures correct state of coral plants, because they don't retain their dead flag in metadata

DaylightSensor.php

Type Line Description
TODO 116 }

DetectorRail.php

Type Line Description
TODO 50 }

Door.php

Type Line Description
TODO 118 doors are 0.1825 blocks thick, instead of 0.1875 like JE (https://bugs.mojang.com/browse/MCPE-19214)

EnchantingTable.php

Type Line Description
TODO 44 lock

EndRod.php

Type Line Description
TODO 42 in PC this is always the same as facing, just PE is stupid

Farmland.php

Type Line Description
TODO 66 this should be trimmed at the top by 1/16, but MCPE currently treats them as a full block (https://bugs.mojang.com/browse/MCPE-12109)
TODO 105 check rain

Fire.php

Type Line Description
TODO 119 check rain
TODO 140 raise upper bound for chance in humid biomes
TODO 150 fire spread
TODO 175 check rain

FloorCoralFan.php

Type Line Description
TODO 64 HACK! workaround dead flag being lost when broken / blockpicked (original impl only uses first ID)
TODO 105 This produces Z axis 75% of the time, because any negative angle will produce Z axis.

FlowerPot.php

Type Line Description
TODO 40 HACK! this is just to make the client actually render the plant - we purposely don't read the flag back
TODO 91 clean up
TODO 92 bamboo

Furnace.php

Type Line Description
TODO 87 check this

GrassPath.php

Type Line Description
TODO 36 this should be trimmed at the top by 1/16, but MCPE currently treats them as a full block (https://bugs.mojang.com/browse/MCPE-12109)

Hopper.php

Type Line Description
TODO 90 find a way to have inventories open on click without this boilerplate in every block
TODO 99 }
TODO 102 redstone logic, sucking logic

InfestedStone.php

Type Line Description
TODO 53 }

AnimatedBlockInventoryTrait.php

Type Line Description
TODO 51 this crap really shouldn't be managed by the inventory
TODO 61 this crap really shouldn't be managed by the inventory

Jukebox.php

Type Line Description
TODO 115 Jukebox has redstone effects, they are not implemented.

Lava.php

Type Line Description
TODO 54 this is 1 in the nether

Lever.php

Type Line Description
TODO 138 }

Liquid.php

Type Line Description
TODO 386 I think this should only be liquids of the same type

MonsterSpawner.php

Type Line Description
TODO 40 }

Mycelium.php

Type Line Description
TODO 48 light levels

NetherPortal.php

Type Line Description
TODO 83 return true;

Note.php

Type Line Description
TODO 69 }

PressurePlate.php

Type Line Description
TODO 36 }

Rail.php

Type Line Description
TODO 44 railShape won't be plain metadata in future

RedstoneComparator.php

Type Line Description
TODO 128 redstone functionality

RedstoneRepeater.php

Type Line Description
TODO 111 redstone functionality

RedstoneWire.php

Type Line Description
TODO 46 check connections to nearby redstone components

SeaPickle.php

Type Line Description
TODO 85 proper placement logic (needs a supporting face below)
TODO 90 implement this once we have new water logic in place
TODO 99 bonemeal logic (requires coral)

Skull.php

Type Line Description
TODO 44 split this into floor skull and wall skull handling
TODO 47 this should be a parameter

Slime.php

Type Line Description
TODO 43 slime blocks should slow entities walking on them to about 0.4x original speed

SnowLayer.php

Type Line Description
TODO 75 this zero-height BB is intended to stay in lockstep with a MCPE bug

StraightOnlyRail.php

Type Line Description
TODO 47 railShape won't be plain metadata in the future

SweetBerryBush.php

Type Line Description
TODO 154 in MCPE, this only triggers if moving while inside the bush block - we don't have the system to deal

Banner.php

Type Line Description
TODO 69 this should be an error
TODO 78 missing pattern colour should be an error
TODO 81 this should be an error, but right now we don't have the setup to deal with it

Beacon.php

Type Line Description
TODO 43 PC uses Primary and Secondary (capitalized first letter), we don't read them here because the IDs would be different

Bed.php

Type Line Description
TODO 58 this should be an error, but we don't have the systems to handle it yet

Chest.php

Type Line Description
TODO 92 replace this with a purpose flag on writeSaveData()

FlowerPot.php

Type Line Description
TODO 52 new PlantBlock tag

Furnace.php

Type Line Description
TODO 159 move this to Block

MonsterSpawner.php

Type Line Description
TODO 99 this will cause unexpected results when there's no mapping for the entity
TODO 148 we can't set SpawnData here because it might crash the client if it's from a PC world (we need to implement full deserialization)

Spawnable.php

Type Line Description
TODO 69 disassociate network ID from save ID

Tile.php

Type Line Description
TODO 94 check item root tag (MCPE doesn't use BlockEntityTag)

TileFactory.php

Type Line Description
TODO 77 Campfire
TODO 78 Cauldron
TODO 79 ChalkboardBlock
TODO 80 ChemistryTable
TODO 81 CommandBlock
TODO 82 Conduit
TODO 83 Dispenser
TODO 84 Dropper
TODO 85 EndGateway
TODO 86 EndPortal
TODO 87 JigsawBlock
TODO 88 Lectern
TODO 89 MovingBlock
TODO 90 NetherReactor
TODO 91 PistonArm
TODO 92 StructureBlock

TNT.php

Type Line Description
TODO 44 Usage unclear, seems to be a weird hack in vanilla

Trapdoor.php

Type Line Description
TODO 47 in PC the values are reversed (facing - 2)

TrappedChest.php

Type Line Description
TODO 28 Redstone!

TripwireHook.php

Type Line Description
TODO 75 check face is valid
TODO 82 }

RailPoweredByRedstoneTrait.php

Type Line Description
TODO 37 railShape won't be plain metadata in the future

RecordType.php

Type Line Description
TODO 69 Lena Raine - Pigstep

SignText.php

Type Line Description
TODO 60 add length checks

Vine.php

Type Line Description
TODO 157 vine growth

Wood.php

Type Line Description
TODO 38 this should be dynamic, but right now legacy shit gets in the way
TODO 66 strip logs; can't implement this yet because of legacy limitations :(

WoodenButton.php

Type Line Description
TODO 33 arrows activate wooden buttons

ClearCommand.php

Type Line Description
TODO 124 should the cursor inv be cleared?

DifficultyCommand.php

Type Line Description
TODO 63 add per-world support

GiveCommand.php

Type Line Description
TODO 98 overflow

ParticleCommand.php

Type Line Description
TODO 161 colour support
TODO 163 colour support

TimingsCommand.php

Type Line Description
TODO 156 replace with a more generic API method for checking availability of CommandSender

CraftingManager.php

Type Line Description
TODO 163 try to match special recipes before anything else (first they need to be implemented!)
TODO 193 try to match special recipes before anything else (first they need to be implemented!)

CraftingManagerFromDataHelper.php

Type Line Description
TODO 45 filter others out for now to avoid breaking economics
TODO 54 filter others out for now to avoid breaking economics
TODO 68 campfire

DyeColorIdMap.php

Type Line Description
TODO 69 is it possible for this to be missing?

EffectIdMap.php

Type Line Description
TODO 74 SLOW_FALLING
TODO 75 BAD_OMEN
TODO 76 VILLAGE_HERO
TODO 79 not a big fan of the code duplication here :(

EnchantmentIdMap.php

Type Line Description
TODO 59 smite, bane of arthropods (these don't make sense now because their applicable mobs don't exist yet)

ArmSwingAnimation.php

Type Line Description
TODO 33 not sure if this should be constrained to humanoids, but we don't have any concept of that right now

ConsumingItemAnimation.php

Type Line Description
TODO 40 maybe this can be expanded to more than just player entities?
TODO 48 need to check the data values

TotemUseAnimation.php

Type Line Description
TODO 36 check if this can be expanded to more than just humans

InstantDamageEffect.php

Type Line Description
TODO 35 add particles (witch spell)

LevitationEffect.php

Type Line Description
TODO 37 ugly hack, player motion isn't updated properly by the server yet :(

VanillaEffects.php

Type Line Description
TODO 68 bad_omen
TODO 88 slow_falling
TODO 92 village_hero

Entity.php

Type Line Description
TODO 291 maybe this shouldn't be nullable?
TODO 619 check vehicles
TODO 741 hack for client-side AI interference: prevent client sided movement when motion is 0
TODO 1204 vehicle collision events (first we need to spawn them!)
TODO 1422 actor unique ID
TODO 1429 head yaw
TODO 1434 entity links
TODO 1440 this will cause some visible lag during chunk resends; if the player uses a spawn egg in a chunk, the

EntityFactory.php

Type Line Description
TODO 81 index them by version to allow proper multi-save compatibility

ExperienceManager.php

Type Line Description
TODO 253 replace this with a more generic equipment getting/setting interface

Human.php

Type Line Description
TODO 216 use of NIL UUID for namespace is a hack; we should provide a proper UUID for the namespace
TODO 453 actor unique ID
TODO 460 head yaw
TODO 463 [], //TODO: entity links
TODO 469 Hack for MCPE 1.2.13: DATA_NAMETAG is useless in AddPlayerPacket, so it has to be sent separately
TODO 481 +0.001 hack for MCPE falling underground

Living.php

Type Line Description
TODO 130 load/save armor inventory contents
TODO 226 reevaluate this hack
TODO 262 head height
TODO 476 knockback should not just apply for entity damage sources
TODO 546 check death conditions (must have been damaged by player < 5 seconds from death)

FallingBlock.php

Type Line Description
TODO 66 1.8+ save format
FIXME 119 anvils are supposed to destroy torches
TODO 154 check if height affects this

ItemEntity.php

Type Line Description
TODO 210 entity unique ID
TODO 216 I have no idea what this is needed for, but right now we don't support fishing anyway

Painting.php

Type Line Description
TODO 153 entity unique ID

PrimedTNT.php

Type Line Description
TODO 122 deal with underwater TNT (underwater TNT treats water as if it has a blast resistance of 0)

Egg.php

Type Line Description
TODO 34 spawn chickens on collision

EnderPearl.php

Type Line Description
TODO 38 check end gateways (when they are added)
TODO 39 spawn endermites at origin

SplashPotion.php

Type Line Description
TODO 130 lingering potions

Villager.php

Type Line Description
TODO 47 eye height??
TODO 78 validation

Zombie.php

Type Line Description
TODO 35 eye height ??
TODO 65 check for equipment and whether it's a baby

EntityDamageByEntityEvent.php

Type Line Description
TODO 50 move this to entity classes

CallbackInventoryListener.php

Type Line Description
TODO 31 turn the closure signatures into type aliases when PHPStan supports them

Banner.php

Type Line Description
TODO 104 missing pattern colour should be an error
TODO 107 this should be an error

Boat.php

Type Line Description
TODO 45 }

Bow.php

Type Line Description
TODO 118 tipped arrows are still consumed when Infinity is applied

Bowl.php

Type Line Description
TODO 28 check fuel

Bucket.php

Type Line Description
TODO 40 move this to generic placement logic

Enchantment.php

Type Line Description
TODO 95 methods for min/max XP cost bounds based on enchantment level (not needed yet - enchanting is client-side)

ItemFlags.php

Type Line Description
TODO 32 this should probably move to protocol

VanillaEnchantments.php

Type Line Description
TODO 65 check fireballs
TODO 81 smite, bane of arthropods (these don't make sense now because their applicable mobs don't exist yet)

FishingRod.php

Type Line Description
TODO 28 }

Item.php

Type Line Description
TODO 77 this stuff should be moved to itemstack properties, not mushed in with type properties
TODO 693 improve error handling

ItemFactory.php

Type Line Description
TODO 273 use colour object directly
TODO 274 add interface to dye-colour objects
TODO 295 minecraft:armor_stand
TODO 296 minecraft:balloon
TODO 297 minecraft:banner_pattern
TODO 298 minecraft:campfire
TODO 299 minecraft:carrotOnAStick
TODO 300 minecraft:chest_minecart
TODO 301 minecraft:command_block_minecart
TODO 302 minecraft:crossbow
TODO 303 minecraft:elytra
TODO 304 minecraft:emptyMap
TODO 305 minecraft:enchanted_book
TODO 306 minecraft:end_crystal
TODO 307 minecraft:ender_eye
TODO 308 minecraft:fireball
TODO 309 minecraft:fireworks
TODO 310 minecraft:fireworksCharge
TODO 311 minecraft:glow_stick
TODO 312 minecraft:hopper_minecart
TODO 313 minecraft:horsearmordiamond
TODO 314 minecraft:horsearmorgold
TODO 315 minecraft:horsearmoriron
TODO 316 minecraft:horsearmorleather
TODO 317 minecraft:ice_bomb
TODO 318 minecraft:kelp
TODO 319 minecraft:lead
TODO 320 minecraft:lingering_potion
TODO 321 minecraft:map
TODO 322 minecraft:medicine
TODO 323 minecraft:name_tag
TODO 324 minecraft:phantom_membrane
TODO 325 minecraft:rapid_fertilizer
TODO 326 minecraft:record_pigstep
TODO 327 minecraft:saddle
TODO 328 minecraft:shield
TODO 329 minecraft:sparkler
TODO 330 minecraft:spawn_egg
TODO 331 minecraft:tnt_minecart
TODO 332 minecraft:trident
TODO 333 minecraft:turtle_helmet
TODO 338 the meta values should probably be hardcoded; they won't change, but the EntityLegacyIds might
TODO 464 do not assume that item IDs and block IDs are the same or related

LiquidBucket.php

Type Line Description
TODO 64 move this to generic placement logic

Minecart.php

Type Line Description
TODO 28 }

Potion.php

Type Line Description
TODO 49 check CustomPotionEffects NBT

PotionType.php

Type Line Description
TODO 190 ]),
TODO 193 ]),
TODO 196 ]),
TODO 199 ]),
TODO 202 ])

Skull.php

Type Line Description
TODO 41 we ought to be able to represent this as a regular ItemBlock

SpawnEgg.php

Type Line Description
TODO 45 what if the entity was marked for deletion?

WritableBookPage.php

Type Line Description
TODO 36 data validation

ChunkCache.php

Type Line Description
FIXME 204 requesters will still receive this chunk after it's been dropped, but we can't mark this for a simple

LegacySkinAdapter.php

Type Line Description
TODO 53 playfab ID

TypeConverter.php

Type Line Description
TODO 66 inject stuff via constructor
TODO 170 HACK: This foul-smelling code ensures that we can correctly deserialize an item when the
TODO 225 HACK: This foul-smelling code ensures that we can correctly deserialize an item when the
TODO 327 more stuff

InGamePacketHandler.php

Type Line Description
TODO 193 HACK: EATING_ITEM is sent back to the server when the server sends it for other players (1.14 bug, maybe earlier)
TODO 199 ignore this and handle it server-side
TODO 273 this might not be crafting if there is a special inventory open (anvil, enchanting, loom etc)
TODO 295 only sync slots that the client tried to change
TODO 312 1.13+ often sends transactions with nothing but useless crap in them, no need for the debug noise
TODO 342 start hack for client spam bug
TODO 356 end hack for client spam bug
TODO 416 use transactiondata for rollbacks here
TODO 436 use transactiondata for rollbacks here (resending entire inventory is very wasteful)
TODO 468 HACK: silence useless spam (MCPE 1.8)
TODO 472 implement handling for this where it matters
TODO 483 }
TODO 491 }
TODO 540 case PlayerAction::CRACK_BREAK:
TODO 545 case PlayerAction::STOP_SWIMMING:
TODO 547 handle this when it doesn't spam every damn tick (yet another spam bug!!)
TODO 549 ignored (for now)
TODO 552 do we need to handle this?
TODO 587 operators can change other people's permissions using this
TODO 600 check for other changes
TODO 643 }
TODO 656 }
TODO 660 }
TODO 679 }
TODO 683 handle resume
TODO 695 }
TODO 708 }
TODO 712 break this up into book API things
TODO 729 the client can send insert-before actions on trailing client-side pages which cause odd behaviour on the server
TODO 822 GUI stuff
TODO 826 }
TODO 830 implement this properly - this is here to silence debug spam from MCPE dev builds

LoginPacketHandler.php

Type Line Description
TODO 185 we don't really need this as an array, but right now we don't have enough models
TODO 213 we don't really need this as an array, but right now we don't have enough models

PreSpawnPacketHandler.php

Type Line Description
TODO 73 implement this properly
TODO 80 implement these properly

ResourcePacksPacketHandler.php

Type Line Description
TODO 79 more stuff
TODO 82 support forcing server packs
TODO 95 add lang strings for this
TODO 120 this might be an addon (not behaviour pack), needed to properly support client-side custom items
TODO 128 subpacks

InventoryManager.php

Type Line Description
TODO 66 HACK!
TODO 173 we should be using some kind of tagging system to identify the types. Instanceof is flaky especially
TODO 200 HACK! this restores 1.14ish behaviour, but this should be able to be listened to and
TODO 242 HACK!
TODO 262 HACK!

NetworkSession.php

Type Line Description
TODO 195 allow this to be injected
TODO 230 this should never actually occur... right?
TODO 313 this is fine since we can't handle anything from a disconnected session, but it might produce surprises in some cases
TODO 621 Longer term, we should be identifying playerdata using something more reliable, like XUID or UUID.
TODO 651 make player data loading async
TODO 652 we shouldn't be loading player data here at all, but right now we don't have any choice :(
TODO 695 HACK: fix client-side falling pre-spawn
TODO 710 HACK: we set this during the spawn sequence to prevent the client sending junk movements
TODO 717 this is a bad fix for pre-spawn death, this shouldn't be reachable at all at this stage :(
TODO 741 head yaw
TODO 744 riding entity ID
TODO 745 tick
TODO 764 respawn causing block position (bed, respawn anchor)
TODO 803 permission flags
TODO 828 we may need yet another effect <=> ID map in the future depending on protocol changes
TODO 860 commands containing uppercase letters in the name crash 1.9.0 client
TODO 932 make this an error
TODO 959 weather needs to be synced here (when implemented)
TODO 979 we could send zero for slot here because remote players don't need to know which slot was selected
TODO 1067 we might need to send these to other players in the future

RakLibInterface.php

Type Line Description
TODO 174 this shouldn't be hardcoded, but we might need the RakNet protocol version to select it

ChunkSerializer.php

Type Line Description
TODO 68 HACK! fill in fake subchunks to make up for the new negative space client-side
TODO 79 right now we don't support 3D natively, so we just 3Dify our 2D biomes so they fill the column

StandardPacketBroadcaster.php

Type Line Description
TODO 50 different compressors might be compatible, it might not be necessary to split them up by object

QueryHandler.php

Type Line Description
TODO 90 have this filtered by the regex filter we installed above
TODO 116 check this! according to the spec, this should always be here and always be FF FF FF 01

UPnP.php

Type Line Description
TODO 133 replace with preg_last_error_msg() in PHP 8.

PermissibleInternal.php

Type Line Description
TODO 108 tick scheduled attachments

ChunkSelector.php

Type Line Description
TODO 29 turn this into an interface?

GameMode.php

Type Line Description
TODO 99 ability sets per gamemode

Player.php

Type Line Description
TODO 234 Abilities
TODO 317 bad hack here to avoid crashes on corrupted data
TODO 976 HACK! this syncs the onground flag with the client so that flying works properly
TODO 1127 this is probably too big if we process every movement
TODO 1195 check swimming (adds 0.015 exhaustion in MCPE)
TODO 1266 HACK! (Fixes player knockback being messed up)
TODO 1353 exception here?
TODO 1524 maybe this should throw an exception instead?
TODO 1558 check the targeted block matches the one we're told to target
TODO 2294 workaround for player last pos not getting updated
TODO 2310 more windows
TODO 2388 client side race condition here makes the opening work incorrectly

SurvivalBlockBreakHandler.php

Type Line Description
TODO 86 improve this to take stuff like swimming, ladders, enchanted tools into account, fix wrong tool break time calculations for bad tools (pmmp/PocketMine-MP#211)
TODO 103 sync with client

PluginBase.php

Type Line Description
TODO 86 this is accessed externally via reflection, not unused

PluginManager.php

Type Line Description
TODO 195 I don't think anyone uses this, and it currently relies on some magic inside PermissibleBase
TODO 262 more specific exception handling

Server.php

Type Line Description
TODO 591 this hack is needed for new players in-air ticks - they don't get detected as on-ground until they move
TODO 1017 move console parts to a separate component
TODO 1071 error checking

TimingsHandler.php

Type Line Description
TODO 146 it would be nice to bail here, but since we'd have to track timing depth across resets

Filesystem.php

Type Line Description
TODO 125 access permissions?

Process.php

Type Line Description
TODO 73 more OS
TODO 123 more OS

ReversePriorityQueue.php

Type Line Description
TODO 42 this will crash if non-numeric priorities are used

Terminal.php

Type Line Description
TODO 176 iOS

Utils.php

Type Line Description
TODO 247 use of NIL as namespace is a hack; it works for now, but we should have a proper namespace UUID

Chunk.php

Type Line Description
TODO 80 what about lazily initializing this?

BedrockWorldData.php

Type Line Description
TODO 64 add support for limited worlds
TODO 77 find out what the possible values are for
TODO 95 //Additional PocketMine-MP fields
TODO 141 add a null generator which does not generate missing chunks (to allow importing back to MCPE and generating more normal terrain without PocketMine messing things up)

JavaWorldData.php

Type Line Description
TODO 48 , add extra details

FormatConverter.php

Type Line Description
TODO 116 defaulting to NORMAL here really isn't very good behaviour, but it's consistent with what we already
TODO 141 add more properties as-needed

LevelDB.php

Type Line Description
TODO 179 quick and dirty hack for artifacts left behind by broken world editors
TODO 186 exceptions
TODO 265 check beds
TODO 330 set chunks read-only so the version on disk doesn't get overwritten
TODO 382 set chunks read-only so the version on disk doesn't get overwritten
TODO 416 tile ticks, biome states (?)
TODO 420 maybe missing biomes should be an error?
TODO 456 we use these in-memory, but they aren't supported on disk by the game yet
TODO 484 use this properly

Anvil.php

Type Line Description
TODO 56 add world height options

McRegion.php

Type Line Description
TODO 121 add world height options

RegionLoader.php

Type Line Description
TODO 167 if we reached here, the locationTable probably needs updating
TODO 350 more validity checks

FlatGeneratorOptions.php

Type Line Description
TODO 108 more error checking

Simplex.php

Type Line Description
TODO 84 this really needs to reset the RNG seed to avoid future RNG contamination

LightUpdate.php

Type Line Description
TODO 33 make light updates asynchronous

BlockForceFieldParticle.php

Type Line Description
TODO 36 proper encode/decode of data

FloatingTextParticle.php

Type Line Description
TODO 46 HACK!
TODO 111 actor unique ID
TODO 114 check offset

MobSpawnParticle.php

Type Line Description
TODO 37 bounds checks

EntityAttackSound.php

Type Line Description
TODO 37 seems like ATTACK is dysfunctional

EntityLandSound.php

Type Line Description
TODO 54 does isBaby have any relevance here?

EntityLongFallSound.php

Type Line Description
TODO 50 is isBaby relevant here?

EntityShortFallSound.php

Type Line Description
TODO 49 does isBaby have any relevance here?

XpLevelUpSound.php

Type Line Description
TODO 47 check arbitrary volume

World.php

Type Line Description
TODO 435 this might actually get hit because generation rejection callbacks might try to schedule new
TODO 1086 calculated light information might not be valid if the terrain changed during light calculation
TODO 1331 check rain and thunder level
TODO 1387 this should probably throw instead (light not calculated yet)
TODO 1412 this should probably throw instead (light not calculated yet)
TODO 1788 build height limit messages for custom world heights and mcregion cap
TODO 1885 seal this up inside block placement
TODO 2040 this should probably throw instead (terrain not generated yet)
TODO 2511 we can't prevent entities getting added to unloaded chunks if they were saved in the wrong place
TODO 2655 bad hack, clean up

WorldManager.php

Type Line Description
TODO 322 check if we still need the trailing dirsep (I'm a little scared to remove it)

DisallowEnumComparisonRule.php

Type Line Description
TODO 70 what we really want to do here is iterate over the contained types, but there's no universal way to

ReceiveReliabilityLayer.php

Type Line Description
TODO 197 this should result in peer banning

SendReliabilityLayer.php

Type Line Description
TODO 209 group resends if the resulting datagram is below the MTU

ConnectionRequestAccepted.php

Type Line Description
TODO 67 check this

NewIncomingConnection.php

Type Line Description
TODO 49 HACK!

SplitPacketInfo.php

Type Line Description
TODO 28 argument validation

Server.php

Type Line Description
TODO 326 reusable streams to reduce allocations

Session.php

Type Line Description
TODO 196 reuse streams to reduce allocations

Search results