flytegg / flytegg/plugin-portal

[1.8.x] Support Paper 1.8.8 / Minecraft 1.8.9 clients

Open
#121 0 comments 0 reactions 0 assignees View on GitHub
bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.