Vertically stacked hoppers fail to pull before the upper one pushes if hopper-check is equal to hopper-transfer
メンテナーはふだん 1 日以内に返信
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 15/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- java
- 領域
- game-dev, performance
調査の方向性
The payload names only the hopper-check and hopper-transfer settings in spigot.yml and the hopper tick ordering within a chunk; it does not name source files. Start by reading the open linked pull request #14393 to see what it already changes, since the work is under way. A newcomer could reproduce the skip with a vertical hopper chain and hopper-check: 8, then confirm that the fix keeps pull checks running every tick.
索引モデルが issue の本文から書いたものです。
説明
Expected behavior
A warning for server owners if they misconfigure hopper-check for performance reasons, or a deterministic approach to executing hopper ticks such as by order of placement in the chunk.
Observed/Actual behavior
Server owners can be unaware that hopper-check = hopper-transfer is causing unpredictable item skips for hopper filters and other usages of vertically stacked hoppers.
If the top hoppers tick executes before the bottom hoppers, it may push before the bottom hopper pulls. This can happen when all hopper cooldowns become synced and processed in the same tick.
Web Examples of misconfigured servers:
https://www.minerealm.com/community/viewtopic.php?t=14973
https://www.spigotmc.org/threads/what-is-hopper-check-in-spigot-yml.380434/
Steps/models to reproduce
Set hopper-check: 8 in spigot.yml and attempt to run a large automated item sort filter from a mob farm.
If the hopper chain and filter hoppers cooldowns regularly expire on the same tick, and a hopper chain hopper executes before the filter hopper, the item will be moved before the filter hopper sees it.
In vanilla minecraft all hoppers check if they can pull items every tick, therefore more often than the transfer cooldown expires of a hopper above it. hopper-check >= hopper-transfer causes pull checks to be delayed and miss their pull opportunity.
Plugin and Datapack List
None
Paper version
26.2-DEV-e5fe717
Other
No response
- 主要言語
- Java
- スター
- 12.7k
- フォーク
- 3.5k
- 平均マージ
- 2日 11時間
- マージ済み PR(30日)
- 46
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
PaperMC/Paper のほかの issue
-
type: bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
status: needs triage
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
PaperMC/Paper#14375 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Add .getIgniter() to ExplosiveMinecart対応中かも @WouterGritter が 32 日前に担当しました。 オープンstatus: needs triage
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
PaperMC/Paper#14097 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
BlockType#isOccluding is incorrectly handled対応中かも @ryoji-ikeda が 176 日前に担当しました。 オープンstatus: accepted
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
PaperMC/Paper#13790 · コメント 5 件 ·
メンテナーはふだん 1 日以内に返信
-
status: needs triage version: 26.3
難易度 3/5 1〜2日 初心者へのやさしさ 72/100
PaperMC/Paper#14412 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
apache/rocketmq-dashboard#7250 ·
メンテナーはふだん 3 日以内に返信
-
HttpMaxFrameSizeTest.sendOversizedMessageTest() passes silently when maxFrameSize is not enforcedオープン
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
apache/activemq#2706 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
federicoiosue/Omni-Notes#1032 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
unitycatalog/unitycatalog#2025 ·
メンテナーはふだん 4 日以内に返信
-
難易度 1/5 1〜3時間 初心者へのやさしさ 78/100
krizaka/krizaka-notifications#22 ·
メンテナーはふだん 1 日以内に返信