PaperMC / PaperMC/Paper

Per-player projectile limit

Open
#14,142 0 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

Is your feature request related to a problem?

I'm working with our admins to keep projectile counts low (specifically using the max-arrow-despawn-invulnerability config), but also to allow an option for a player to have a small number of live arrows for looting farms and warden switches.

Describe the solution you'd like.

I would like to extend the maxArrowDespawnInvulnerability code to check how many projectiles are owned by the player, and then tick the arrow despawn timer only if there are more than N (configurable) projectiles belonging to that player

Describe alternatives you've considered.

Before #13452 the workaround was to just use a piston instead of a bubble column, but #13452 specifically fixed that loophole.

Other

I'm happy to build/test/document the change, I just want to have the conversation first before getting started. Specifically the implementation detail of finding all the arrows that belong to a player. Or is it better to give each player a quota of projectiles and just insta-destroy any new ones over the quota? I'm open to ideas here as long as it gives my admins a way to block bad actors spamming entities while also allowing normal players to make warden switches.

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 tracing the existing maxArrowDespawnInvulnerability code and the behavior changed by #13452. Clarify how projectiles are associated with a player and which configurable limit should govern despawning. The work is done when admins can set a per-player projectile threshold that preserves normal use while limiting projectile spam.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
game-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.