Repository files navigation

CrystalShard API


GitHub ReleaseGitHub Actions Workflow StatusGitHub Actions Workflow StatusGitHub Actions Workflow Status


CrystalShard is an open-source Minecraft library that provides packet handling, utilities, and server-side helpers to help you build plugins faster and cleaner. It supports both PaperMC and Velocity, offering modular packages for GUIs, NPCs, resource packs, custom elements, and more.


Modules

PlatformIDDescription
ALLcommonCommon utils and extensions for crystalshard
PAPERpaper-coreCore methods and extensions for PaperMC
PAPERpaper-foliaFolia Addon for CrystalShard Paper.
PAPERpaper-boxPackage-based GUI library for PaperMC (WIP)
PAPERpaper-customUtility library for custom elements and enhancements for Paper & Bukkit
PAPERpaper-dhlPackage library with factories and helpers for PaperMC (BETA)
PAPERpaper-packResource pack utilities and helpers for PaperMC
PAPERpaper-panicExperimental library for unsafe and unstable PaperMC/Bukkit features
PAPERpaper-simulacrumFancy NPCs, displays, and visual entities
VELOCITYvelocityCore utilities and extensions for Velocity

Installation

CrystalShard is available via the public Maven repository:

Repository:
https://repo.jespersen.zip/#/releases/net/crystopia/crystalshard

Add it to your build.gradle.kts:

maven {
name ="crystopiaReleases"
url = uri("https://repo.jespersen.zip/releases")
}

Dependencies

// Common
implementation("net.crystopia.crystalshard:common:<version>")
// Paper
implementation("net.crystopia.crystalshard:paper-core:<version>")
implementation("net.crystopia.crystalshard:paper-box:<version>") implementation("net.crystopia.crystalshard:paper-custom:<version>")
implementation("net.crystopia.crystalshard:paper-dhl:<version>") implementation("net.crystopia.crystalshard:paper-pack:<version>")
implementation("net.crystopia.crystalshard:paper-panic:<version>")
implementation("net.crystopia.crystalshard:paper-simulacrum:<version>")
// Velocity
implementation("net.crystopia.crystalshard:velocity:<version>")

License

CrystalShard is licensed under the MIT License, meaning it’s free to use, modify, and distribute. See the LICENSE file for more details.

Credits

Special thanks to the following projects and developers for inspiration and ideas:

  • FancyInnovations/FancyPlugins
  • flytegg/twilight

Made with ❤️ for the Minecraft developer community.

About

CrystalShardAPI - Simple and cross-platform library for Minecraft Java

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

CrystalShard API


GitHub ReleaseGitHub Actions Workflow StatusGitHub Actions Workflow StatusGitHub Actions Workflow Status


CrystalShard is an open-source Minecraft library that provides packet handling, utilities, and server-side helpers to help you build plugins faster and cleaner. It supports both PaperMC and Velocity, offering modular packages for GUIs, NPCs, resource packs, custom elements, and more.


Modules

PlatformIDDescription
ALLcommonCommon utils and extensions for crystalshard
PAPERpaper-coreCore methods and extensions for PaperMC
PAPERpaper-foliaFolia Addon for CrystalShard Paper.
PAPERpaper-boxPackage-based GUI library for PaperMC (WIP)
PAPERpaper-customUtility library for custom elements and enhancements for Paper & Bukkit
PAPERpaper-dhlPackage library with factories and helpers for PaperMC (BETA)
PAPERpaper-packResource pack utilities and helpers for PaperMC
PAPERpaper-panicExperimental library for unsafe and unstable PaperMC/Bukkit features
PAPERpaper-simulacrumFancy NPCs, displays, and visual entities
VELOCITYvelocityCore utilities and extensions for Velocity

Installation

CrystalShard is available via the public Maven repository:

Repository:
https://repo.jespersen.zip/#/releases/net/crystopia/crystalshard

Add it to your build.gradle.kts:

maven {
name ="crystopiaReleases"
url = uri("https://repo.jespersen.zip/releases")
}

Dependencies

