flytegg / flytegg/plugin-portal
[1.8.x] Support Paper 1.8.8 / Minecraft 1.8.9 clients
- Dominant language
- Kotlin
- Stars
- 92
- Forks
- 15
- Avg merge
- 49m
- Merged PRs (30d)
- 4
Description
## Description
Add and verify full support for legacy Bukkit/Paper servers in the Minecraft 1.8.x range, including Paper 1.8.8 servers joined by Minecraft 1.8.9 clients.
## Current findings
A live test with MCJars Paper 1.8.8 build 445 showed:
- Plugin Portal 3.8.7 loads and enables successfully.
- Basic commands such as `/pp`, `/pp list`, and `/pp version` work.
- Marketplace commands such as `/pp search ViaVersion` fail while initializing `MarketplacePluginCache`.
- The failure is caused by the runtime's older Guava version:
```
NoSuchMethodError:
CacheBuilder.expireAfterWrite(java.time.Duration)
```
The test server was run on Java 21. The plugin currently targets Java 17 bytecode, so Java 8 host support is a separate compatibility decision.
## Proposed work
- Remove or isolate the dependency on the newer Guava `Duration` overload so marketplace/cache features work with Paper 1.8.8.
- Audit runtime dependencies and Bukkit API usage for 1.8.x.
- Decide whether Java 8 server/runtime support is required, and lower the plugin bytecode target only if all dependencies and language features allow it.
- Add a repeatable MCJars/Paper 1.8.8 smoke test covering startup, `/pp` commands, search, and install.
## Acceptance criteria
- Plugin Portal enables without errors on Paper 1.8.8.
- No cache initialization or shutdown exceptions occur.
- Marketplace search and install work on a clean legacy server.
- The supported Java runtime range is documented clearly.
Contributor guide
Research direction
Reproduce the issue on MCJars Paper 1.8.8 build 445 with Java 21, starting at MarketplacePluginCache and the `/pp search` path. Inspect runtime dependencies and Bukkit API usage for 1.8.x, then verify startup, `/pp` commands, search, and install on a clean legacy server. Done means no cache exceptions and documented Java support.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, kotlin
- Domain
- backend, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100