Compare commits
28 Commits
Author | SHA1 | Date | |
---|---|---|---|
7b34912f6f | |||
93dc43c788 | |||
64a31ec76e | |||
9c989d870d | |||
1fe2ea2a04 | |||
f49cdfa3e7 | |||
ff1e9ce628 | |||
f076c22605 | |||
7d6b7cb357 | |||
83acc66a3a | |||
d7c320e1ba | |||
2e09e32dd2 | |||
615624593d | |||
9d44b54617 | |||
2ef51148c4 | |||
3040953b6e | |||
88d838d981 | |||
a0988516d4 | |||
78410cfa4b | |||
7da7286126 | |||
f63f430a1f | |||
62058fbd0c | |||
122896699c | |||
8186bfe974 | |||
a2574690f1 | |||
5045611a6b | |||
9e2e1933da | |||
0c0bcb915f |
110
.gitea/workflows/pages-deploy.yaml
Normal file
@ -0,0 +1,110 @@
|
||||
name: Deploy Jekyll site to Pages
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
# Runs every 3 hours to update pack and game version
|
||||
schedule:
|
||||
- cron: '0 */12 * * *'
|
||||
|
||||
# Allows you to run this workflow manually from the Actions tab
|
||||
workflow_dispatch:
|
||||
|
||||
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
|
||||
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
|
||||
concurrency:
|
||||
group: "pages"
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-22.04
|
||||
env:
|
||||
RUBY_VERSION: "3.3.5"
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y jq curl sed imagemagick wget tar build-essential zlib1g-dev gpg libmagickwand-dev webp
|
||||
which cwebp
|
||||
- name: Fetch Latest Modrinth Version
|
||||
id: fetch_version
|
||||
run: |
|
||||
# Modrinth API Call
|
||||
response=$(curl -s -H "Authorization: Bearer $MODRINTH_TOKEN" https://api.modrinth.com/v2/project/illuvia-prime-project/version)
|
||||
|
||||
# Extract latest release version
|
||||
latest_release=$(echo "$response" | jq -cr '[.[] | select(.status == "listed" and .version_type == "release")] | sort_by(.date_published) | last')
|
||||
|
||||
if [ -z "$latest_release" ]; then
|
||||
echo "No release version found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Extract version_number and game_versions
|
||||
version_number=$(echo "$latest_release" | jq -r '.version_number')
|
||||
game_version=$(echo "$latest_release" | jq -r '.game_versions[0]')
|
||||
current_date=$(date +"%d.%m.%Y %H:%m")
|
||||
|
||||
echo "Latest version: $version_number (Minecraft $game_version) on $current_date"
|
||||
|
||||
# Output for next steps
|
||||
echo "PACK_VERSION=$version_number" >> $GITHUB_ENV
|
||||
echo "MINECRAFT_VERSION=$game_version" >> $GITHUB_ENV
|
||||
echo "CURRENT_DATE=$current_date" >> $GITHUB_ENV
|
||||
- name: Update _config.yml
|
||||
run: |
|
||||
# Replace placeholders
|
||||
sed -i "s/PACK_VERSION/$PACK_VERSION/g" _config.yml
|
||||
sed -i "s/MINECRAFT_VERSION/$MINECRAFT_VERSION/g" _config.yml
|
||||
sed -i "s/PACK_VERSION/$PACK_VERSION/g" assets/launcher_motd.txt
|
||||
sed -i "s/CURRENT_DATE/$CURRENT_DATE/g" assets/launcher_motd.txt
|
||||
- name: Convert images to WebP
|
||||
run: |
|
||||
DIRECTORY=assets/img
|
||||
OUTPUT_DIRECTORY=assets/img
|
||||
mkdir -p $OUTPUT_DIRECTORY
|
||||
|
||||
for file in $DIRECTORY/*.{jpg,jpeg,png}; do
|
||||
if [ -f "$file" ]; then
|
||||
filename=$(basename -- "$file")
|
||||
name="${filename%.*}"
|
||||
cwebp "$file" -o "$OUTPUT_DIRECTORY/$name.webp"
|
||||
fi
|
||||
done
|
||||
- name: checkout pages
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: "pages"
|
||||
path: "pages"
|
||||
- name: Setup Ruby
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install curl wget tar build-essential zlib1g-dev gpg -y
|
||||
curl -sSL https://rvm.io/mpapis.asc | gpg --import -
|
||||
curl -sSL https://rvm.io/pkuczynski.asc | gpg --import -
|
||||
curl -sSL https://get.rvm.io | bash -s stable
|
||||
source /etc/profile.d/rvm.sh
|
||||
rvm mount -r https://git.morlana.online/api/packages/Morlana/generic/ruby-ubuntu-22.04-aarch64/$RUBY_VERSION/ruby-$RUBY_VERSION.tar.bz2
|
||||
rvm use $RUBY_VERSION && ruby -v && gem -v
|
||||
gem install bundler jekyll webrick
|
||||
- name: Build with Jekyll
|
||||
run: |
|
||||
source /etc/profile.d/rvm.sh
|
||||
rvm use $RUBY_VERSION && ruby -v && gem -v
|
||||
bundle install
|
||||
bundle exec jekyll build --destination pages
|
||||
env:
|
||||
JEKYLL_ENV: production
|
||||
- name: push pages
|
||||
run: |
|
||||
cd pages
|
||||
cp ../.domains ./.domains
|
||||
git config user.name "${{ gitea.actor }}"
|
||||
git config user.email ""${{ gitea.actor }}"@noreply.git.morlana.online"
|
||||
git add .
|
||||
git commit -m "jekyll build from Action ${GITHUB_SHA}"
|
||||
git push
|
15
.gitignore
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
# Not sure what a .gitignore is?
|
||||
# See: https://git-scm.com/docs/gitignore
|
||||
|
||||
# These are directly copied from Jekyll's first-party docs on `.gitignore` files:
|
||||
# https://jekyllrb.com/tutorials/using-jekyll-with-bundler/#commit-to-source-control
|
||||
|
||||
# Ignore the default location of the built site, and caches and metadata generated by Jekyll
|
||||
_site/
|
||||
.sass-cache/
|
||||
.jekyll-cache/
|
||||
.jekyll-metadata
|
||||
|
||||
# Ignore folders generated by Bundler
|
||||
.bundle/
|
||||
vendor/
|
11
Gemfile
Normal file
@ -0,0 +1,11 @@
|
||||
source 'https://rubygems.org'
|
||||
|
||||
gem "jekyll", "~> 4.3.4" # installed by `gem jekyll`
|
||||
# gem "webrick" # required when using Ruby >= 3 and Jekyll <= 4.2.2
|
||||
|
||||
gem "just-the-docs", "0.10.0" # pinned to the current release
|
||||
# gem "just-the-docs" # always download the latest release
|
||||
|
||||
gem 'jekyll-default-layout'
|
||||
|
||||
gem 'jekyll-webp'
|
103
Gemfile.lock
Normal file
@ -0,0 +1,103 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
addressable (2.8.7)
|
||||
public_suffix (>= 2.0.2, < 7.0)
|
||||
bigdecimal (3.1.9)
|
||||
colorator (1.1.0)
|
||||
concurrent-ruby (1.3.4)
|
||||
em-websocket (0.5.3)
|
||||
eventmachine (>= 0.12.9)
|
||||
http_parser.rb (~> 0)
|
||||
eventmachine (1.2.7)
|
||||
ffi (1.17.1-arm64-darwin)
|
||||
ffi (1.17.1-x86_64-darwin)
|
||||
ffi (1.17.1-x86_64-linux-gnu)
|
||||
forwardable-extended (2.6.0)
|
||||
google-protobuf (4.29.2-arm64-darwin)
|
||||
bigdecimal
|
||||
rake (>= 13)
|
||||
google-protobuf (4.29.2-x86_64-darwin)
|
||||
bigdecimal
|
||||
rake (>= 13)
|
||||
google-protobuf (4.29.2-x86_64-linux)
|
||||
bigdecimal
|
||||
rake (>= 13)
|
||||
http_parser.rb (0.8.0)
|
||||
i18n (1.14.6)
|
||||
concurrent-ruby (~> 1.0)
|
||||
jekyll (4.3.4)
|
||||
addressable (~> 2.4)
|
||||
colorator (~> 1.0)
|
||||
em-websocket (~> 0.5)
|
||||
i18n (~> 1.0)
|
||||
jekyll-sass-converter (>= 2.0, < 4.0)
|
||||
jekyll-watch (~> 2.0)
|
||||
kramdown (~> 2.3, >= 2.3.1)
|
||||
kramdown-parser-gfm (~> 1.0)
|
||||
liquid (~> 4.0)
|
||||
mercenary (>= 0.3.6, < 0.5)
|
||||
pathutil (~> 0.9)
|
||||
rouge (>= 3.0, < 5.0)
|
||||
safe_yaml (~> 1.0)
|
||||
terminal-table (>= 1.8, < 4.0)
|
||||
webrick (~> 1.7)
|
||||
jekyll-default-layout (0.1.5)
|
||||
jekyll (>= 3.0, < 5.0)
|
||||
jekyll-include-cache (0.2.1)
|
||||
jekyll (>= 3.7, < 5.0)
|
||||
jekyll-sass-converter (3.0.0)
|
||||
sass-embedded (~> 1.54)
|
||||
jekyll-seo-tag (2.8.0)
|
||||
jekyll (>= 3.8, < 5.0)
|
||||
jekyll-watch (2.2.1)
|
||||
listen (~> 3.0)
|
||||
jekyll-webp (1.0.0)
|
||||
just-the-docs (0.10.0)
|
||||
jekyll (>= 3.8.5)
|
||||
jekyll-include-cache
|
||||
jekyll-seo-tag (>= 2.0)
|
||||
rake (>= 12.3.1)
|
||||
kramdown (2.5.1)
|
||||
rexml (>= 3.3.9)
|
||||
kramdown-parser-gfm (1.1.0)
|
||||
kramdown (~> 2.0)
|
||||
liquid (4.0.4)
|
||||
listen (3.9.0)
|
||||
rb-fsevent (~> 0.10, >= 0.10.3)
|
||||
rb-inotify (~> 0.9, >= 0.9.10)
|
||||
mercenary (0.4.0)
|
||||
pathutil (0.16.2)
|
||||
forwardable-extended (~> 2.6)
|
||||
public_suffix (6.0.1)
|
||||
rake (13.2.1)
|
||||
rb-fsevent (0.11.2)
|
||||
rb-inotify (0.11.1)
|
||||
ffi (~> 1.0)
|
||||
rexml (3.4.0)
|
||||
rouge (4.5.1)
|
||||
safe_yaml (1.0.5)
|
||||
sass-embedded (1.83.0-arm64-darwin)
|
||||
google-protobuf (~> 4.28)
|
||||
sass-embedded (1.83.0-x86_64-darwin)
|
||||
google-protobuf (~> 4.28)
|
||||
sass-embedded (1.83.0-x86_64-linux-gnu)
|
||||
google-protobuf (~> 4.28)
|
||||
terminal-table (3.0.2)
|
||||
unicode-display_width (>= 1.1.1, < 3)
|
||||
unicode-display_width (2.6.0)
|
||||
webrick (1.9.1)
|
||||
|
||||
PLATFORMS
|
||||
arm64-darwin
|
||||
x86_64-darwin-23
|
||||
x86_64-linux-gnu
|
||||
|
||||
DEPENDENCIES
|
||||
jekyll (~> 4.3.4)
|
||||
jekyll-default-layout
|
||||
jekyll-webp
|
||||
just-the-docs (= 0.10.0)
|
||||
|
||||
BUNDLED WITH
|
||||
2.6.2
|
81
_config.yml
Normal file
@ -0,0 +1,81 @@
|
||||
title: Illuvia Prime
|
||||
description: >-
|
||||
Willkommen bei der offiziellen Homepage und Dokumentation für den Illuvia Prime Minecraft Server. Erkunde eine einzigartige Welt voller Magie und technischer Möglichkeiten.
|
||||
theme: just-the-docs
|
||||
|
||||
content:
|
||||
pack_version: PACK_VERSION
|
||||
minecraft_version: MINECRAFT_VERSION
|
||||
|
||||
baseurl: "/"
|
||||
url: "https://illuvia.world"
|
||||
show_downloads: false
|
||||
|
||||
# Color scheme currently only supports "dark", "light"/nil (default), or a custom scheme that you define
|
||||
color_scheme: dark
|
||||
|
||||
callouts_level: quiet # or loud
|
||||
callouts:
|
||||
highlight:
|
||||
color: yellow
|
||||
info:
|
||||
title: Info
|
||||
color: blue
|
||||
new:
|
||||
title: Neu
|
||||
color: green
|
||||
note:
|
||||
title: Notiz
|
||||
color: purple
|
||||
warning:
|
||||
title: Warnung
|
||||
color: red
|
||||
|
||||
nav_external_links:
|
||||
- title: Impressum
|
||||
url: https://legal.thephoenixdi.vision
|
||||
hide_icon: false
|
||||
opens_in_new_tab: true
|
||||
|
||||
plugins:
|
||||
- jekyll-default-layout
|
||||
- jekyll-webp
|
||||
|
||||
############################################################
|
||||
# Site configuration for the WebP Generator Plugin
|
||||
# The values here represent the defaults if nothing is set
|
||||
webp:
|
||||
enabled: false
|
||||
|
||||
# The quality of the webp conversion 0 to 100 (where 100 is least lossy)
|
||||
quality: 75
|
||||
|
||||
# List of directories containing images to optimize, nested directories will only be checked if `nested` is true
|
||||
# By default the generator will search for a folder called `/img` under the site root and process all jpg, png and tiff image files found there.
|
||||
img_dir: ["/assets/img"]
|
||||
|
||||
# Whether to search in nested directories or not
|
||||
nested: false
|
||||
|
||||
# add ".gif" to the format list to generate webp for animated gifs as well
|
||||
formats: [".jpeg", ".jpg", ".png", ".tiff"]
|
||||
|
||||
# File extensions for animated gif files
|
||||
gifs: [".gif"]
|
||||
|
||||
# Set to true to always regenerate existing webp files
|
||||
regenerate: false
|
||||
|
||||
# Local path to the WebP utilities to use (relative or absolute)
|
||||
# Omit or leave as nil to use the utilities shipped with the gem, override only to use your local install
|
||||
# Eg : "/usr/local/bin/cwebp"
|
||||
webp_path: "/usr/bin/cwebp"
|
||||
|
||||
# List of files or directories to exclude
|
||||
# e.g. custom or hand generated webp conversion files
|
||||
exclude: []
|
||||
|
||||
# append '.webp' to filename after original extension rather than replacing it.
|
||||
# Default transforms `image.png` to `image.webp`, while changing to true transforms `image.png` to `image.png.webp`
|
||||
append_ext: false
|
||||
############################################################
|
5
_layouts/home.html
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
layout: default
|
||||
---
|
||||
|
||||
{{ content }}
|
5
_layouts/page.html
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
layout: default
|
||||
---
|
||||
|
||||
{{ content }}
|
@ -1,3 +0,0 @@
|
||||
.site-nav ul li a {
|
||||
background-image: linear-gradient(-90deg, rgb(31.6333333333, 30.8222222222, 34.8777777778) 0%, rgba(31.6333333333, 30.8222222222, 34.8777777778, 0.8) 80%, rgba(31.6333333333, 30.8222222222, 34.8777777778, 0) 100%);
|
||||
}
|
Before Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 72 KiB |
Before Width: | Height: | Size: 67 KiB |
Before Width: | Height: | Size: 87 KiB |
Before Width: | Height: | Size: 106 KiB |
Before Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 71 KiB |
Before Width: | Height: | Size: 85 KiB |
@ -1,574 +0,0 @@
|
||||
(function (jtd, undefined) {
|
||||
|
||||
// Event handling
|
||||
|
||||
jtd.addEvent = function(el, type, handler) {
|
||||
if (el.attachEvent) el.attachEvent('on'+type, handler); else el.addEventListener(type, handler);
|
||||
}
|
||||
jtd.removeEvent = function(el, type, handler) {
|
||||
if (el.detachEvent) el.detachEvent('on'+type, handler); else el.removeEventListener(type, handler);
|
||||
}
|
||||
jtd.onReady = function(ready) {
|
||||
// in case the document is already rendered
|
||||
if (document.readyState!='loading') ready();
|
||||
// modern browsers
|
||||
else if (document.addEventListener) document.addEventListener('DOMContentLoaded', ready);
|
||||
// IE <= 8
|
||||
else document.attachEvent('onreadystatechange', function(){
|
||||
if (document.readyState=='complete') ready();
|
||||
});
|
||||
}
|
||||
|
||||
// Show/hide mobile menu
|
||||
|
||||
function initNav() {
|
||||
jtd.addEvent(document, 'click', function(e){
|
||||
var target = e.target;
|
||||
while (target && !(target.classList && target.classList.contains('nav-list-expander'))) {
|
||||
target = target.parentNode;
|
||||
}
|
||||
if (target) {
|
||||
e.preventDefault();
|
||||
target.ariaPressed = target.parentNode.classList.toggle('active');
|
||||
}
|
||||
});
|
||||
|
||||
const siteNav = document.getElementById('site-nav');
|
||||
const mainHeader = document.getElementById('main-header');
|
||||
const menuButton = document.getElementById('menu-button');
|
||||
|
||||
disableHeadStyleSheets();
|
||||
|
||||
jtd.addEvent(menuButton, 'click', function(e){
|
||||
e.preventDefault();
|
||||
|
||||
if (menuButton.classList.toggle('nav-open')) {
|
||||
siteNav.classList.add('nav-open');
|
||||
mainHeader.classList.add('nav-open');
|
||||
menuButton.ariaPressed = true;
|
||||
} else {
|
||||
siteNav.classList.remove('nav-open');
|
||||
mainHeader.classList.remove('nav-open');
|
||||
menuButton.ariaPressed = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// The <head> element is assumed to include the following stylesheets:
|
||||
// - a <link> to /assets/css/just-the-docs-head-nav.css,
|
||||
// with id 'jtd-head-nav-stylesheet'
|
||||
// - a <style> containing the result of _includes/css/activation.scss.liquid.
|
||||
// To avoid relying on the order of stylesheets (which can change with HTML
|
||||
// compression, user-added JavaScript, and other side effects), stylesheets
|
||||
// are only interacted with via ID
|
||||
|
||||
function disableHeadStyleSheets() {
|
||||
const headNav = document.getElementById('jtd-head-nav-stylesheet');
|
||||
if (headNav) {
|
||||
headNav.disabled = true;
|
||||
}
|
||||
|
||||
const activation = document.getElementById('jtd-nav-activation');
|
||||
if (activation) {
|
||||
activation.disabled = true;
|
||||
}
|
||||
}
|
||||
// Site search
|
||||
|
||||
function initSearch() {
|
||||
var request = new XMLHttpRequest();
|
||||
request.open('GET', '/assets/js/search-data.json', true);
|
||||
|
||||
request.onload = function(){
|
||||
if (request.status >= 200 && request.status < 400) {
|
||||
var docs = JSON.parse(request.responseText);
|
||||
|
||||
lunr.tokenizer.separator = /[\s\-/]+/
|
||||
|
||||
var index = lunr(function(){
|
||||
this.ref('id');
|
||||
this.field('title', { boost: 200 });
|
||||
this.field('content', { boost: 2 });
|
||||
this.field('relUrl');
|
||||
this.metadataWhitelist = ['position']
|
||||
|
||||
for (var i in docs) {
|
||||
|
||||
this.add({
|
||||
id: i,
|
||||
title: docs[i].title,
|
||||
content: docs[i].content,
|
||||
relUrl: docs[i].relUrl
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
searchLoaded(index, docs);
|
||||
} else {
|
||||
console.log('Error loading ajax request. Request status:' + request.status);
|
||||
}
|
||||
};
|
||||
|
||||
request.onerror = function(){
|
||||
console.log('There was a connection error');
|
||||
};
|
||||
|
||||
request.send();
|
||||
}
|
||||
|
||||
function searchLoaded(index, docs) {
|
||||
var index = index;
|
||||
var docs = docs;
|
||||
var searchInput = document.getElementById('search-input');
|
||||
var searchResults = document.getElementById('search-results');
|
||||
var mainHeader = document.getElementById('main-header');
|
||||
var currentInput;
|
||||
var currentSearchIndex = 0;
|
||||
|
||||
function showSearch() {
|
||||
document.documentElement.classList.add('search-active');
|
||||
}
|
||||
|
||||
function hideSearch() {
|
||||
document.documentElement.classList.remove('search-active');
|
||||
}
|
||||
|
||||
function update() {
|
||||
currentSearchIndex++;
|
||||
|
||||
var input = searchInput.value;
|
||||
if (input === '') {
|
||||
hideSearch();
|
||||
} else {
|
||||
showSearch();
|
||||
// scroll search input into view, workaround for iOS Safari
|
||||
window.scroll(0, -1);
|
||||
setTimeout(function(){ window.scroll(0, 0); }, 0);
|
||||
}
|
||||
if (input === currentInput) {
|
||||
return;
|
||||
}
|
||||
currentInput = input;
|
||||
searchResults.innerHTML = '';
|
||||
if (input === '') {
|
||||
return;
|
||||
}
|
||||
|
||||
var results = index.query(function (query) {
|
||||
var tokens = lunr.tokenizer(input)
|
||||
query.term(tokens, {
|
||||
boost: 10
|
||||
});
|
||||
query.term(tokens, {
|
||||
wildcard: lunr.Query.wildcard.TRAILING
|
||||
});
|
||||
});
|
||||
|
||||
if ((results.length == 0) && (input.length > 2)) {
|
||||
var tokens = lunr.tokenizer(input).filter(function(token, i) {
|
||||
return token.str.length < 20;
|
||||
})
|
||||
if (tokens.length > 0) {
|
||||
results = index.query(function (query) {
|
||||
query.term(tokens, {
|
||||
editDistance: Math.round(Math.sqrt(input.length / 2 - 1))
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if (results.length == 0) {
|
||||
var noResultsDiv = document.createElement('div');
|
||||
noResultsDiv.classList.add('search-no-result');
|
||||
noResultsDiv.innerText = 'No results found';
|
||||
searchResults.appendChild(noResultsDiv);
|
||||
|
||||
} else {
|
||||
var resultsList = document.createElement('ul');
|
||||
resultsList.classList.add('search-results-list');
|
||||
searchResults.appendChild(resultsList);
|
||||
|
||||
addResults(resultsList, results, 0, 10, 100, currentSearchIndex);
|
||||
}
|
||||
|
||||
function addResults(resultsList, results, start, batchSize, batchMillis, searchIndex) {
|
||||
if (searchIndex != currentSearchIndex) {
|
||||
return;
|
||||
}
|
||||
for (var i = start; i < (start + batchSize); i++) {
|
||||
if (i == results.length) {
|
||||
return;
|
||||
}
|
||||
addResult(resultsList, results[i]);
|
||||
}
|
||||
setTimeout(function() {
|
||||
addResults(resultsList, results, start + batchSize, batchSize, batchMillis, searchIndex);
|
||||
}, batchMillis);
|
||||
}
|
||||
|
||||
function addResult(resultsList, result) {
|
||||
var doc = docs[result.ref];
|
||||
|
||||
var resultsListItem = document.createElement('li');
|
||||
resultsListItem.classList.add('search-results-list-item');
|
||||
resultsList.appendChild(resultsListItem);
|
||||
|
||||
var resultLink = document.createElement('a');
|
||||
resultLink.classList.add('search-result');
|
||||
resultLink.setAttribute('href', doc.url);
|
||||
resultsListItem.appendChild(resultLink);
|
||||
|
||||
var resultTitle = document.createElement('div');
|
||||
resultTitle.classList.add('search-result-title');
|
||||
resultLink.appendChild(resultTitle);
|
||||
|
||||
// note: the SVG svg-doc is only loaded as a Jekyll include if site.search_enabled is true; see _includes/icons/icons.html
|
||||
var resultDoc = document.createElement('div');
|
||||
resultDoc.classList.add('search-result-doc');
|
||||
resultDoc.innerHTML = '<svg viewBox="0 0 24 24" class="search-result-icon"><use xlink:href="#svg-doc"></use></svg>';
|
||||
resultTitle.appendChild(resultDoc);
|
||||
|
||||
var resultDocTitle = document.createElement('div');
|
||||
resultDocTitle.classList.add('search-result-doc-title');
|
||||
resultDocTitle.innerHTML = doc.doc;
|
||||
resultDoc.appendChild(resultDocTitle);
|
||||
var resultDocOrSection = resultDocTitle;
|
||||
|
||||
if (doc.doc != doc.title) {
|
||||
resultDoc.classList.add('search-result-doc-parent');
|
||||
var resultSection = document.createElement('div');
|
||||
resultSection.classList.add('search-result-section');
|
||||
resultSection.innerHTML = doc.title;
|
||||
resultTitle.appendChild(resultSection);
|
||||
resultDocOrSection = resultSection;
|
||||
}
|
||||
|
||||
var metadata = result.matchData.metadata;
|
||||
var titlePositions = [];
|
||||
var contentPositions = [];
|
||||
for (var j in metadata) {
|
||||
var meta = metadata[j];
|
||||
if (meta.title) {
|
||||
var positions = meta.title.position;
|
||||
for (var k in positions) {
|
||||
titlePositions.push(positions[k]);
|
||||
}
|
||||
}
|
||||
if (meta.content) {
|
||||
var positions = meta.content.position;
|
||||
for (var k in positions) {
|
||||
var position = positions[k];
|
||||
var previewStart = position[0];
|
||||
var previewEnd = position[0] + position[1];
|
||||
var ellipsesBefore = true;
|
||||
var ellipsesAfter = true;
|
||||
for (var k = 0; k < 5; k++) {
|
||||
var nextSpace = doc.content.lastIndexOf(' ', previewStart - 2);
|
||||
var nextDot = doc.content.lastIndexOf('. ', previewStart - 2);
|
||||
if ((nextDot >= 0) && (nextDot > nextSpace)) {
|
||||
previewStart = nextDot + 1;
|
||||
ellipsesBefore = false;
|
||||
break;
|
||||
}
|
||||
if (nextSpace < 0) {
|
||||
previewStart = 0;
|
||||
ellipsesBefore = false;
|
||||
break;
|
||||
}
|
||||
previewStart = nextSpace + 1;
|
||||
}
|
||||
for (var k = 0; k < 10; k++) {
|
||||
var nextSpace = doc.content.indexOf(' ', previewEnd + 1);
|
||||
var nextDot = doc.content.indexOf('. ', previewEnd + 1);
|
||||
if ((nextDot >= 0) && (nextDot < nextSpace)) {
|
||||
previewEnd = nextDot;
|
||||
ellipsesAfter = false;
|
||||
break;
|
||||
}
|
||||
if (nextSpace < 0) {
|
||||
previewEnd = doc.content.length;
|
||||
ellipsesAfter = false;
|
||||
break;
|
||||
}
|
||||
previewEnd = nextSpace;
|
||||
}
|
||||
contentPositions.push({
|
||||
highlight: position,
|
||||
previewStart: previewStart, previewEnd: previewEnd,
|
||||
ellipsesBefore: ellipsesBefore, ellipsesAfter: ellipsesAfter
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (titlePositions.length > 0) {
|
||||
titlePositions.sort(function(p1, p2){ return p1[0] - p2[0] });
|
||||
resultDocOrSection.innerHTML = '';
|
||||
addHighlightedText(resultDocOrSection, doc.title, 0, doc.title.length, titlePositions);
|
||||
}
|
||||
|
||||
if (contentPositions.length > 0) {
|
||||
contentPositions.sort(function(p1, p2){ return p1.highlight[0] - p2.highlight[0] });
|
||||
var contentPosition = contentPositions[0];
|
||||
var previewPosition = {
|
||||
highlight: [contentPosition.highlight],
|
||||
previewStart: contentPosition.previewStart, previewEnd: contentPosition.previewEnd,
|
||||
ellipsesBefore: contentPosition.ellipsesBefore, ellipsesAfter: contentPosition.ellipsesAfter
|
||||
};
|
||||
var previewPositions = [previewPosition];
|
||||
for (var j = 1; j < contentPositions.length; j++) {
|
||||
contentPosition = contentPositions[j];
|
||||
if (previewPosition.previewEnd < contentPosition.previewStart) {
|
||||
previewPosition = {
|
||||
highlight: [contentPosition.highlight],
|
||||
previewStart: contentPosition.previewStart, previewEnd: contentPosition.previewEnd,
|
||||
ellipsesBefore: contentPosition.ellipsesBefore, ellipsesAfter: contentPosition.ellipsesAfter
|
||||
}
|
||||
previewPositions.push(previewPosition);
|
||||
} else {
|
||||
previewPosition.highlight.push(contentPosition.highlight);
|
||||
previewPosition.previewEnd = contentPosition.previewEnd;
|
||||
previewPosition.ellipsesAfter = contentPosition.ellipsesAfter;
|
||||
}
|
||||
}
|
||||
|
||||
var resultPreviews = document.createElement('div');
|
||||
resultPreviews.classList.add('search-result-previews');
|
||||
resultLink.appendChild(resultPreviews);
|
||||
|
||||
var content = doc.content;
|
||||
for (var j = 0; j < Math.min(previewPositions.length, 3); j++) {
|
||||
var position = previewPositions[j];
|
||||
|
||||
var resultPreview = document.createElement('div');
|
||||
resultPreview.classList.add('search-result-preview');
|
||||
resultPreviews.appendChild(resultPreview);
|
||||
|
||||
if (position.ellipsesBefore) {
|
||||
resultPreview.appendChild(document.createTextNode('... '));
|
||||
}
|
||||
addHighlightedText(resultPreview, content, position.previewStart, position.previewEnd, position.highlight);
|
||||
if (position.ellipsesAfter) {
|
||||
resultPreview.appendChild(document.createTextNode(' ...'));
|
||||
}
|
||||
}
|
||||
}
|
||||
var resultRelUrl = document.createElement('span');
|
||||
resultRelUrl.classList.add('search-result-rel-url');
|
||||
resultRelUrl.innerText = doc.relUrl;
|
||||
resultTitle.appendChild(resultRelUrl);
|
||||
}
|
||||
|
||||
function addHighlightedText(parent, text, start, end, positions) {
|
||||
var index = start;
|
||||
for (var i in positions) {
|
||||
var position = positions[i];
|
||||
var span = document.createElement('span');
|
||||
span.innerHTML = text.substring(index, position[0]);
|
||||
parent.appendChild(span);
|
||||
index = position[0] + position[1];
|
||||
var highlight = document.createElement('span');
|
||||
highlight.classList.add('search-result-highlight');
|
||||
highlight.innerHTML = text.substring(position[0], index);
|
||||
parent.appendChild(highlight);
|
||||
}
|
||||
var span = document.createElement('span');
|
||||
span.innerHTML = text.substring(index, end);
|
||||
parent.appendChild(span);
|
||||
}
|
||||
}
|
||||
|
||||
jtd.addEvent(searchInput, 'focus', function(){
|
||||
setTimeout(update, 0);
|
||||
});
|
||||
|
||||
jtd.addEvent(searchInput, 'keyup', function(e){
|
||||
switch (e.keyCode) {
|
||||
case 27: // When esc key is pressed, hide the results and clear the field
|
||||
searchInput.value = '';
|
||||
break;
|
||||
case 38: // arrow up
|
||||
case 40: // arrow down
|
||||
case 13: // enter
|
||||
e.preventDefault();
|
||||
return;
|
||||
}
|
||||
update();
|
||||
});
|
||||
|
||||
jtd.addEvent(searchInput, 'keydown', function(e){
|
||||
switch (e.keyCode) {
|
||||
case 38: // arrow up
|
||||
e.preventDefault();
|
||||
var active = document.querySelector('.search-result.active');
|
||||
if (active) {
|
||||
active.classList.remove('active');
|
||||
if (active.parentElement.previousSibling) {
|
||||
var previous = active.parentElement.previousSibling.querySelector('.search-result');
|
||||
previous.classList.add('active');
|
||||
}
|
||||
}
|
||||
return;
|
||||
case 40: // arrow down
|
||||
e.preventDefault();
|
||||
var active = document.querySelector('.search-result.active');
|
||||
if (active) {
|
||||
if (active.parentElement.nextSibling) {
|
||||
var next = active.parentElement.nextSibling.querySelector('.search-result');
|
||||
active.classList.remove('active');
|
||||
next.classList.add('active');
|
||||
}
|
||||
} else {
|
||||
var next = document.querySelector('.search-result');
|
||||
if (next) {
|
||||
next.classList.add('active');
|
||||
}
|
||||
}
|
||||
return;
|
||||
case 13: // enter
|
||||
e.preventDefault();
|
||||
var active = document.querySelector('.search-result.active');
|
||||
if (active) {
|
||||
active.click();
|
||||
} else {
|
||||
var first = document.querySelector('.search-result');
|
||||
if (first) {
|
||||
first.click();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
jtd.addEvent(document, 'click', function(e){
|
||||
if (e.target != searchInput) {
|
||||
hideSearch();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Switch theme
|
||||
|
||||
jtd.getTheme = function() {
|
||||
var cssFileHref = document.querySelector('[rel="stylesheet"]').getAttribute('href');
|
||||
return cssFileHref.substring(cssFileHref.lastIndexOf('-') + 1, cssFileHref.length - 4);
|
||||
}
|
||||
|
||||
jtd.setTheme = function(theme) {
|
||||
var cssFile = document.querySelector('[rel="stylesheet"]');
|
||||
cssFile.setAttribute('href', '/assets/css/just-the-docs-' + theme + '.css');
|
||||
}
|
||||
|
||||
// Note: pathname can have a trailing slash on a local jekyll server
|
||||
// and not have the slash on GitHub Pages
|
||||
|
||||
function navLink() {
|
||||
var pathname = document.location.pathname;
|
||||
|
||||
var navLink = document.getElementById('site-nav').querySelector('a[href="' + pathname + '"]');
|
||||
if (navLink) {
|
||||
return navLink;
|
||||
}
|
||||
|
||||
// The `permalink` setting may produce navigation links whose `href` ends with `/` or `.html`.
|
||||
// To find these links when `/` is omitted from or added to pathname, or `.html` is omitted:
|
||||
|
||||
if (pathname.endsWith('/') && pathname != '/') {
|
||||
pathname = pathname.slice(0, -1);
|
||||
}
|
||||
|
||||
if (pathname != '/') {
|
||||
navLink = document.getElementById('site-nav').querySelector('a[href="' + pathname + '"], a[href="' + pathname + '/"], a[href="' + pathname + '.html"]');
|
||||
if (navLink) {
|
||||
return navLink;
|
||||
}
|
||||
}
|
||||
|
||||
return null; // avoids `undefined`
|
||||
}
|
||||
|
||||
// Scroll site-nav to ensure the link to the current page is visible
|
||||
|
||||
function scrollNav() {
|
||||
const targetLink = navLink();
|
||||
if (targetLink) {
|
||||
targetLink.scrollIntoView({ block: "center" });
|
||||
targetLink.removeAttribute('href');
|
||||
}
|
||||
}
|
||||
|
||||
// Find the nav-list-link that refers to the current page
|
||||
// then make it and all enclosing nav-list-item elements active.
|
||||
|
||||
function activateNav() {
|
||||
var target = navLink();
|
||||
if (target) {
|
||||
target.classList.toggle('active', true);
|
||||
}
|
||||
while (target) {
|
||||
while (target && !(target.classList && target.classList.contains('nav-list-item'))) {
|
||||
target = target.parentNode;
|
||||
}
|
||||
if (target) {
|
||||
target.classList.toggle('active', true);
|
||||
target = target.parentNode;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Document ready
|
||||
|
||||
jtd.onReady(function(){
|
||||
if (document.getElementById('site-nav')) {
|
||||
initNav();
|
||||
activateNav();
|
||||
scrollNav();
|
||||
}
|
||||
initSearch();
|
||||
});
|
||||
|
||||
// Copy button on code
|
||||
|
||||
jtd.onReady(function(){
|
||||
|
||||
if (!window.isSecureContext) {
|
||||
console.log('Window does not have a secure context, therefore code clipboard copy functionality will not be available. For more details see https://web.dev/async-clipboard/#security-and-permissions');
|
||||
return;
|
||||
}
|
||||
|
||||
var codeBlocks = document.querySelectorAll('div.highlighter-rouge, div.listingblock > div.content, figure.highlight');
|
||||
|
||||
// note: the SVG svg-copied and svg-copy is only loaded as a Jekyll include if site.enable_copy_code_button is true; see _includes/icons/icons.html
|
||||
var svgCopied = '<svg viewBox="0 0 24 24" class="copy-icon"><use xlink:href="#svg-copied"></use></svg>';
|
||||
var svgCopy = '<svg viewBox="0 0 24 24" class="copy-icon"><use xlink:href="#svg-copy"></use></svg>';
|
||||
|
||||
codeBlocks.forEach(codeBlock => {
|
||||
var copyButton = document.createElement('button');
|
||||
var timeout = null;
|
||||
copyButton.type = 'button';
|
||||
copyButton.ariaLabel = 'Copy code to clipboard';
|
||||
copyButton.innerHTML = svgCopy;
|
||||
codeBlock.append(copyButton);
|
||||
|
||||
copyButton.addEventListener('click', function () {
|
||||
if(timeout === null) {
|
||||
var code = (codeBlock.querySelector('pre:not(.lineno, .highlight)') || codeBlock.querySelector('code')).innerText;
|
||||
window.navigator.clipboard.writeText(code);
|
||||
|
||||
copyButton.innerHTML = svgCopied;
|
||||
|
||||
var timeoutSetting = 4000;
|
||||
|
||||
timeout = setTimeout(function () {
|
||||
copyButton.innerHTML = svgCopy;
|
||||
timeout = null;
|
||||
}, timeoutSetting);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
})(window.jtd = window.jtd || {});
|
||||
|
||||
|
@ -1,142 +0,0 @@
|
||||
{"0": {
|
||||
"doc": "FAQ",
|
||||
"title": "FAQ Seiten",
|
||||
"content": " ",
|
||||
"url": "/docs/faq/#faq-seiten",
|
||||
|
||||
"relUrl": "/docs/faq/#faq-seiten"
|
||||
},"1": {
|
||||
"doc": "FAQ",
|
||||
"title": "Modpack",
|
||||
"content": ". | Backpack per Shortcut öffnen | . ",
|
||||
"url": "/docs/faq/#modpack",
|
||||
|
||||
"relUrl": "/docs/faq/#modpack"
|
||||
},"2": {
|
||||
"doc": "FAQ",
|
||||
"title": "Server",
|
||||
"content": ". | Wie lautet die Server IP? | . ",
|
||||
"url": "/docs/faq/#server",
|
||||
|
||||
"relUrl": "/docs/faq/#server"
|
||||
},"3": {
|
||||
"doc": "FAQ",
|
||||
"title": "FAQ",
|
||||
"content": " ",
|
||||
"url": "/docs/faq/",
|
||||
|
||||
"relUrl": "/docs/faq/"
|
||||
},"4": {
|
||||
"doc": "Modpack",
|
||||
"title": "Illuvia Prime Modpack",
|
||||
"content": ". Unser Modpack ist nun über Modrinth erhältlich. Bitte stellt euch darauf ein, dass der Support für Technical Electrical: Secret Schemes damit nur noch vorübergehend ist. Wir werden vorher nochmal über Discord und unsere Homepage über das Supportende informieren! . ",
|
||||
"url": "/docs/modpack/#illuvia-prime-modpack",
|
||||
|
||||
"relUrl": "/docs/modpack/#illuvia-prime-modpack"
|
||||
},"5": {
|
||||
"doc": "Modpack",
|
||||
"title": "Wieso das Illuvia Prime Modpack?",
|
||||
"content": "Wir haben den Server mit Technical Electrical gestartet. Aktuell unterstützen wir dieses auch noch allerdings haben wir beim Spielen auf dem Server so einige Ideen gehabt, wie man das Spielerlebnis noch verbessern könnte. So haben wir viele weitere Mods gefunden und in unseren lokalen Instanzen hinzugefügt. Nun möchten wir euch auch davon profitieren lassen! . Unter anderem haben wir einen eigenen Server Voice Chat integriert, der unabhängig von Discord, Teamspeak und Co. funktioniert. So ist es möglich auch mal miteinander zu quatschen (zum Beispiel zum Handeln) selbst wenn man sich in unterschiedlichen Discord Channels oder Servern befindet. ",
|
||||
"url": "/docs/modpack/#wieso-das-illuvia-prime-modpack",
|
||||
|
||||
"relUrl": "/docs/modpack/#wieso-das-illuvia-prime-modpack"
|
||||
},"6": {
|
||||
"doc": "Modpack",
|
||||
"title": "Installtion",
|
||||
"content": ". | Installiere dir den Modrinth Launcher | Gehe in die Settings unter Default instance options und erhöhere den zugewiesenen RAM. Empfohlen ist ~8000 bei 16GB RAM und ~12000 bei 32GB und höher | Downloade das Illuvia Prime Pack | Und nach dem Download kann das Modpack gespielt werden. Viel Spaß! ;) | . ",
|
||||
"url": "/docs/modpack/#installtion",
|
||||
|
||||
"relUrl": "/docs/modpack/#installtion"
|
||||
},"7": {
|
||||
"doc": "Modpack",
|
||||
"title": "Modpack",
|
||||
"content": " ",
|
||||
"url": "/docs/modpack/",
|
||||
|
||||
"relUrl": "/docs/modpack/"
|
||||
},"8": {
|
||||
"doc": "Home",
|
||||
"title": "Illuvia Prime Homepage",
|
||||
"content": "Willkommen bei der offiziellen Homepage und Dokumentation für den Illuvia Prime Minecraft Server. Erkunde eine einzigartige Welt voller Magie und technischer Möglichkeiten. Get started now Download Modpack . 🎮 Game: 🔃 Mod Loader: 📦 Modpack: . ",
|
||||
"url": "/#illuvia-prime-homepage",
|
||||
|
||||
"relUrl": "/#illuvia-prime-homepage"
|
||||
},"9": {
|
||||
"doc": "Home",
|
||||
"title": "Getting started",
|
||||
"content": "Du musst von einem Spieler bei der Serverleitung (SitirioTV | Justin, Kosmos | Florian) empfohlen werden. Die Serverleitung gibt dann dem Spieler, der dich empfohlen hat bescheid ob du aufgenommen wirst oder nicht. Modpack Installation . | Downloade und installiere Modrinth als Launcher | Starte den Launcher und logge dich mit deinem Minecraft / Microsoft Account ein | Installiere das Illuvia Prime Modpack wie hier beschrieben | . Server beitreten . | Bitte joine einmal dem Server. Es wird eine Meldung kommen, dass du nicht auf der Whitelist stehst. | Teile der Serverleitung über Discord deinen Minecraft Benutzernamen mit, damit wir dich auf Whitelist setzen können. | Warte auf eine Antwort und joine erneut sobald du aufgenommen wurdest. | Viel Spaß! 🥳 | . ",
|
||||
"url": "/#getting-started",
|
||||
|
||||
"relUrl": "/#getting-started"
|
||||
},"10": {
|
||||
"doc": "Home",
|
||||
"title": "Home",
|
||||
"content": " ",
|
||||
"url": "/",
|
||||
|
||||
"relUrl": "/"
|
||||
},"11": {
|
||||
"doc": "Modliste",
|
||||
"title": "Installierte Mods",
|
||||
"content": ". | AI Improvements | AmbientSounds | Applied Mekanistics | BadOptimizations | BetterF | BetterThirdPerson | Controlling | Corgilib | CraterLib | CreativeCore | Cucumber | CustomWindowTitle | DistantHorizons | Emojiful | ExtremeReactors | GPUTape | GlitchCore | ImmediatelyFast | ImmersiveEngineering | Jade | KryptonFoxified | Ksyxis | LittleFrames | MRU | Mekanism | MekanismAdditions | MekanismGenerators | MekanismTools | Modern Dynamics | Modern Industrialization | MouseTweaks | MysticalAgradditions | MysticalAgriculture | NoChatReports | Not Enough Recipe Book | OctoLib | Oh The Biomes Weve Gone | Oh The Trees Youll Grow | OreExcavation | Patchouli | Powah | Searchables | SimpleRPC Universal | SmartBrainLib | Sounds | Statues | TerraBlender | The Undergarden | Totemic | TravelersTitles | Xaeros Minimap | XaerosWorldMap | YetAnotherConfigLib | YungsApi | ZeroCore | SecurityCraft | accessories cclayer | accessories | actuallyadditions | aewtlib | almostunified | appleskin | appliedenergistics | architectury | ars additions | ars ocultas | athena | azurelib neo | balm | better modlist | cme | cc tweaked | chisel | cloth config | collective | drippyloadingscreen | elevatorid | emi | enderio | entityculling | fancymenu | ferritecore | freecam | friendsandfoes | functionalstorage | geckolib | handcrafted | idle boost | industrialforegoing | iris | ironchest | jamlib | jei | konkrete | kotlinfor | libIPN | lootr | melody | mffs | modernfix | modonomicon | moreculling | notenoughanimations | occultism | open parties and claims | owo lib | packetfixer | PlasmoVoice | pneumaticcraft repressurized | polyeng | polylib | polymorph | prefab | radium | reeses sodium options | relics | resourcefulconfig | resourcefullib | servercore | shrink | skinlayersd | sodium | sound physics remastered | stellaris | tectonic | the bumblezone | theurgy | thingamajigs | titanium | toms trading network | travelersbackpack | utility belt | watermedia | waveycapes | waystones | . ",
|
||||
"url": "/docs/modpack/modliste.html#installierte-mods",
|
||||
|
||||
"relUrl": "/docs/modpack/modliste.html#installierte-mods"
|
||||
},"12": {
|
||||
"doc": "Modliste",
|
||||
"title": "Installierte Resourcepacks",
|
||||
"content": ". | Faithful 64x | 3D Crops Revamped | PresenceFootsteps: Remastered Sounds | Visual Traveler’s Title Biomes Addon | . ",
|
||||
"url": "/docs/modpack/modliste.html#installierte-resourcepacks",
|
||||
|
||||
"relUrl": "/docs/modpack/modliste.html#installierte-resourcepacks"
|
||||
},"13": {
|
||||
"doc": "Modliste",
|
||||
"title": "Installierte Shader",
|
||||
"content": ". | Solas Shader | Complementary Shaders - Reimagined | . ",
|
||||
"url": "/docs/modpack/modliste.html#installierte-shader",
|
||||
|
||||
"relUrl": "/docs/modpack/modliste.html#installierte-shader"
|
||||
},"14": {
|
||||
"doc": "Modliste",
|
||||
"title": "Modliste",
|
||||
"content": " ",
|
||||
"url": "/docs/modpack/modliste.html",
|
||||
|
||||
"relUrl": "/docs/modpack/modliste.html"
|
||||
},"15": {
|
||||
"doc": "Backpack öfnnen mit Keybinding",
|
||||
"title": "Backpack per Shortcut öffnen",
|
||||
"content": "Man kann sein Backpack in einen Accessoire Slot legen um so wertvollen Platz im Inventar zu sparen. Damit man es dann öffnen kann muss man allerdings ein Keybinding / Shortcut festlegen. ",
|
||||
"url": "/docs/faq/open-backpack-by-keybinding.html#backpack-per-shortcut-%C3%B6ffnen",
|
||||
|
||||
"relUrl": "/docs/faq/open-backpack-by-keybinding.html#backpack-per-shortcut-öffnen"
|
||||
},"16": {
|
||||
"doc": "Backpack öfnnen mit Keybinding",
|
||||
"title": "Keybinding / Shortcut festlegen",
|
||||
"content": ". | Drücke die ESC-Taste und öffne die Options (de: Optionen) | In den Optionen gehe in die Controls (de: Steuerung) | Suche per Suchleiste nach backpack, dort erscheinen drei Optionen. Open Backpack ist auf B festgelegt, welches allerdings mehrfach belegt wurde durch die vielen Mods. | Klicke dort auf das B, anschließend kannst du eine Taste drücken mit der du dein Backpack öffnen willst, diese darf allerdings nicht schon belegt sein. Wir empfehlen ^, welches du auf deiner Tastatur oben neben der 1 findest. | Danach kannst du mit Done speichern und das Game Menü verlassen | . ",
|
||||
"url": "/docs/faq/open-backpack-by-keybinding.html#keybinding--shortcut-festlegen",
|
||||
|
||||
"relUrl": "/docs/faq/open-backpack-by-keybinding.html#keybinding--shortcut-festlegen"
|
||||
},"17": {
|
||||
"doc": "Backpack öfnnen mit Keybinding",
|
||||
"title": "Backpack in den Accessoire Slot legen",
|
||||
"content": ". | Öffne dein Inventar (Default: E) | Dort musst du in den oberen drei Kategorien sein, dann ist der unterste Slot der Slot für dein Backpack. Du kannst diesen aber auch am Rucksack erkennen. | . ",
|
||||
"url": "/docs/faq/open-backpack-by-keybinding.html#backpack-in-den-accessoire-slot-legen",
|
||||
|
||||
"relUrl": "/docs/faq/open-backpack-by-keybinding.html#backpack-in-den-accessoire-slot-legen"
|
||||
},"18": {
|
||||
"doc": "Backpack öfnnen mit Keybinding",
|
||||
"title": "Backpack öfnnen mit Keybinding",
|
||||
"content": " ",
|
||||
"url": "/docs/faq/open-backpack-by-keybinding.html",
|
||||
|
||||
"relUrl": "/docs/faq/open-backpack-by-keybinding.html"
|
||||
},"19": {
|
||||
"doc": "Wie lautet die Server IP?",
|
||||
"title": "Wie lautet die Server IP?",
|
||||
"content": "join.illuvia.world . ",
|
||||
"url": "/docs/faq/what-is-the-server-ip.html",
|
||||
|
||||
"relUrl": "/docs/faq/what-is-the-server-ip.html"
|
||||
}
|
||||
}
|
61
assets/js/vendor/lunr.min.js
vendored
@ -1,4 +1,4 @@
|
||||
Welcome to Illuvia Prime Modpack!
|
||||
Latest version is 1.0.0
|
||||
Latest version is PACK_VERSION
|
||||
Make sure to join the Discord Server!
|
||||
Text Last Updated 07.06.2025 12:06!
|
||||
Text Last Updated CURRENT_DATE!
|
||||
|
15
docs/faq/index.md
Normal file
@ -0,0 +1,15 @@
|
||||
---
|
||||
title: FAQ
|
||||
layout: page
|
||||
has_toc: false
|
||||
---
|
||||
|
||||
# FAQ Seiten
|
||||
|
||||
## Modpack
|
||||
|
||||
- [Backpack per Shortcut öffnen]({% link docs/faq/open-backpack-by-keybinding.md %})
|
||||
|
||||
## Server
|
||||
|
||||
- [Wie lautet die Server IP?]({% link docs/faq/what-is-the-server-ip.md %})
|
29
docs/faq/open-backpack-by-keybinding.md
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
title: Backpack öfnnen mit Keybinding
|
||||
parent: FAQ
|
||||
layout: page
|
||||
---
|
||||
|
||||
# Backpack per Shortcut öffnen
|
||||
|
||||
Man kann sein Backpack in einen Accessoire Slot legen um so wertvollen Platz im Inventar zu sparen.
|
||||
Damit man es dann öffnen kann muss man allerdings ein Keybinding / Shortcut festlegen.
|
||||
|
||||
## Keybinding / Shortcut festlegen
|
||||
|
||||
1. Drücke die `ESC`-Taste und öffne die Options (de: Optionen)
|
||||

|
||||
2. In den Optionen gehe in die Controls (de: Steuerung)
|
||||

|
||||
3. Suche per Suchleiste nach `backpack`, dort erscheinen drei Optionen. `Open Backpack` ist auf `B` festgelegt, welches allerdings mehrfach belegt wurde durch die vielen Mods.
|
||||

|
||||
4. Klicke dort auf das `B`, anschließend kannst du eine Taste drücken mit der du dein Backpack öffnen willst, diese darf allerdings nicht schon belegt sein. Wir empfehlen `^`, welches du auf deiner Tastatur oben neben der `1` findest.
|
||||

|
||||
5. Danach kannst du mit `Done` speichern und das Game Menü verlassen
|
||||
|
||||
## Backpack in den Accessoire Slot legen
|
||||
|
||||
1. Öffne dein Inventar (Default: `E`)
|
||||

|
||||
2. Dort musst du in den oberen drei Kategorien sein, dann ist der unterste Slot der Slot für dein Backpack. Du kannst diesen aber auch am Rucksack erkennen.
|
||||

|
9
docs/faq/what-is-the-server-ip.md
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
title: Wie lautet die Server IP?
|
||||
parent: FAQ
|
||||
layout: page
|
||||
---
|
||||
|
||||
# Wie lautet die Server IP?
|
||||
|
||||
`join.illuvia.world`
|
31
docs/modpack/index.md
Normal file
@ -0,0 +1,31 @@
|
||||
---
|
||||
title: Modpack
|
||||
nav_order: 2
|
||||
layout: page
|
||||
---
|
||||
|
||||
# Illuvia Prime Modpack
|
||||
|
||||
{: .highlight }
|
||||

|
||||
|
||||
{: .note }
|
||||
Unser Modpack ist nun über Modrinth erhältlich. Bitte stellt euch darauf ein, dass der Support für `Technical Electrical: Secret Schemes` damit nur noch vorübergehend ist.
|
||||
Wir werden vorher nochmal über Discord und unsere Homepage über das Supportende informieren!
|
||||
|
||||
## Wieso das Illuvia Prime Modpack?
|
||||
|
||||
Wir haben den Server mit Technical Electrical gestartet. Aktuell unterstützen wir dieses auch noch allerdings haben wir beim Spielen auf dem Server so einige Ideen gehabt, wie man das Spielerlebnis noch verbessern könnte.
|
||||
So haben wir viele weitere Mods gefunden und in unseren lokalen Instanzen hinzugefügt. Nun möchten wir euch auch davon profitieren lassen!
|
||||
|
||||
Unter anderem haben wir einen eigenen Server Voice Chat integriert, der unabhängig von Discord, Teamspeak und Co. funktioniert. So ist es möglich auch mal miteinander zu quatschen (zum Beispiel zum Handeln) selbst wenn man sich in unterschiedlichen Discord Channels oder Servern befindet.
|
||||
|
||||
## Installtion
|
||||
|
||||
1. Installiere dir den [Modrinth Launcher](https://modrinth.com/app)
|
||||
2. Gehe in die `Settings` unter `Default instance options` und erhöhere den zugewiesenen RAM. Empfohlen ist ~8000 bei 16GB RAM und ~12000 bei 32GB und höher
|
||||

|
||||
3. Downloade das [Illuvia Prime Pack](modrinth://mod/illuvia-prime-project)
|
||||

|
||||

|
||||
4. Und nach dem Download kann das Modpack gespielt werden. Viel Spaß! ;)
|
155
docs/modpack/modliste.md
Normal file
@ -0,0 +1,155 @@
|
||||
---
|
||||
title: Modliste
|
||||
parent: Modpack
|
||||
layout: page
|
||||
---
|
||||
|
||||
# Installierte Mods
|
||||
|
||||
- [X] AI Improvements
|
||||
- [X] AmbientSounds
|
||||
- [X] Applied Mekanistics
|
||||
- [X] BadOptimizations
|
||||
- [X] BetterF
|
||||
- [X] BetterThirdPerson
|
||||
- [X] Controlling
|
||||
- [X] Corgilib
|
||||
- [X] CraterLib
|
||||
- [X] CreativeCore
|
||||
- [X] Cucumber
|
||||
- [X] CustomWindowTitle
|
||||
- [X] DistantHorizons
|
||||
- [X] Emojiful
|
||||
- [X] ExtremeReactors
|
||||
- [X] GPUTape
|
||||
- [X] GlitchCore
|
||||
- [X] ImmediatelyFast
|
||||
- [X] ImmersiveEngineering
|
||||
- [X] Jade
|
||||
- [X] KryptonFoxified
|
||||
- [X] Ksyxis
|
||||
- [X] LittleFrames
|
||||
- [X] MRU
|
||||
- [X] Mekanism
|
||||
- [X] MekanismAdditions
|
||||
- [X] MekanismGenerators
|
||||
- [X] MekanismTools
|
||||
- [X] Modern Dynamics
|
||||
- [X] Modern Industrialization
|
||||
- [X] MouseTweaks
|
||||
- [X] MysticalAgradditions
|
||||
- [X] MysticalAgriculture
|
||||
- [X] NoChatReports
|
||||
- [X] Not Enough Recipe Book
|
||||
- [X] OctoLib
|
||||
- [X] Oh The Biomes Weve Gone
|
||||
- [X] Oh The Trees Youll Grow
|
||||
- [X] OreExcavation
|
||||
- [X] Patchouli
|
||||
- [X] Powah
|
||||
- [X] Searchables
|
||||
- [X] SimpleRPC Universal
|
||||
- [X] SmartBrainLib
|
||||
- [X] Sounds
|
||||
- [X] Statues
|
||||
- [X] TerraBlender
|
||||
- [X] The Undergarden
|
||||
- [X] Totemic
|
||||
- [X] TravelersTitles
|
||||
- [X] Xaeros Minimap
|
||||
- [X] XaerosWorldMap
|
||||
- [X] YetAnotherConfigLib
|
||||
- [X] YungsApi
|
||||
- [X] ZeroCore
|
||||
- [X] SecurityCraft
|
||||
- [X] accessories cclayer
|
||||
- [X] accessories
|
||||
- [X] actuallyadditions
|
||||
- [X] aewtlib
|
||||
- [X] almostunified
|
||||
- [X] appleskin
|
||||
- [X] appliedenergistics
|
||||
- [X] architectury
|
||||
- [X] ars additions
|
||||
- [X] ars ocultas
|
||||
- [X] athena
|
||||
- [X] azurelib neo
|
||||
- [X] balm
|
||||
- [X] better modlist
|
||||
- [X] cme
|
||||
- [X] cc tweaked
|
||||
- [X] chisel
|
||||
- [X] cloth config
|
||||
- [X] collective
|
||||
- [X] drippyloadingscreen
|
||||
- [X] elevatorid
|
||||
- [X] emi
|
||||
- [X] enderio
|
||||
- [X] entityculling
|
||||
- [X] fancymenu
|
||||
- [X] ferritecore
|
||||
- [X] freecam
|
||||
- [X] friendsandfoes
|
||||
- [X] functionalstorage
|
||||
- [X] geckolib
|
||||
- [X] handcrafted
|
||||
- [X] idle boost
|
||||
- [X] industrialforegoing
|
||||
- [X] iris
|
||||
- [X] ironchest
|
||||
- [X] jamlib
|
||||
- [X] jei
|
||||
- [X] konkrete
|
||||
- [X] kotlinfor
|
||||
- [X] libIPN
|
||||
- [X] lootr
|
||||
- [X] melody
|
||||
- [X] mffs
|
||||
- [X] modernfix
|
||||
- [X] modonomicon
|
||||
- [X] moreculling
|
||||
- [X] notenoughanimations
|
||||
- [X] occultism
|
||||
- [X] open parties and claims
|
||||
- [X] owo lib
|
||||
- [X] packetfixer
|
||||
- [X] PlasmoVoice
|
||||
- [X] pneumaticcraft repressurized
|
||||
- [X] polyeng
|
||||
- [X] polylib
|
||||
- [X] polymorph
|
||||
- [X] prefab
|
||||
- [X] radium
|
||||
- [X] reeses sodium options
|
||||
- [X] relics
|
||||
- [X] resourcefulconfig
|
||||
- [X] resourcefullib
|
||||
- [X] servercore
|
||||
- [X] shrink
|
||||
- [X] skinlayersd
|
||||
- [X] sodium
|
||||
- [X] sound physics remastered
|
||||
- [X] stellaris
|
||||
- [X] tectonic
|
||||
- [X] the bumblezone
|
||||
- [X] theurgy
|
||||
- [X] thingamajigs
|
||||
- [X] titanium
|
||||
- [X] toms trading network
|
||||
- [X] travelersbackpack
|
||||
- [X] utility belt
|
||||
- [X] watermedia
|
||||
- [X] waveycapes
|
||||
- [X] waystones
|
||||
|
||||
# Installierte Resourcepacks
|
||||
|
||||
- [X] Faithful 64x
|
||||
- [X] 3D Crops Revamped
|
||||
- [X] PresenceFootsteps: Remastered Sounds
|
||||
- [X] Visual Traveler's Title Biomes Addon
|
||||
|
||||
# Installierte Shader
|
||||
|
||||
- [X] Solas Shader
|
||||
- [X] Complementary Shaders - Reimagined
|
47
index.md
Normal file
@ -0,0 +1,47 @@
|
||||
---
|
||||
title: Home
|
||||
layout: home
|
||||
nav_order: 1
|
||||
description: "Willkommen bei der offiziellen Homepage und Dokumentation für den Illuvia Prime Minecraft Server. Erkunde eine einzigartige Welt voller Magie und technischer Möglichkeiten."
|
||||
permalink: /
|
||||
---
|
||||
|
||||
# Illuvia Prime Homepage
|
||||
{: .fs-9 }
|
||||
|
||||
Willkommen bei der offiziellen Homepage und Dokumentation für den Illuvia Prime Minecraft Server. Erkunde eine einzigartige Welt voller Magie und technischer Möglichkeiten.
|
||||
{: .fs-6 .fw-300 }
|
||||
|
||||
{: .info }
|
||||

|
||||

|
||||

|
||||
|
||||
[Get started now](#getting-started){: .btn .btn-primary .fs-5 .mb-4 .mb-md-0 .mr-2 }
|
||||
[Download Modpack](https://modrinth.com/modpack/illuvia-prime-project#download){: .btn .fs-5 .mb-4 .mb-md-0 }
|
||||
|
||||
---
|
||||
|
||||
{: .highlight }
|
||||
🎮 __Game:__ <br>
|
||||
🔃 __Mod Loader:__ <br>
|
||||
📦 __Modpack:__ 
|
||||
|
||||
## Getting started
|
||||
|
||||
{: .info }
|
||||
Du musst von einem Spieler bei der Serverleitung (SitirioTV | Justin, Kosmos | Florian) empfohlen werden.<br>
|
||||
Die Serverleitung gibt dann dem Spieler, der dich empfohlen hat bescheid ob du aufgenommen wirst oder nicht.
|
||||
|
||||
### Modpack Installation
|
||||
|
||||
1. Downloade und installiere [Modrinth](https://modrinth.com/app) als Launcher
|
||||
2. Starte den Launcher und logge dich mit deinem Minecraft / Microsoft Account ein
|
||||
3. Installiere das Illuvia Prime Modpack wie [hier]({% link docs/modpack/index.md %}) beschrieben
|
||||
|
||||
### Server beitreten
|
||||
|
||||
1. Bitte joine einmal dem Server. Es wird eine Meldung kommen, dass du nicht auf der Whitelist stehst.
|
||||
2. Teile der Serverleitung über Discord deinen Minecraft Benutzernamen mit, damit wir dich auf Whitelist setzen können.
|
||||
3. Warte auf eine Antwort und joine erneut sobald du aufgenommen wurdest.
|
||||
4. Viel Spaß! 🥳
|