Skip to content

Pixelrus In-Game Wiki (pixelmon-wiki-link)

Adds /pwiki: look up any Pokemon or page from the Pixelrus Wiki in game. Pokemon open a chest-style menu with stats, spawns, evolutions, moves and more; other pages show a preview in chat with a link to the website.

What it does

  • /pwiki <Pokemon> opens a five-row menu: the Pokemon's sprite on the left, and a grid of icons for general info and stats, catch rate, spawn biomes with chances, breeding, type matchups, evolutions (click to open them), abilities, EV yield, drops, level-up, TM/TR/HM and egg moves, palettes, and a website link.
  • /pwiki <other page> shows a text preview in chat.
  • Every result includes a clickable link to the full page on the website.
  • All facts come from one checked data file published by the wiki generator, the same source as the website. The mod never makes up data from Pixelmon's own registries. If the file is missing or fails its checks, /pwiki shows no facts rather than wrong ones.
  • Pixelmon's own /wiki command is left alone.

Server-side only. The menu is a normal chest menu, so clients need nothing extra.

How players use it

Command Result
/pwiki Usage and website link; dataset metadata is shown only to operators
/pwiki <Pokémon> Open the fixed five-row Pokémon inventory GUI
/pwiki <Pokémon> @<section> Open that canonical section's lore directly
/pwiki <other page> Chat preview for non-Pokémon canonical pages
/pwiki reload Permission-level 2 asynchronous artifact refresh
/pwikiopen [page] Send only a clickable browser link; intended for other mods to dispatch as the player
/wikiopen [page] Alias of /pwikiopen

Examples: /pwiki pikachu, /pwiki charizard @Evolution, /pwiki Rare Candy.

The game cannot open a browser for you. Click the link in chat; Minecraft asks you to confirm. In the Pokemon menu, click the knowledge book to get the link in chat (item tooltips cannot open links). Page names tab-complete.

Staff guide

  • /pwiki reload (op level 2) reloads the data file in the background.
  • Ops see a short page and dataset hash with each result, to identify exactly which data is live. Regular players never see hashes, timestamps or load errors.
  • Other mods can send a player a wiki link by running /pwikiopen <page> as that player. Pixelmon Hunt does this from its target sprite.

Configuration

config/pixelmonwikilink-common.toml, generated on first boot:

siteName = "Pixelrus Wiki"
homeUrl = "https://wiki.pixelrus.net"
dataPath = "config/pixelrus-wiki-data.json.gz"
dataUrl = ""
maxPreviewChars = 3500
  • With an empty dataUrl, the server only reads the file at dataPath. This is the simplest and most controlled setup: deploy the exact published data file.
  • An HTTPS dataUrl lets /pwiki reload download a new file. A download replaces the cached file only after every check passes.
  • maxPreviewChars limits the size of one chat preview.

Data and storage

config/pixelrus-wiki-data.json.gz: the canonical wiki data. Each page has its title, final wiki text and a SHA-256; the dataset has an overall SHA-256. Replace it only with an active file from the wiki generator, never a *.candidate file.

Troubleshooting

Symptom Cause Fix
/pwiki shows no facts No valid data file at dataPath Deploy the matching active data file and /pwiki reload
Data is out of date Old file deployed, or the jar and file versions do not match Deploy the jar and its matching data file together
Link does not open Expected: the server cannot open a browser Click the link in chat
Download did not replace the file The downloaded file failed a check Look at the server log; the last good file stays in use

Maintainer notes

Pokémon pages use a fixed five-row vanilla chest GUI, so no custom client screen is required. The selected Pokémon sprite sits at row three, column two; a glass divider separates it from a 3x5 icon grid. The icons expose general information and colored stats, catch rate, compact canonical spawn biome groups with generator-precomputed percentage ranges, locations and eligible server biomes, breeding, type effectiveness, clickable evolutions, abilities, EV yield, drops, level moves, the unique TM/TR/HM move set, egg moves, palettes, and the website link. Evolution targets open their own entry, and the palette browser renders the canonical form/palette list as sprites. The overview facts are presented as non-paginated item lore. Clicking the knowledge-book item closes the GUI and sends the real OPEN_URL component in chat, because item tooltip clicks cannot open URLs.

Single-source invariant

The generator writes pixelrus-wiki-data.json.gz.candidate first. Each record contains a page title, the final MediaWiki source, and its SHA-256. The dataset ID is the SHA-256 of the sorted canonical page records.

For a live publication, the generator:

  1. publishes only strings read from the completed artifact;
  2. reads every MediaWiki page back and compares it byte for byte;
  3. aborts if any page differs; and
  4. atomically promotes the candidate to the active artifact only after every page passes.

The server must receive that exact active gzip file. A candidate is never a deployable release because it has not passed website readback. The mod also fails closed: an invalid download never replaces the last-known-good cache, and no wiki facts are shown when there is no validated dataset.

Release discipline

Do not copy a *.candidate file into a server. Run the full PixelmonWiki publication only with explicit approval; its active artifact is created only after exact live readback. Stage that active file and the 2.4.0 jar together, then deploy both before restarting. A mod jar without its matching data file loads but refuses to report wiki facts.

Building

JAVA_HOME=$(/usr/libexec/java_home -v 21) ./gradlew test build

Output: build/libs/pixelmonwikilink-<version>.jar. Pixelmon is compile-only. To test against a full generated data file, add -DcanonicalArtifact=<path to pixelrus-wiki-data.json.gz.candidate>.

Full command, permission and config tables: Reference.