Bedrock Crossplay with Geyser: What Each Plugin Actually Does
By PM2, the developer behind these plugins ·
Running Geyser does not by itself make every plugin aware of Bedrock players. Three plugins in this catalogue state something specific about Bedrock, and they state three different things: a per-minigame platform filter, a Floodgate-backed identity hook, and an AFK threshold that bends for less precise input. Everything else here is silent on the subject, which is its own kind of answer.
Three records mention Bedrock, and they mean three different things
"Supports Geyser" is not one feature. InfiniteFishing answers the question "Does Bedrock work?" with "Geyser-Spigot is supported with per-minigame platform filtering — you can make specific minigames Java-only, Bedrock-only, or both." LPC Pro lists Geyser among the plugins it hooks into, described as "Cross-version support, Bedrock players via Geyser, and Essentials compatibility". AntiAFKPlus answers a narrower question: its AFK detection identifies Bedrock players and loosens one threshold for them so crossplay servers do not get false AFK kicks.
Those are a content gate, a player-identity hook and a detection tuning. Only the first decides what a Bedrock player is allowed to do; only the second gives your configs anything to read about who they are; only the third changes how the server treats them when they stop moving. A server owner comparing plugins on the word "Geyser" alone will end up surprised in at least one of the three directions, which is the reason this page exists.
One scope note before the table. Everything here comes from the product records and the on-site documentation imported from each plugin's wiki. Where a record does not discuss Bedrock, this page says "not stated" — that is not the same as "does not work", and it is not the same as "works". It means the question has no answer in the repository, and you should treat it as open until you have tested it on your own server.
What each record says, side by side
Read the middle column as a quotation of scope, not a rating. A plugin with a short entry is not worse at crossplay than one with a long entry; it has simply made a smaller claim, and a smaller claim is easier to rely on. The last column is the Minecraft range from each record, because a crossplay decision is also a version decision.
| Plugin | What the record states about Bedrock | How a Bedrock player is identified | Minecraft |
|---|---|---|---|
| InfiniteFishing | Geyser-Spigot supported, with per-minigame platform filtering: Java-only, Bedrock-only or both | Not stated — the record names Geyser-Spigot, not Floodgate | 1.17-26.2 |
| LPC Pro | Bedrock player detection, Bedrock gamertag retrieval and device type detection; chat formatting can be adapted for Bedrock clients | The Floodgate API, with Geyser-Spigot and Floodgate both installed | 1.17-26.2 |
| AntiAFKPlus | The head-rotation threshold is multiplied by a Bedrock sensitivity factor (default 0.8), so a 3.0 threshold becomes 2.4 | Username prefix, default "." and configurable | 1.7-26.2 |
| LPC (free) | Not stated | — | 1.7.10-26.2 |
| InfiniteShops | Not stated | — | 1.13-26.2 |
| GUIPlus | Not stated | — | 1.16-26.2 |
| Advanced Crates | Not stated | — | 1.8-26.2 |
| InfiniteCrates | Not stated | — | 1.20.6-26.2 |
| SpecializedCrates | Not stated | — | 1.8-26.2 |
| InfiniteVehicles | Not stated | — | 1.19.4-26.2 |
| InfiniteCrops | Not stated | — | 1.17-26.2 |
InfiniteFishing: the filter exists because the minigames are input-heavy
InfiniteFishing is the one plugin here whose Bedrock support gates content — it decides what a Bedrock player is allowed to play. Every catch triggers a minigame, and the record describes six of them: Struggling Fish, where you hold sneak to reel while the fish fights back and let go to recover stamina; Judgment Area, where you keep your cursor in the green zone long enough to land it, in Easy, Medium and Hard tiers; Click Challenge, a randomized CPS test against a timer; Dance Sequence, a random sequence of left-clicks, right-clicks and shift presses; Pointer Bar, where you stop a moving pointer in the correct zone with yellow and orange bonuses; and Moving Rod, a timing-based reflex test.
Each minigame can be individually enabled or disabled, with difficulty, speed and timing configured, and the admin commands include /minigame blacklist and /minigame whitelist for controlling who gets which game. On top of that sits the platform filter: per minigame, Java-only, Bedrock-only, or both. The fishing setup guide makes the reason plain — some of those input patterns are harder on touch controls, so a rapid-click test and a sneak-hold test are not equally fair across platforms.
What the record does not do is rank them. It says the filter exists; it does not say which minigames it would keep off Bedrock, and nothing in the repository does. That decision is yours, and it is worth making with a Bedrock client in hand rather than from a table. Two further gaps are worth stating: the record lists Geyser-Spigot among its optional integrations and says "All are optional", so Geyser-Spigot is not a requirement, and it does not mention Floodgate at all. The plugin also ships a free custom resource pack with the fish, rod, bait and crab textures, and the record does not state how that pack reaches or behaves on Bedrock clients.
LPC Pro: Floodgate detection, gamertags and device type
LPC Pro's Bedrock support is about identity rather than content. The Geyser and Floodgate documentation lists three things it enables: identifying players connecting from Bedrock Edition, retrieving the player's Bedrock gamertag, and detecting which device a Bedrock player is using. The mechanism is stated outright — LPC Pro uses the Floodgate API for detection — and so is the consequence: the gamertag can be used in chat formatting, device-specific behaviour can be applied, and chat formatting can be adapted for Bedrock clients.
Turning it on is two steps in the documentation: install Geyser-Spigot and Floodgate on your server, then set geyser: true under hooks: in config.yml. The docs are explicit that both plugins must be installed, because Floodgate provides the API that LPC Pro reads. The requirements page repeats it in the optional-dependency table, pairing Geyser and Floodgate with "Bedrock player detection", and the record itself carries Geyser in its list of integrations. Nothing about Bedrock is required for LPC Pro to run, but the hook is not something you switch on later: the shipped config has geyser: true under hooks:, and the setup docs tell you to confirm it once Geyser-Spigot and Floodgate are installed.
The honest limits: the documentation says device type is detected but does not enumerate the device types, and it does not say what a device-specific behaviour looks like beyond adapting chat formatting. LPC Pro also has features whose Bedrock behaviour is simply not covered — chat bubbles, for instance, are stated to require 1.19.4 or newer because TextDisplay entities were not available earlier — and the documentation is stricter still, giving Paper 1.19.4+ and saying they do not work on Spigot, and neither the record nor the docs say how they render for a Bedrock client. If you are weighing the paid version against the free one, note that the LPC record says nothing about Geyser or Bedrock at all; the free versus Pro comparison covers the rest of that split.
AntiAFKPlus: the false-kick problem on a crossplay server
This is the one that bites servers quietly. AntiAFKPlus treats head rotation as its primary detection method, monitoring changes in yaw and pitch against a threshold in degrees — 3.0 by default — so that tiny jitters from auto-clickers do not count as activity. Bedrock clients, the documentation states, send less precise head rotation data. Against a threshold tuned for Java input, that precision gap reads as stillness, and a player who is present gets treated as idle.
The plugin's answer is a multiplier rather than an exemption. It identifies Bedrock players by their username prefix, default ".", and multiplies the base rotation threshold by a sensitivity factor, default 0.8. The record does the arithmetic for you: a base threshold of 3.0 becomes 2.4 for those players, making detection slightly more lenient to avoid false positives. Both values are config entries — bedrock-prefix and bedrock-sensitivity, set under integrations — so a server whose Bedrock usernames carry a different prefix changes the first, and a server still seeing false kicks lowers the second.
Two things this does not do. The multiplier is described against the head-rotation threshold; the detection documentation covers movement, block interaction, chat, combat and inventory as separate methods — only movement carries a threshold of its own, 0.5 blocks — and states no Bedrock adjustment for any of them. And identification here is a string check on the username, not an API call, which is a real difference from LPC Pro and the subject of the next section. AntiAFKPlus is free, and its record gives the range as 1.7-26.2 — the widest range in the table.
Two ways to identify a Bedrock player, and why the difference matters
Both approaches on this page work, and both are stated plainly in their own sources. They fail in different ways, though, and that is worth knowing before you tune anything.
- The Floodgate API (LPC Pro) — Asks the Floodgate plugin who is on Bedrock and gets the gamertag and device type back. The documentation states Floodgate must be installed alongside Geyser-Spigot, because it provides the API — so the feature depends on a second plugin being present, and gives you more than a yes or no in return.
- The username prefix (AntiAFKPlus) — Checks whether the player name starts with the configured prefix, default ".". It tells the plugin one bit of information — Bedrock or not — and neither source says what has to be installed to put that prefix on the name; the documentation files the whole paragraph under a Geyser and Floodgate heading. Change the prefix your setup uses and bedrock-prefix has to change with it.
- Neither, on paper (InfiniteFishing) — The record names Geyser-Spigot as an optional integration and states the per-minigame Java/Bedrock/both filter, but does not say how the platform is determined or mention Floodgate. If that detail matters to your setup, treat it as unanswered here.
What none of these records claim
Silence in the table above is not a verdict. InfiniteShops, GUIPlus, the crate plugins, InfiniteVehicles and InfiniteCrops simply do not discuss Bedrock in their records, so this page will not tell you how a chest GUI or a crate animation lands on a phone. Nothing in the repository claims Bedrock-native forms or menus for any plugin here, and nothing claims a Bedrock-specific input mode outside InfiniteFishing's filter.
Resource packs are the gap worth testing first. InfiniteFishing ships its texture pack with the plugin and InfiniteCrates states that its crate model animations need the included texture pack applied on the client; the free LPC record notes that a custom resource pack is needed to display a Unicode prefix. None of those records say what happens on a Bedrock client. Treat client-side textures as the first thing to test on a crossplay server, not the last.
Two sibling pages finish the picture. Which plugins need Vault, ProtocolLib or PlaceholderAPI has the full dependency table, where Geyser sits in the LPC Pro row's "uses when present" column and Geyser-Spigot in the InfiniteFishing row's — optional hooks, not requirements. Minecraft version support has the ranges in one place, and the ranges differ: 1.17-26.2 for InfiniteFishing and LPC Pro, 1.7-26.2 for AntiAFKPlus. If you are still choosing within a category, the gameplay, chat and utilities hubs put each plugin beside its siblings, and the three product pages that state a Bedrock position at all — InfiniteFishing, LPC Pro and AntiAFKPlus — state it in their own words; the other twelve say nothing either way.