Overview
Prepare reusable environments, launch them from a terminal, and join them with your Minecraft client.
Use the scenarios workflow when you want to open a prepared environment and exercise your plugin by hand. Anvil starts the declared servers and proxies, installs their assets, and keeps a terminal open while you join with your own Minecraft Java Edition client.
For example, keep a Paper environment ready for checking a command's output, or prepare a proxy and
lobby to inspect a login or routing flow. The environment declaration is the same AnvilScenario
used by automated tests; this workflow changes how you launch and use it.
Prepare, run, and join
- Scenario definitions: give each prepared environment a definition class and presentation metadata.
- Running scenarios: list environments, start one, and switch or restart it.
- Joining an environment: find the entrypoint and connect from this machine or an explicitly enabled LAN listener.
- Runner controls: inspect status and logs, send console commands, and stop.
Complete installation first. The standard
me.whereareiam.anvil plugin supplies foreground tooling and IDE discovery. Select platforms,
protocols, and capabilities explicitly. The definitions guide provides a Paper example that you
can launch without writing a JUnit test.
Reuse the building blocks
Describe servers, proxies, plugin JARs, seed data, and persistence in the shared environment building blocks. A setup hook can also create simulated players before the environment is handed to you. Install the capabilities that those setup actions require.
Anvil manages its processes and simulated clients. You control your rendered Minecraft client yourself; the runner does not automate its interface. Use an automated test when the sequence and assertions should execute unattended, and use the same prepared environment here when you need to inspect it interactively.