━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TELEPORT / PORTAL BLOCKER FREE
Documentation — v3.1.0
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
► REQUIREMENTS
• Java 14 or newer (plugin version 3.0.0+)
• Minecraft 1.7.10 – 26.1 (1.7.2–1.7.9 run too, but may present issues)
• Storage: SQLite (created automatically, no setup needed)
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
► HOW IT WORKS
The plugin can block three teleport/portal types — Nether Portal, End Portal, and End Gateway — until a player meets the condition(s) you choose. Each type has its own section in config.yml and can be controlled independently.
For each type you can require one or more of:
• An advancement/achievement to be completed
• A number of blocks of a chosen type to be broken
• A number of blocks of a chosen type to be placed
• Or block the type permanently
Conditions stack: if you enable several, the player must satisfy all of them before that teleport works.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
► COMMANDS
Base command: /tpblocker (aliases: /tpb, /tportalb)
• /tpblocker help — show the command list
• /tpblocker reload — reload config and language files, and the chosen break/place blocks
• /tpblocker kinds — list valid kinds (break, place, all)
• /tpblocker types — list valid types (NetherPortal, EndPortal, EndGateway)
• /tpblocker aliases — list type aliases (np, ep, eg)
• /tpblocker resetdata <kind> <type> — reset stored progress for everyone
• /tpblocker resetname <name> <kind> <type> — reset a single player's progress to 0
<kind> = break | place | all
<type> = netherportal/np | endportal/ep | endgateway/eg | all
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
► PERMISSIONS
• tpblocker.help — use /tpblocker help
• tpblocker.reload — use /tpblocker reload
• tpblocker.kinds — use /tpblocker kinds
• tpblocker.types — use /tpblocker types
• tpblocker.aliases — use /tpblocker aliases
• tpblocker.resetdata — use /tpblocker resetdata
• tpblocker.resetname — use /tpblocker resetname
• tpblocker.updates — receive the in-game update notice
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
► GENERAL CONFIG
• ConsoleCheckUpdate — check for updates in console on startup (default: true)
• CheckUpdate — notify players with tpblocker.updates in chat when outdated (default: true)
• Language — which lang file to use: en_US, it_IT, or es_ES (default: en_US)
• DBSyncTime — minutes between database saves (default: 10)
• Prefix — prefix shown via %prefix% in messages
• Debug — print debug info to console (default: false)
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
► PER-TYPE OPTIONS
Each type (NetherPortal, EndPortal, EndGateway) has these options:
• PermBlock — block this type permanently (overrides all other conditions)
• AchievementBlock.Active — require an advancement/achievement
• AchievementBlock.Achievement — the advancement (1.12+) or achievement (pre-1.12) reference
• BlockBreak.Active / .Block / .Qnt — require breaking Qnt of Block before allowing the teleport
• BlockPlace.Active / .Block / .Qnt — same, for placing blocks
• ErrorMessage — show the "you still need to break/place" message
• PermBlockErrorMessage — show the permanent-block message
NetherPortal also has:
• ActivationBlock — block Nether Portal creation entirely
• Deactivate — break the portal block when a blocked player tries to use it
• DoNotIn — list of worlds where Deactivate should NOT happen
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
► ACHIEVEMENTS / ADVANCEMENTS
The Achievement value uses the advancement reference on 1.12+ (e.g. story/form_obsidian) or the achievement name on pre-1.12.
• Advancements list: minecraft.fandom.com/wiki/Advancement
• Achievements list (pre-1.12): pastebin.com/0T9NnaF2
If the configured reference doesn't exist, the plugin treats it as completed (so it won't block by mistake) and warns in console when Debug is on.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
► LANGUAGES
Three language files ship in the /lang folder: en_US, it_IT, es_ES. Set the active one with Language in config. You can edit any of them; supported placeholders are listed as comments next to each message. Common ones: %prefix%, %achievement%, %kinds%, %blockscounted%, %totalblocks%, %blocktype%, %player%.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Need help or found a bug? Open an issue on GitHub before leaving a negative review — we'll help you out.