Markers
Table of Contents
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 |