BedrockConverterContext

public interface BedrockConverterContext

Platform-neutral context passed into BedrockConversion. Implementations carry the platform-specific data (plugin version, target detection, output paths) and effectful platform-specific hooks (mappings deployment).

Two intended implementations:

  • Bukkit/Spigot backend: reads DefaultConfig, Bukkit.getPluginManager (Geyser-Spigot/Floodgate detection), and copies mappings into the local plugins/Geyser-*\/custom_mappings/ folder.
  • Velocity/Bungee proxy: assumes Bedrock is the target (the proxy plugin only runs in network mode), and copies mappings into the proxy's plugins/Geyser-Velocity\|Geyser-BungeeCord\|Geyser-*\/custom_mappings/ folder.

Why an interface rather than a record / configuration object: the deployMappingsIfNeeded hook is genuinely effectful — it walks a filesystem and decides where to copy a file — and platform-specific path resolution is too gnarly to express as data. The other fields could be a record, but keeping everything together lets each platform have one cohesive context implementation.

Inheritors

Functions

Link copied to clipboard
public void beginPublishedArtifactSetMutation(File outputDir)
Invalidates cached publication authority before stable paths mutate.
Link copied to clipboard
public boolean commitPublishedArtifactSet(File outputDir)
Final authority commit for a fully replaced local artifact set.
Link copied to clipboard
public Map<String, List<String>> declaredBaseItems()
Java base items that installed plugins assign to their item models, keyed by item model id (namespace:path) with minecraft:<item> values.
Link copied to clipboard
public File deployedMappingsFile()
Exact destination used by deployMappingsIfNeeded, when the platform can expose it.
Link copied to clipboard
Sidecar that records the exact RSPM-owned deployed mapping target.
Link copied to clipboard
public abstract void deployMappingsIfNeeded(File mappingsFile)
Deploy the newly-generated mappings JSON to the platform's Geyser custom_mappings/ folder.
Link copied to clipboard
public void invalidatePublishedArtifactSet(File outputDir)
Fail-closed hook when byte-for-byte rollback itself cannot complete.
Link copied to clipboard
public abstract boolean isBedrockConversionEnabled()
True iff Bedrock conversion is enabled in config.
Link copied to clipboard
public boolean isBedrockConverterDebug()
True iff the operator has opted in to verbose per-item / per-bone progress logging from the Bedrock conversion pipeline.
Link copied to clipboard
public abstract boolean isBedrockTargetPresent()
True iff a Bedrock client could ever consume this output.
Link copied to clipboard
public boolean isCancellationRequested()
True when the platform is shutting down and conversion should stop before touching any more plugin classes or output files.
Link copied to clipboard
public abstract MixerLogger logger()
Logger sink for all conversion-time messages.
Link copied to clipboard
public abstract String pluginVersion()
Plugin version string used in the Bedrock manifest's version triplet (e.g.
Link copied to clipboard
Previously RSPM-owned deployment target, retained independently of the current auto-deploy setting.
Link copied to clipboard
public abstract File previousMappingsFile()
File where the previous run's mappings JSON lives, used for the boot-time pre-deploy step.
Link copied to clipboard
Removes the platform-deployed Geyser mapping after an authoritative withdrawal (conversion disabled, no convertible content, or an ordinary conversion failure).
Link copied to clipboard
public boolean withdrawPublishedArtifactSet(File outputDir)
Persistently withdraws publication authority before an authoritative disabled/no-target/no-content cleanup touches any artifact path.