PaperMC / PaperMC/Paper

Arrows loosing owner, after the owning player leaves the server

Open
#12,730 15 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

status: needs triage
Dominant language
Java
Stars
12.7k
Forks
3.5k
Avg merge
3d 13h
Merged PRs (30d)
11

Description

Expected behavior

In Vanilla, Arrows keep Owner, and still have the owner after reconnecting, even if the arrow gets moved by piston, slime blocks etc.

Observed/Actual behavior

In Paper, it looses its owner, i think its under the condition, that its getting moved.

Steps/models to reproduce

https://www.youtube.com/watch?v=FnUE-ZaALLw&t

I tested it with his contraption
(in the "Other" section, i also added a video of mine, where i show the issue)

MirrorPylon v9.zip

this zip file includes a schematic, which is shown in the Video of Squibble

Plugin and Datapack List

No Plugins/Datapacks

Paper version

Paper 1.21.4 Build 232

Other

Hey there,
as the title says, currently arrows are loosing its owner, i think, its under a certain condition.
Yes, the arrow is in a chunkloaded chunk, and it never gets unloaded.
Im shooting the arrow, it has an owner (me), then im leaving and rejoining the server, and its owner is gone. Im not restarting the server!
I tested it with the latest 1.21.4 Version of Paper.
To verify this... i tried it on a vanilla server. On a vanilla server, the Arrow keeps its owner.

BUT (yes, capslock "BUT", because this is very important):
This doesnt happen, if the arrow isn´t moving. If it´s movement equals zero, everything is fine..
But if the arrow gets moved by a piston contraption, it looses its owner

Here is a youtube video, where i show it:
https://www.youtube.com/watch?v=vVc8BuZ2Wfo

Important to mention regarding the video:
The Server in the Video is a purpur server, but i also tested it with paper.
In the Video im using a velocity proxy in front of the server for redirection, i also tested it without velocity.
I´ve also got a plugin called "tabtps" installed, here as well, i also tested it without any plugins
To sum up: I also tested it on a completely "vanilla" paper server, and in comparison to vanilla, the arrows looses its owner, by just beeing moved whilst the player isnt online.

Some last words: I haven´t tested it further.. like.. for example shooting an arrow up in the sky, then reconnecting, and checking for its owner nbt data.
I literally only tested it with the contraption which can be seen in the Video

Greetings
Ghost

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the issue with the MirrorPylon v9.zip contraption and the linked videos on Paper 1.21.4, then compare arrow ownership before and after piston movement while the player is offline. Trace the arrow movement and persistence path to identify where ownership is lost; done means the arrow retains its owner after reconnecting, matching vanilla behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend, game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.