// Common
implementation("net.crystopia.crystalshard:common:<version>")
// Paper
implementation("net.crystopia.crystalshard:paper-core:<version>")
implementation("net.crystopia.crystalshard:paper-box:<version>") implementation("net.crystopia.crystalshard:paper-custom:<version>")
implementation("net.crystopia.crystalshard:paper-dhl:<version>") implementation("net.crystopia.crystalshard:paper-pack:<version>")
implementation("net.crystopia.crystalshard:paper-panic:<version>")
implementation("net.crystopia.crystalshard:paper-simulacrum:<version>")
// Velocity
implementation("net.crystopia.crystalshard:velocity:<version>")

License

CrystalShard is licensed under the MIT License, meaning it’s free to use, modify, and distribute. See the LICENSE file for more details.

Credits

Special thanks to the following projects and developers for inspiration and ideas:

  • FancyInnovations/FancyPlugins
  • flytegg/twilight

Made with ❤️ for the Minecraft developer community.

About

CrystalShardAPI - Simple and cross-platform library for Minecraft Java

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

CrystalShard API


GitHub ReleaseGitHub Actions Workflow StatusGitHub Actions Workflow StatusGitHub Actions Workflow Status


CrystalShard is an open-source Minecraft library that provides packet handling, utilities, and server-side helpers to help you build plugins faster and cleaner. It supports both PaperMC and Velocity, offering modular packages for GUIs, NPCs, resource packs, custom elements, and more.


Modules

PlatformIDDescription
ALLcommonCommon utils and extensions for crystalshard
PAPERpaper-coreCore methods and extensions for PaperMC
PAPERpaper-foliaFolia Addon for CrystalShard Paper.
PAPERpaper-boxPackage-based GUI library for PaperMC (WIP)
PAPERpaper-customUtility library for custom elements and enhancements for Paper & Bukkit
PAPERpaper-dhlPackage library with factories and helpers for PaperMC (BETA)
PAPERpaper-packResource pack utilities and helpers for PaperMC
PAPERpaper-panicExperimental library for unsafe and unstable PaperMC/Bukkit features
PAPERpaper-simulacrumFancy NPCs, displays, and visual entities
VELOCITYvelocityCore utilities and extensions for Velocity

Installation

CrystalShard is available via the public Maven repository:

Repository:
https://repo.jespersen.zip/#/releases/net/crystopia/crystalshard

Add it to your build.gradle.kts:

maven {
name ="crystopiaReleases"
url = uri("https://repo.jespersen.zip/releases")
}

Dependencies

// Common
implementation("net.crystopia.crystalshard:common:<version>")
// Paper
implementation("net.crystopia.crystalshard:paper-core:<version>")
implementation("net.crystopia.crystalshard:paper-box:<version>") implementation("net.crystopia.crystalshard:paper-custom:<version>")
implementation("net.crystopia.crystalshard:paper-dhl:<version>") implementation("net.crystopia.crystalshard:paper-pack:<version>")
implementation("net.crystopia.crystalshard:paper-panic:<version>")
implementation("net.crystopia.crystalshard:paper-simulacrum:<version>")
// Velocity
implementation("net.crystopia.crystalshard:velocity:<version>")

License

CrystalShard is licensed under the MIT License, meaning it’s free to use, modify, and distribute. See the LICENSE file for more details.

Credits

Special thanks to the following projects and developers for inspiration and ideas:

  • FancyInnovations/FancyPlugins
  • flytegg/twilight

Made with ❤️ for the Minecraft developer community.

About

CrystalShardAPI - Simple and cross-platform library for Minecraft Java

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

CrystalShard API


GitHub ReleaseGitHub Actions Workflow StatusGitHub Actions Workflow StatusGitHub Actions Workflow Status


CrystalShard is an open-source Minecraft library that provides packet handling, utilities, and server-side helpers to help you build plugins faster and cleaner. It supports both PaperMC and Velocity, offering modular packages for GUIs, NPCs, resource packs, custom elements, and more.


Modules

