') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); GitHub - Redstoner507/BuildTeamTools: An easy to use toolset for BuildTeams of the BuildTheEarth project. · GitHub
Skip to content

Repository files navigation


Logo

Logo

BuildTeamTools

An easy to use toolset for Build Teams in the BuildTheEarth project.
WIKI »

Download Stable Release
Download Dev Build


BuildTheEarth GithubBuildTheEarth DiscordBuildTheEarth Dev Hub Discord

GitHub Downloads CountLatest VersionbStats PlayersbStats ServersRepo SizeQodana


About The Plugin

BuildTeamTools offers a comprehensive suite of tools designed to enhance the building and exploration experience in BuildTheEarth.
Whether you're a casual creator or an experienced builder, the plugin provides powerful features such as Generators, Navigators, Warps, Statistics and more to streamline your workflow.

Its primary goal is to significantly speed up the building process by eliminating repetitive tasks while also providing an intuitive entry point for newcomers to the project.

Features

🔨 Easy-to-use Tools
Multi-Version support from 1.18 - 26.x
✔️ User-friendly GUIs and Commands
📆 Automatic Updates
🔌 Easy setup and configuration

Components

Nav Module OverviewGenerator Module OverviewPlotSystem Module OverviewStatistics Module OverviewTutorials Module Overview



The * symbol shows that this feature is still being developed or under maintenance. This image might be slightly outdated.

Installation

💻 Requirements:

  • A Server running Paper 1.18 - 26.x.

🚩 How to install:

  1. Download BuildTeamTools here.
  2. Place the downloaded plugin in your server's ../plugins folder.
  3. (Optional) Some modules require initial configuration or dependencies to run:
  • To activate the Navigation Module, please configure an API Key in the config.yml file.
  • To activate the Network Module, please configure an API Key in the config.yml file.
  • To activate the Generator Module, please install the FastAsyncWorldEdit plugin.
  • To activate the Tree Generator Component, install the SchematicBrushReborn v1 plugin.
  1. Restart your server.
  2. Done!

For more help, please see the wiki.

Contributors

Thanks to all our contributors for contributing towards the plugin development and improvement! You find them on the contributors page.

Special thanks to the people currently working on the plugin:

Infos

Click the links below for more information, or see the wiki.

About

An easy to use toolset for BuildTeams of the BuildTheEarth project.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages