mojira.dev
MC-296145

The ability for survival/adventure mode players to pick up a crossbow projectile is determined when the projectile is loaded, not when it is fired

bug:
arrows loaded in creative mode and fired in survival can not be retrieved

expected behaver:
arrow can be retrieved

Comments 2

Can confirm, but this may be intended. When the player loads a crossbow in creative mode, the projectile gets the intangible_projectile item component. Creative players may also obtain crossbows whose projectiles do not have this component, either via commands or by loading in survival and then switching to creative; this allows them to make use of the intangible_projectile component or not – whichever behavior they desire – and is thus in keeping with the purpose of creative more. If, instead, projectiles loaded in creative mode did not get this component, but all projectiles fired in creative mode became intangible, then creative players would be unable to shoot projectiles which could be picked up in survival (unless a repeating command block or function was modifying them to become tangible), which could be seen as a loss of creative mode functionality. On the other hand, many players (myself included) expect that the tangibility of a projectile is determined at the moment of its firing, so this “loss of creative mode functionality” may be seen as acceptable.

There is, of course, a way to fix this issue which avoids the pitfalls of both approaches: change the intangible_projectile component to accept a field. Perhaps the component could be renamed to projectile_data and the field could be called retrievability, with the following values being recognized:

  • unretrievable: The projectile cannot be retrieved by anyone, even if they are in creative mode. (Not a natural state, can only be set via commands.)

  • creative_players_only: The projectile can only be retrieved by players in creative mode.

  • non_spectator_players: The projectile can be retrieved by players in creative, survival or adventure mode. (Not a natural state, can only be set via commands.)

  • determined_upon_firing: The projectile can be retrieved by players in creative, survival or adventure mode. Upon being fired, this field will be set to creative_players_only unless its owner is a player in survival or adventure mode (without Infinity), in which case it will not be updated. Although this value does not exist naturally, this is the default behavior for projectile items which do not have the component.

Projectiles loaded into a crossbow in any game mode will not have the component (unless they pull/copy an item which does have the component from the player’s inventory).

Personally I hope Mojang goes ahead and implements this change. It would allow opped players to give loaded crossbows to ordinary, survival-mode players (including themselves) without worrying about introducing non-survival behavior. Also, intangible_projectile was always a weird phrase, changing it to projectile_data is more comprehensible and allows for more expandability should other ranged weapons and/or projectiles be added to the game later on.

Thank you for your report!
After consideration, the issue is being closed as Working as Intended.

Please note, that mechanics of the game may change between updates.
Things such as graphics, sounds, world creation, biomes, redstone, villagers, and animals may not work the same in current versions.

Full Version HistorySnapshot Version HistoryThe official Minecraft feedback site

Quick Links:
📓 Bug Tracker Guidelines – 💬 Community Support – 📧 Mojang Support (Technical Issues) – 📧 Microsoft Support (Account Issues)
📓 Project Summary – ✍️ Feedback and Suggestions – 📖 Game Wiki

jack lewis

(Unassigned)

Confirmed

(Unassigned)

1.21.5

Retrieved