PlatformIDDescription
ALLcommonCommon utils and extensions for crystalshard
PAPERpaper-coreCore methods and extensions for PaperMC
PAPERpaper-foliaFolia Addon for CrystalShard Paper.
PAPERpaper-boxPackage-based GUI library for PaperMC (WIP)
PAPERpaper-customUtility library for custom elements and enhancements for Paper & Bukkit
PAPERpaper-dhlPackage library with factories and helpers for PaperMC (BETA)
PAPERpaper-packResource pack utilities and helpers for PaperMC
PAPERpaper-panicExperimental library for unsafe and unstable PaperMC/Bukkit features
PAPERpaper-simulacrumFancy NPCs, displays, and visual entities
VELOCITYvelocityCore utilities and extensions for Velocity

Installation

CrystalShard is available via the public Maven repository:

Repository:
https://repo.jespersen.zip/#/releases/net/crystopia/crystalshard

Add it to your build.gradle.kts:

maven {
name ="crystopiaReleases"
url = uri("https://repo.jespersen.zip/releases")
}

Dependencies

// Common
implementation("net.crystopia.crystalshard:common:<version>")
// Paper
implementation("net.crystopia.crystalshard:paper-core:<version>")
implementation("net.crystopia.crystalshard:paper-box:<version>") implementation("net.crystopia.crystalshard:paper-custom:<version>")
implementation("net.crystopia.crystalshard:paper-dhl:<version>") implementation("net.crystopia.crystalshard:paper-pack:<version>")
implementation("net.crystopia.crystalshard:paper-panic:<version>")
implementation("net.crystopia.crystalshard:paper-simulacrum:<version>")
// Velocity
implementation("net.crystopia.crystalshard:velocity:<version>")

License

CrystalShard is licensed under the MIT License, meaning it’s free to use, modify, and distribute. See the LICENSE file for more details.

Credits

Special thanks to the following projects and developers for inspiration and ideas:

  • FancyInnovations/FancyPlugins
  • flytegg/twilight

Made with ❤️ for the Minecraft developer community.

About

CrystalShardAPI - Simple and cross-platform library for Minecraft Java

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

CrystalShard API


GitHub ReleaseGitHub Actions Workflow StatusGitHub Actions Workflow StatusGitHub Actions Workflow Status


CrystalShard is an open-source Minecraft library that provides packet handling, utilities, and server-side helpers to help you build plugins faster and cleaner. It supports both PaperMC and Velocity, offering modular packages for GUIs, NPCs, resource packs, custom elements, and more.


Modules

PlatformIDDescription
ALLcommonCommon utils and extensions for crystalshard
PAPERpaper-coreCore methods and extensions for PaperMC
PAPERpaper-foliaFolia Addon for CrystalShard Paper.
PAPERpaper-boxPackage-based GUI library for PaperMC (WIP)
PAPERpaper-customUtility library for custom elements and enhancements for Paper & Bukkit
PAPERpaper-dhlPackage library with factories and helpers for PaperMC (BETA)
PAPERpaper-packResource pack utilities and helpers for PaperMC
PAPERpaper-panicExperimental library for unsafe and unstable PaperMC/Bukkit features
PAPERpaper-simulacrumFancy NPCs, displays, and visual entities
VELOCITYvelocityCore utilities and extensions for Velocity

Installation

CrystalShard is available via the public Maven repository:

Repository:
https://repo.jespersen.zip/#/releases/net/crystopia/crystalshard

Add it to your build.gradle.kts:

maven {
name ="crystopiaReleases"
url = uri("https://repo.jespersen.zip/releases")
}

Dependencies

// Common
implementation("net.crystopia.crystalshard:common:<version>")
// Paper
implementation("net.crystopia.crystalshard:paper-core:<version>")
implementation("net.crystopia.crystalshard:paper-box:<version>") implementation("net.crystopia.crystalshard:paper-custom:<version>")
implementation("net.crystopia.crystalshard:paper-dhl:<version>") implementation("net.crystopia.crystalshard:paper-pack:<version>")
implementation("net.crystopia.crystalshard:paper-panic:<version>")
implementation("net.crystopia.crystalshard:paper-simulacrum:<version>")
// Velocity
implementation("net.crystopia.crystalshard:velocity:<version>")

