* Bump com.gradleup.shadow from 9.4.3 to 9.6.1
Bumps [com.gradleup.shadow](https://github.com/GradleUp/shadow) from 9.4.3 to 9.6.1.
- [Release notes](https://github.com/GradleUp/shadow/releases)
- [Commits](https://github.com/GradleUp/shadow/compare/9.4.3...9.6.1)
---
updated-dependencies:
- dependency-name: com.gradleup.shadow
dependency-version: 9.6.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* Don't bother excluding projects
This is a piece of legacy configuration for the old project structure where modules were reflectively loaded.
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jikoo <jikoo.games@gmail.com>
- Resolves https://github.com/Jikoo/OpenInv/issues/413
- Regression introduced by: https://github.com/Jikoo/OpenInv/pull/311
Before the regression, `SearchInvCommand` used two nested loops: an outer loop
over online players and an inner loop over the inventory contents. The
`break` lived in the **inner** loop, ending the per-item count-up once the
requested threshold was reached.
That commit extracted the inner loop into `SearchHelper.findMatch(...)` but
left the `break` behind. It now sits directly inside the **outer**
`for (Player player : ...)` loop, so the entire player scan terminates at
the first match.
I could be wrong about the intentionality of this `break` statement; however, in my eyes, this looks correct!
* Add support for Minecraft 26.2
* Update resource pack version
* Drop support for Minecraft 1.21.6-1.21.8
* Drop internal version listing
---------
Co-authored-by: Jikoo <jikoo.games@gmail.com>
* Improve InventoryHolder handling
* Don't snapshot holder on Paper
* Ensure viewer has silent enabled first to reduce impact on Spigot
* Remove BlockState reflection
Instead of reading every single player file from disk when doing a fuzzy match, we now do a single lookup from a SQLite database. The database is populated once with all existing players' names on startup, then maintained when players join. This is a massive performance boost for servers that have high player counts or run on spinning disks.
Lookups now require that the first character of the target player's name be correct (case-insensitive). For Geyser-like names, this extends to the first character of their real name. For example, "XxXJohnMinecraftXxX" can no longer be located by a "johnminecraft" search. A search for "xjohnminecraft" could be used instead. A Geyser player ".FranMinecraft" would require ".f" to be eligible, i.e. "franmc" cannot produce the correct result while ".franmc" might.
* Extract common chest code, expose view-only state
* Add prefix for view-only state
* Add nodes for behavior of accessing equal
* Include permission-based denial feedback
* Fix warnings about task not being cacheable
* Add plugin to install Spigot
* Explicitly cache BuildTools products
* Move reobfuscation to a plugin
* Update compilation instructions
Boy, and I thought having to make the first commit was embarrassing, wait till people see that I realized that was missing and didn't think about the counterpart. At least I did think about it though, I wasn't even testing on 1.20 where it would break things.