License

CrystalShard is licensed under the MIT License, meaning it’s free to use, modify, and distribute. See the LICENSE file for more details.

Credits

Special thanks to the following projects and developers for inspiration and ideas:

  • FancyInnovations/FancyPlugins
  • flytegg/twilight

Made with ❤️ for the Minecraft developer community.

About

CrystalShardAPI - Simple and cross-platform library for Minecraft Java

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

CrystalShard API


GitHub ReleaseGitHub Actions Workflow StatusGitHub Actions Workflow StatusGitHub Actions Workflow Status


CrystalShard is an open-source Minecraft library that provides packet handling, utilities, and server-side helpers to help you build plugins faster and cleaner. It supports both PaperMC and Velocity, offering modular packages for GUIs, NPCs, resource packs, custom elements, and more.


Modules

PlatformIDDescription
ALLcommonCommon utils and extensions for crystalshard
PAPERpaper-coreCore methods and extensions for PaperMC
PAPERpaper-foliaFolia Addon for CrystalShard Paper.
PAPERpaper-boxPackage-based GUI library for PaperMC (WIP)
PAPERpaper-customUtility library for custom elements and enhancements for Paper & Bukkit
PAPERpaper-dhlPackage library with factories and helpers for PaperMC (BETA)
PAPERpaper-packResource pack utilities and helpers for PaperMC
PAPERpaper-panicExperimental library for unsafe and unstable PaperMC/Bukkit features
PAPERpaper-simulacrumFancy NPCs, displays, and visual entities
VELOCITYvelocityCore utilities and extensions for Velocity

Installation

CrystalShard is available via the public Maven repository:

Repository:
https://repo.jespersen.zip/#/releases/net/crystopia/crystalshard

Add it to your build.gradle.kts:

maven {
name ="crystopiaReleases"
url = uri("https://repo.jespersen.zip/releases")
}

Dependencies

// Common
implementation("net.crystopia.crystalshard:common:<version>")
// Paper
implementation("net.crystopia.crystalshard:paper-core:<version>")
implementation("net.crystopia.crystalshard:paper-box:<version>") implementation("net.crystopia.crystalshard:paper-custom:<version>")
implementation("net.crystopia.crystalshard:paper-dhl:<version>") implementation("net.crystopia.crystalshard:paper-pack:<version>")
implementation("net.crystopia.crystalshard:paper-panic:<version>")
implementation("net.crystopia.crystalshard:paper-simulacrum:<version>")
// Velocity
implementation("net.crystopia.crystalshard:velocity:<version>")

License

CrystalShard is licensed under the MIT License, meaning it’s free to use, modify, and distribute. See the LICENSE file for more details.

Credits

Special thanks to the following projects and developers for inspiration and ideas:

  • FancyInnovations/FancyPlugins
  • flytegg/twilight

Made with ❤️ for the Minecraft developer community.

About

CrystalShardAPI - Simple and cross-platform library for Minecraft Java

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

CrystalShard API


GitHub ReleaseGitHub Actions Workflow StatusGitHub Actions Workflow StatusGitHub Actions Workflow Status


CrystalShard is an open-source Minecraft library that provides packet handling, utilities, and server-side helpers to help you build plugins faster and cleaner. It supports both PaperMC and Velocity, offering modular packages for GUIs, NPCs, resource packs, custom elements, and more.


Modules

PlatformIDDescription
ALLcommonCommon utils and extensions for crystalshard
PAPERpaper-coreCore methods and extensions for PaperMC
PAPERpaper-foliaFolia Addon for CrystalShard Paper.
PAPERpaper-boxPackage-based GUI library for PaperMC (WIP)
PAPERpaper-customUtility library for custom elements and enhancements for Paper & Bukkit
PAPERpaper-dhlPackage library with factories and helpers for PaperMC (BETA)
PAPERpaper-packResource pack utilities and helpers for PaperMC
PAPERpaper-panicExperimental library for unsafe and unstable PaperMC/Bukkit features
PAPERpaper-simulacrumFancy NPCs, displays, and visual entities
VELOCITYvelocityCore utilities and extensions for Velocity

Installation

CrystalShard is available via the public Maven repository:

Repository:
https://repo.jespersen.zip/#/releases/net/crystopia/crystalshard

Add it to your build.gradle.kts:

maven {
name ="crystopiaReleases"
url = uri("https://repo.jespersen.zip/releases")
}

Dependencies

// Common
implementation("net.crystopia.crystalshard:common:<version>")
// Paper
implementation("net.crystopia.crystalshard:paper-core:<version>")
implementation("net.crystopia.crystalshard:paper-box:<version>") implementation("net.crystopia.crystalshard:paper-custom:<version>")
implementation("net.crystopia.crystalshard:paper-dhl:<version>") implementation("net.crystopia.crystalshard:paper-pack:<version>")
implementation("net.crystopia.crystalshard:paper-panic:<version>")
implementation("net.crystopia.crystalshard:paper-simulacrum:<version>")
// Velocity
implementation("net.crystopia.crystalshard:velocity:<version>")

License

CrystalShard is licensed under the MIT License, meaning it’s free to use, modify, and distribute. See the LICENSE file for more details.

Credits

Special thanks to the following projects and developers for inspiration and ideas:

  • FancyInnovations/FancyPlugins
  • flytegg/twilight

Made with ❤️ for the Minecraft developer community.

About

CrystalShardAPI - Simple and cross-platform library for Minecraft Java

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

CrystalShard API


GitHub ReleaseGitHub Actions Workflow StatusGitHub Actions Workflow StatusGitHub Actions Workflow Status


CrystalShard is an open-source Minecraft library that provides packet handling, utilities, and server-side helpers to help you build plugins faster and cleaner. It supports both PaperMC and Velocity, offering modular packages for GUIs, NPCs, resource packs, custom elements, and more.


Modules

PlatformIDDescription
ALLcommonCommon utils and extensions for crystalshard
PAPERpaper-coreCore methods and extensions for PaperMC
PAPERpaper-foliaFolia Addon for CrystalShard Paper.
PAPERpaper-boxPackage-based GUI library for PaperMC (WIP)
PAPERpaper-customUtility library for custom elements and enhancements for Paper & Bukkit
PAPERpaper-dhlPackage library with factories and helpers for PaperMC (BETA)
PAPERpaper-packResource pack utilities and helpers for PaperMC
PAPERpaper-panicExperimental library for unsafe and unstable PaperMC/Bukkit features
PAPERpaper-simulacrumFancy NPCs, displays, and visual entities
VELOCITYvelocityCore utilities and extensions for Velocity

Installation

CrystalShard is available via the public Maven repository:

Repository:
https://repo.jespersen.zip/#/releases/net/crystopia/crystalshard

Add it to your build.gradle.kts:

maven {
name ="crystopiaReleases"
url = uri("https://repo.jespersen.zip/releases")
}

Dependencies

// Common
implementation("net.crystopia.crystalshard:common:<version>")
// Paper
implementation("net.crystopia.crystalshard:paper-core:<version>")
implementation("net.crystopia.crystalshard:paper-box:<version>") implementation("net.crystopia.crystalshard:paper-custom:<version>")
implementation("net.crystopia.crystalshard:paper-dhl:<version>") implementation("net.crystopia.crystalshard:paper-pack:<version>")
implementation("net.crystopia.crystalshard:paper-panic:<version>")
implementation("net.crystopia.crystalshard:paper-simulacrum:<version>")
// Velocity
implementation("net.crystopia.crystalshard:velocity:<version>")

License

CrystalShard is licensed under the MIT License, meaning it’s free to use, modify, and distribute. See the LICENSE file for more details.

Credits

Special thanks to the following projects and developers for inspiration and ideas:

  • FancyInnovations/FancyPlugins
  • flytegg/twilight

Made with ❤️ for the Minecraft developer community.

About

CrystalShardAPI - Simple and cross-platform library for Minecraft Java

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages