Compare commits
126 Commits
8bb72fefdd
...
11ae707a99
Author | SHA1 | Date | |
---|---|---|---|
11ae707a99 | |||
32e0d8949e | |||
06d0824f67 | |||
e6247a2414 | |||
bd10980524 | |||
260bdd7277 | |||
20f39cf22e | |||
cae7ab9022 | |||
c0cad02e1f | |||
cd1b05b42b | |||
207521b638 | |||
d240a44602 | |||
66681a9bf1 | |||
78f3df715b | |||
314bd15a51 | |||
94cc77340a | |||
f47a370c7a | |||
fb6a0c0602 | |||
7b6b6a2b4d | |||
067f2c4a6a | |||
6ae358a2ac | |||
f93a2208fd | |||
7da0770b58 | |||
266e1b6a22 | |||
7741c86fc7 | |||
2b7054c519 | |||
00e84cf168 | |||
17b3fc2590 | |||
260d6d55d9 | |||
f7f078580f | |||
eefbd02291 | |||
dd989b0ad6 | |||
7c36f42e08 | |||
2217532da3 | |||
24b85ba095 | |||
dfb2d46036 | |||
d5dbcac5fb | |||
dedfcf542f | |||
9e9b3d2bef | |||
77fe0950b2 | |||
9ac1f451c0 | |||
69105ba34f | |||
11ad282ebe | |||
f1681d14b4 | |||
38769b1c59 | |||
a4fe107708 | |||
1f826781a9 | |||
1097bd297c | |||
37fc716efa | |||
790806d3a9 | |||
7f400d9965 | |||
f93afc1709 | |||
f12993b85a | |||
f5dbe68a4c | |||
d2cf6753fb | |||
84bda15088 | |||
cddab7bca4 | |||
aa8fcae03f | |||
5b947a0a8b | |||
27c45fac56 | |||
f1ba8bb552 | |||
a41d43cf19 | |||
f5b61aeb23 | |||
afac6ba448 | |||
6e190d8569 | |||
c204973963 | |||
0033bd0f11 | |||
a8da779add | |||
fd3e06a456 | |||
a87c3cd1c9 | |||
f25aec9c8a | |||
7c321773ef | |||
ab6d571fcd | |||
b5880e43de | |||
3b880eea8b | |||
d807fb5248 | |||
e335979b36 | |||
a49bf4c27a | |||
7c34d9ff11 | |||
414a9ce681 | |||
2d5c8e41ca | |||
a09524292a | |||
154a5e5e00 | |||
12a157def0 | |||
9ccb2dd19f | |||
d687d86a18 | |||
2d0e217d37 | |||
a018f4726b | |||
89b1a97b25 | |||
c879269a49 | |||
b0c27faffd | |||
96f1c4b181 | |||
414fa0a562 | |||
57663573f2 | |||
818cd2dfdf | |||
d9d2bb95c5 | |||
68134f62eb | |||
6a2c612389 | |||
260f08fd3a | |||
a46bc6cc9e | |||
f7b48b7c74 | |||
237a66269f | |||
6e5e35c600 | |||
59090de3b3 | |||
3c7e1b1146 | |||
7f4c744582 | |||
c2e7cf757b | |||
479b2e4997 | |||
4120d901f3 | |||
48a59e397f | |||
bba45c5ed4 | |||
31974cbf62 | |||
ffa4ddaa52 | |||
29fc4a2674 | |||
7e76e18c13 | |||
2fe19ee409 | |||
448fcaafbc | |||
e24d4c1642 | |||
8857e41e65 | |||
bc98bef7f8 | |||
67691d3e02 | |||
adb4130768 | |||
5a12ff322d | |||
185098d0c6 | |||
aed74d15d9 | |||
39d03ffae3 |
@ -1 +0,0 @@
|
||||
1747133741280:stop
|
50
.dockerignore
Normal file
50
.dockerignore
Normal file
@ -0,0 +1,50 @@
|
||||
*/cache
|
||||
*/libraries
|
||||
*/logs
|
||||
*/versions
|
||||
*/plugins/.paper-remapped
|
||||
|
||||
*/world
|
||||
*/world_nether
|
||||
*/world_the_end
|
||||
|
||||
*/.console_history
|
||||
|
||||
*/banned-ips.json
|
||||
*/banned-players.json
|
||||
*/ops.json
|
||||
*/whitelist.json
|
||||
*/usercache.json
|
||||
|
||||
src/plugins/spark/tmp
|
||||
|
||||
.crowdin
|
||||
src/plugins/PlasmoVoice/voice_mutes.json
|
||||
|
||||
src/orebfuscator_cache
|
||||
src/plugins/GrimAC/violations.sqlite
|
||||
|
||||
src/plugins/LuckPerms/libs
|
||||
|
||||
src/plugins/ImageFrame/data
|
||||
src/plugins/ImageFrame/players
|
||||
src/plugins/ImageFrame/upload
|
||||
src/map-color-cache.dat
|
||||
|
||||
src/plugins/SuperVanish/data.yml
|
||||
|
||||
src/plugins/CustomizablePlayerModels
|
||||
|
||||
src/plugins/CarbonChat/users
|
||||
src/plugins/CarbonChat/libraries
|
||||
|
||||
src/plugins/DiscordSRV/accounts.aof
|
||||
|
||||
src/plugins/BlueMap/data/web/maps
|
||||
src/plugins/BlueMap/data/logs
|
||||
src/plugins/BlueMap/data/minecraft-client-1.21.jar
|
||||
src/plugins/BMMarker/data
|
||||
|
||||
src/plugins/LibertyBans/internal
|
||||
|
||||
src/plugins/Chunky/tasks
|
49
.github/workflows/build-docker.yml
vendored
Normal file
49
.github/workflows/build-docker.yml
vendored
Normal file
@ -0,0 +1,49 @@
|
||||
---
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- develop
|
||||
tags:
|
||||
- '[0-9]+.[0-9]+.[0-9]+'
|
||||
|
||||
jobs:
|
||||
build-docker:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
registry: gitea.cuqmbr.xyz
|
||||
steps:
|
||||
- name: Login to Docker Container Registry
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ${{env.registry}}
|
||||
username: ${{vars.DOCKER_USER}}
|
||||
password: ${{secrets.DOCKER_TOKEN}}
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
# https://github.com/actions/checkout/issues/1830
|
||||
# https://gitea.com/gitea/act_runner/issues/164
|
||||
- name: Checkout lfs
|
||||
run: |
|
||||
git lfs install --local
|
||||
AUTH=$(git config --local http.${{ github.server_url }}/.extraheader)
|
||||
git config --local --unset http.${{ github.server_url }}/.extraheader
|
||||
git config --local http.${{ github.server_url }}/${{ github.repository }}.git/info/lfs/objects/batch.extraheader "$AUTH"
|
||||
git lfs pull
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: .
|
||||
file: ./Dockerfile
|
||||
platforms: linux/arm64,linux/amd64
|
||||
push: true
|
||||
# TODO: split tag names into multiple lines
|
||||
tags: |
|
||||
${{env.registry}}/${{github.repository_owner}}/${{github.event.repository.name}}:${{github.sha}}
|
||||
${{env.registry}}/${{github.repository_owner}}/${{github.event.repository.name}}:${{github.ref_name}}
|
||||
${{env.registry}}/${{github.repository_owner}}/${{github.event.repository.name}}:latest
|
60
.gitignore
vendored
60
.gitignore
vendored
@ -1,16 +1,50 @@
|
||||
cache
|
||||
libraries
|
||||
logs
|
||||
versions
|
||||
*/cache
|
||||
*/libraries
|
||||
*/logs
|
||||
*/versions
|
||||
*/plugins/.paper-remapped
|
||||
|
||||
world
|
||||
world_nether
|
||||
world_the_end
|
||||
*/world
|
||||
*/world_nether
|
||||
*/world_the_end
|
||||
|
||||
./.console_history
|
||||
*/.console_history
|
||||
|
||||
banned-ips.json
|
||||
banned-players.json
|
||||
ops.json
|
||||
whitelist.json
|
||||
usercache.json
|
||||
*/banned-ips.json
|
||||
*/banned-players.json
|
||||
*/ops.json
|
||||
*/whitelist.json
|
||||
*/usercache.json
|
||||
|
||||
src/plugins/spark/tmp
|
||||
|
||||
.crowdin
|
||||
src/plugins/PlasmoVoice/voice_mutes.json
|
||||
|
||||
src/orebfuscator_cache
|
||||
src/plugins/GrimAC/violations.sqlite
|
||||
|
||||
src/plugins/LuckPerms/libs
|
||||
|
||||
src/plugins/ImageFrame/data
|
||||
src/plugins/ImageFrame/players
|
||||
src/plugins/ImageFrame/upload
|
||||
src/map-color-cache.dat
|
||||
|
||||
src/plugins/SuperVanish/data.yml
|
||||
|
||||
src/plugins/CustomizablePlayerModels
|
||||
|
||||
src/plugins/CarbonChat/users
|
||||
src/plugins/CarbonChat/libraries
|
||||
|
||||
src/plugins/DiscordSRV/accounts.aof
|
||||
|
||||
src/plugins/BlueMap/data/web/maps
|
||||
src/plugins/BlueMap/data/logs
|
||||
src/plugins/BlueMap/data/minecraft-client-1.21.jar
|
||||
src/plugins/BMMarker/data
|
||||
|
||||
src/plugins/LibertyBans/internal
|
||||
|
||||
src/plugins/Chunky/tasks
|
||||
|
209
Dockerfile
Normal file
209
Dockerfile
Normal file
@ -0,0 +1,209 @@
|
||||
FROM sapmachine:21-jre-headless-ubuntu
|
||||
|
||||
|
||||
ENV WORKDIR_PATH=/workspace
|
||||
ENV CONFIG_PATH=${WORKDIR_PATH}/config
|
||||
ENV DATA_PATH=${WORKDIR_PATH}/data
|
||||
|
||||
ADD ./src ${CONFIG_PATH}
|
||||
RUN mkdir ${DATA_PATH}
|
||||
|
||||
|
||||
# Add symlinks to Minecraft default files
|
||||
RUN touch ${DATA_PATH}/banned-ips.json && \
|
||||
ln -sf ${DATA_PATH}/banned-ips.json ${CONFIG_PATH} && \
|
||||
touch ${DATA_PATH}/banned-players.json && \
|
||||
ln -sf ${DATA_PATH}/banned-players.json ${CONFIG_PATH} && \
|
||||
mkdir ${DATA_PATH}/logs && \
|
||||
ln -sf ${DATA_PATH}/logs ${CONFIG_PATH} && \
|
||||
touch ${DATA_PATH}/ops.json && \
|
||||
ln -sf ${DATA_PATH}/ops.json ${CONFIG_PATH} && \
|
||||
touch ${DATA_PATH}/usercache.json && \
|
||||
ln -sf ${DATA_PATH}/usercache.json ${CONFIG_PATH} && \
|
||||
touch ${DATA_PATH}/whitelist.json && \
|
||||
ln -sf ${DATA_PATH}/whitelist.json ${CONFIG_PATH} && \
|
||||
mkdir ${DATA_PATH}/world && \
|
||||
ln -sf ${DATA_PATH}/world ${CONFIG_PATH} && \
|
||||
mkdir ${DATA_PATH}/world_nether && \
|
||||
ln -sf ${DATA_PATH}/world_nether ${CONFIG_PATH} && \
|
||||
mkdir ${DATA_PATH}/world_the_end && \
|
||||
ln -sf ${DATA_PATH}/world_the_end ${CONFIG_PATH}
|
||||
|
||||
# Add symlinks to PlasmoVoice files
|
||||
RUN touch ${DATA_PATH}/pv-voice_mutes.json && \
|
||||
ln -sf ${DATA_PATH}/pv-voice_mutes.json \
|
||||
${CONFIG_PATH}/plugins/PlasmoVoice/voice_mutes.json
|
||||
|
||||
# Add symlinks to SuperVanish files
|
||||
RUN mkdir -p ${DATA_PATH}/SuperVanish && \
|
||||
touch ${DATA_PATH}/SuperVanish/data.yml && \
|
||||
ln -sf ${DATA_PATH}/SuperVanish/data.yml \
|
||||
${CONFIG_PATH}/plugins/SuperVanish/data.yml
|
||||
|
||||
# Add symlinks to CarbonChat files
|
||||
RUN mkdir -p ${DATA_PATH}/CarbonChat/users && \
|
||||
ln -sf ${DATA_PATH}/CarbonChat/users \
|
||||
${CONFIG_PATH}/plugins/CarbonChat/users
|
||||
|
||||
# Add symlinks to ImageFrame files
|
||||
RUN mkdir -p ${DATA_PATH}/ImageFrame/data && \
|
||||
ln -sf ${DATA_PATH}/ImageFrame/data/ \
|
||||
${CONFIG_PATH}/plugins/ImageFrame/data && \
|
||||
mkdir -p ${DATA_PATH}/ImageFrame/players && \
|
||||
ln -sf ${DATA_PATH}/ImageFrame/players/ \
|
||||
${CONFIG_PATH}/plugins/ImageFrame/players && \
|
||||
mkdir -p ${DATA_PATH}/ImageFrame/upload && \
|
||||
ln -sf ${DATA_PATH}/ImageFrame/upload/ \
|
||||
${CONFIG_PATH}/plugins/ImageFrame/upload
|
||||
|
||||
# Add symlinks to CusttomPlayerModels files
|
||||
RUN mkdir -p ${DATA_PATH}/CustomizablePlayerModels && \
|
||||
ln -sf ${DATA_PATH}/CustomizablePlayerModels/ \
|
||||
${CONFIG_PATH}/plugins/CustomizablePlayerModels
|
||||
|
||||
# Add symlinks to BlueMap files
|
||||
RUN mkdir -p ${DATA_PATH}/BlueMap/maps && \
|
||||
mkdir -p ${DATA_PATH}/BlueMap/logs && \
|
||||
ln -sf ${DATA_PATH}/BlueMap/maps \
|
||||
${CONFIG_PATH}/plugins/BlueMap/data/web/maps && \
|
||||
ln -sf ${DATA_PATH}/BlueMap/logs \
|
||||
${CONFIG_PATH}/plugins/BlueMap/data/logs
|
||||
RUN mkdir -p ${DATA_PATH}/BMMarker/data && \
|
||||
ln -sf ${DATA_PATH}/BMMarker/data \
|
||||
${CONFIG_PATH}/plugins/BMMarker/data
|
||||
|
||||
# Add symlinks to Chunky files
|
||||
RUN mkdir -p ${DATA_PATH}/Chunky/tasks && \
|
||||
ln -sf ${DATA_PATH}/Chunky/tasks \
|
||||
${CONFIG_PATH}/plugins/Chunky/tasks
|
||||
|
||||
# Generate unicode locale so that cyrillic characters display properly
|
||||
RUN apt-get update -y && apt-get install -y locales && \
|
||||
echo en_US.UTF-8 UTF-8 > /etc/locale.gen && \
|
||||
dpkg-reconfigure --frontend=noninteractive locales && \
|
||||
rm -Rf var/lib/apt/lists/*
|
||||
ENV LANG en_US.UTF-8
|
||||
|
||||
|
||||
VOLUME ${DATA_PATH}
|
||||
|
||||
|
||||
# Minecraft
|
||||
EXPOSE 25565/tcp
|
||||
# BlueMap
|
||||
EXPOSE 8100/tcp
|
||||
|
||||
|
||||
ENV GID=988
|
||||
ENV UID=999
|
||||
|
||||
ENV MEMORY=4G
|
||||
ENV PROXY_SECRET=00000000-0000-0000-0000-000000000000
|
||||
|
||||
ENV VOICE_SECRET=00000000-0000-0000-0000-000000000000
|
||||
|
||||
ENV LUCKPERMS_DB_HOST=127.0.0.1
|
||||
ENV LUCKPERMS_DB_PORT=3306
|
||||
ENV LUCKPERMS_DB_NAME=luckperms_db
|
||||
ENV LUCKPERMS_DB_USERNAME=luckperms
|
||||
ENV LUCKPERMS_DB_PASSWORD=0000
|
||||
|
||||
ENV SKINSRESTORER_DB_HOST=127.0.0.1
|
||||
ENV SKINSRESTORER_DB_PORT=3306
|
||||
ENV SKINSRESTORER_DB_NAME=skinsrestorer_db
|
||||
ENV SKINSRESTORER_DB_USERNAME=skinsrestorer
|
||||
ENV SKINSRESTORER_DB_PASSWORD=0000
|
||||
|
||||
ENV COREPROTECT_DB_HOST=127.0.0.1
|
||||
ENV COREPROTECT_DB_PORT=3306
|
||||
ENV COREPROTECT_DB_NAME=coreprotect_db
|
||||
ENV COREPROTECT_DB_USERNAME=coreprotect
|
||||
ENV COREPROTECT_DB_PASSWORD=0000
|
||||
|
||||
ENV LIBERTYBANS_DB_HOST=127.0.0.1
|
||||
ENV LIBERTYBANS_DB_PORT=3306
|
||||
ENV LIBERTYBANS_DB_NAME=libertybans_db
|
||||
ENV LIBERTYBANS_DB_USERNAME=libertybans
|
||||
ENV LIBERTYBANS_DB_PASSWORD=0000
|
||||
|
||||
ENV GRIM_DB_HOST=127.0.0.1
|
||||
ENV GRIM_DB_PORT=3306
|
||||
ENV GRIM_DB_NAME=luckperms
|
||||
ENV GRIM_DB_USERNAME=luckperms
|
||||
ENV GRIM_DB_PASSWORD=0000
|
||||
|
||||
ENV DISCORDSRV_BOT_TOKEN=dummy-token
|
||||
|
||||
ENV DISCORDSRV_DB_HOST=127.0.0.1
|
||||
ENV DISCORDSRV_DB_PORT=3306
|
||||
ENV DISCORDSRV_DB_NAME=discordsrv_db
|
||||
ENV DISCORDSRV_DB_USERNAME=discordsrv
|
||||
ENV DISCORDSRV_DB_PASSWORD=0000
|
||||
|
||||
|
||||
WORKDIR ${WORKDIR_PATH}/config
|
||||
|
||||
CMD \
|
||||
# Create and switch to user with desired UID and GID.
|
||||
# All processes that create/change files in ${DATA_PATH}
|
||||
# must be run under this user.
|
||||
groupadd -g ${GID} worker && \
|
||||
useradd -M -g ${GID} -u ${UID} worker && \
|
||||
chmod -R o-rwx ${WORKDIR_PATH} && \
|
||||
|
||||
# Add proxy secret
|
||||
sed -i "s/_PROXY_SECRET_/${PROXY_SECRET}/g" config/paper-global.yml && \
|
||||
|
||||
# Add Plasmo Voice secret
|
||||
cat plugins/PlasmoVoice/forwarding-secret | sed "s/00000000-0000-0000-0000-000000000000/${VOICE_SECRET}/g" | tr -d '\n' > plugins/PlasmoVoice/forwarding-secret.tmp && mv -T -f plugins/PlasmoVoice/forwarding-secret.tmp plugins/PlasmoVoice/forwarding-secret && \
|
||||
|
||||
# Add luckperms database secrets
|
||||
sed -i "s/_LUCKPERMS_DB_HOST_/${LUCKPERMS_DB_HOST}/g" plugins/LuckPerms/config.yml && \
|
||||
sed -i "s/_LUCKPERMS_DB_PORT_/${LUCKPERMS_DB_PORT}/g" plugins/LuckPerms/config.yml && \
|
||||
sed -i "s/_LUCKPERMS_DB_NAME_/${LUCKPERMS_DB_NAME}/g" plugins/LuckPerms/config.yml && \
|
||||
sed -i "s/_LUCKPERMS_DB_USERNAME_/${LUCKPERMS_DB_USERNAME}/g" plugins/LuckPerms/config.yml && \
|
||||
sed -i "s/_LUCKPERMS_DB_PASSWORD_/${LUCKPERMS_DB_PASSWORD}/g" plugins/LuckPerms/config.yml && \
|
||||
|
||||
# Add database info to skinsrestorer config
|
||||
sed -i "s/_SKINSRESTORER_DB_HOST_/${SKINSRESTORER_DB_HOST}/g" plugins/SkinsRestorer/config.yml && \
|
||||
sed -i "s/_SKINSRESTORER_DB_PORT_/${SKINSRESTORER_DB_PORT}/g" plugins/SkinsRestorer/config.yml && \
|
||||
sed -i "s/_SKINSRESTORER_DB_NAME_/${SKINSRESTORER_DB_NAME}/g" plugins/SkinsRestorer/config.yml && \
|
||||
sed -i "s/_SKINSRESTORER_DB_USERNAME_/${SKINSRESTORER_DB_USERNAME}/g" plugins/SkinsRestorer/config.yml && \
|
||||
sed -i "s/_SKINSRESTORER_DB_PASSWORD_/${SKINSRESTORER_DB_PASSWORD}/g" plugins/SkinsRestorer/config.yml && \
|
||||
|
||||
# Add coreprotect database secrets
|
||||
sed -i "s/_COREPROTECT_DB_HOST_/${COREPROTECT_DB_HOST}/g" plugins/CoreProtect/config.yml && \
|
||||
sed -i "s/_COREPROTECT_DB_PORT_/${COREPROTECT_DB_PORT}/g" plugins/CoreProtect/config.yml && \
|
||||
sed -i "s/_COREPROTECT_DB_NAME_/${COREPROTECT_DB_NAME}/g" plugins/CoreProtect/config.yml && \
|
||||
sed -i "s/_COREPROTECT_DB_USERNAME_/${COREPROTECT_DB_USERNAME}/g" plugins/CoreProtect/config.yml && \
|
||||
sed -i "s/_COREPROTECT_DB_PASSWORD_/${COREPROTECT_DB_PASSWORD}/g" plugins/CoreProtect/config.yml && \
|
||||
|
||||
# Add grim database secrets
|
||||
sed -i "s/_GRIM_DB_HOST_/${GRIM_DB_HOST}/g" plugins/GrimAC/config.yml && \
|
||||
sed -i "s/_GRIM_DB_PORT_/${GRIM_DB_PORT}/g" plugins/GrimAC/config.yml && \
|
||||
sed -i "s/_GRIM_DB_NAME_/${GRIM_DB_NAME}/g" plugins/GrimAC/config.yml && \
|
||||
sed -i "s/_GRIM_DB_USERNAME_/${GRIM_DB_USERNAME}/g" plugins/GrimAC/config.yml && \
|
||||
sed -i "s/_GRIM_DB_PASSWORD_/${GRIM_DB_PASSWORD}/g" plugins/GrimAC/config.yml && \
|
||||
|
||||
# Add libertybans database secrets
|
||||
sed -i "s/_LIBERTYBANS_DB_HOST_/${LIBERTYBANS_DB_HOST}/g" plugins/LibertyBans/sql.yml && \
|
||||
sed -i "s/_LIBERTYBANS_DB_PORT_/${LIBERTYBANS_DB_PORT}/g" plugins/LibertyBans/sql.yml && \
|
||||
sed -i "s/_LIBERTYBANS_DB_NAME_/${LIBERTYBANS_DB_NAME}/g" plugins/LibertyBans/sql.yml && \
|
||||
sed -i "s/_LIBERTYBANS_DB_USERNAME_/${LIBERTYBANS_DB_USERNAME}/g" plugins/LibertyBans/sql.yml && \
|
||||
sed -i "s/_LIBERTYBANS_DB_PASSWORD_/${LIBERTYBANS_DB_PASSWORD}/g" plugins/LibertyBans/sql.yml && \
|
||||
|
||||
# Add DiscordSRV bot token
|
||||
sed -i "s/_DISCORDSRV_BOT_TOKEN_/${DISCORDSRV_BOT_TOKEN}/g" plugins/DiscordSRV/config.yml && \
|
||||
|
||||
# Add database info to DiscordSRV config
|
||||
sed -i "s/_DISCORDSRV_DB_HOST_/${DISCORDSRV_DB_HOST}/g" plugins/DiscordSRV/config.yml && \
|
||||
sed -i "s/_DISCORDSRV_DB_PORT_/${DISCORDSRV_DB_PORT}/g" plugins/DiscordSRV/config.yml && \
|
||||
sed -i "s/_DISCORDSRV_DB_NAME_/${DISCORDSRV_DB_NAME}/g" plugins/DiscordSRV/config.yml && \
|
||||
sed -i "s/_DISCORDSRV_DB_USERNAME_/${DISCORDSRV_DB_USERNAME}/g" plugins/DiscordSRV/config.yml && \
|
||||
sed -i "s/_DISCORDSRV_DB_PASSWORD_/${DISCORDSRV_DB_PASSWORD}/g" plugins/DiscordSRV/config.yml && \
|
||||
|
||||
# Change UID and GID of used files to desired values.
|
||||
chown -R worker:worker ${WORKDIR_PATH} && \
|
||||
|
||||
# Launch
|
||||
su worker -c "java -Xms${MEMORY} -Xmx${MEMORY} -jar *.jar -nogui"
|
@ -1,5 +0,0 @@
|
||||
{
|
||||
"hashes": {},
|
||||
"skippedHashes": [],
|
||||
"mappingsHash": "AE6205D8CCC4573215AB10065342F9C15433E2CFEFB33BEAB6CA4A7E12AEF02D"
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
{
|
||||
"hashes": {},
|
||||
"skippedHashes": [],
|
||||
"mappingsHash": "AE6205D8CCC4573215AB10065342F9C15433E2CFEFB33BEAB6CA4A7E12AEF02D"
|
||||
}
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -1,5 +0,0 @@
|
||||
{
|
||||
"hashes": {},
|
||||
"skippedHashes": [],
|
||||
"mappingsHash": "AE6205D8CCC4573215AB10065342F9C15433E2CFEFB33BEAB6CA4A7E12AEF02D"
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
# What is this directory?
|
||||
|
||||
* In order to perform certain functions, spark sometimes needs to write temporary data to the disk.
|
||||
* Previously, a temporary directory provided by the operating system was used for this purpose.
|
||||
* However, this proved to be unreliable in some circumstances, so spark now stores temporary data here instead!
|
||||
|
||||
spark will automatically cleanup the contents of this directory.
|
||||
(but if for some reason it doesn't, if the server is stopped, you can freely delete any files ending in .tmp)
|
||||
|
||||
tl;dr: spark uses this folder to store some temporary data.
|
@ -1,5 +1,6 @@
|
||||
# https://bukkit.fandom.com/wiki/Bukkit.yml
|
||||
settings:
|
||||
allow-end: true
|
||||
allow-end: false
|
||||
warn-on-overload: true
|
||||
permissions-file: permissions.yml
|
||||
update-folder: update
|
||||
@ -21,12 +22,12 @@ spawn-limits:
|
||||
chunk-gc:
|
||||
period-in-ticks: 600
|
||||
ticks-per:
|
||||
animal-spawns: 400
|
||||
monster-spawns: 1
|
||||
water-spawns: 1
|
||||
water-ambient-spawns: 1
|
||||
water-underground-creature-spawns: 1
|
||||
axolotl-spawns: 1
|
||||
ambient-spawns: 1
|
||||
animal-spawns: -1
|
||||
monster-spawns: -1
|
||||
water-spawns: -1
|
||||
water-ambient-spawns: -1
|
||||
water-underground-creature-spawns: -1
|
||||
axolotl-spawns: -1
|
||||
ambient-spawns: -1
|
||||
autosave: 6000
|
||||
aliases: now-in-commands.yml
|
@ -95,9 +95,9 @@ proxies:
|
||||
online-mode: true
|
||||
proxy-protocol: false
|
||||
velocity:
|
||||
enabled: false
|
||||
online-mode: true
|
||||
secret: ''
|
||||
enabled: true
|
||||
online-mode: false
|
||||
secret: _PROXY_SECRET_
|
||||
scoreboards:
|
||||
save-empty-scoreboard-teams: true
|
||||
track-plugin-scoreboards: false
|
||||
@ -122,14 +122,15 @@ timings:
|
||||
url: https://timings.aikar.co/
|
||||
verbose: true
|
||||
unsupported-settings:
|
||||
allow-headless-pistons: false
|
||||
allow-permanent-block-break-exploits: false
|
||||
allow-piston-duplication: false
|
||||
allow-tripwire-disarming-exploits: false
|
||||
allow-unsafe-end-portal-teleportation: false
|
||||
allow-headless-pistons: true
|
||||
allow-permanent-block-break-exploits: true
|
||||
allow-piston-duplication: true
|
||||
allow-tripwire-disarming-exploits: true
|
||||
allow-unsafe-end-portal-teleportation: true
|
||||
compression-format: ZLIB
|
||||
perform-username-validation: true
|
||||
perform-username-validation: false
|
||||
skip-vanilla-damage-tick-when-shield-blocked: false
|
||||
update-equipment-on-player-actions: false
|
||||
watchdog:
|
||||
early-warning-delay: 10000
|
||||
early-warning-every: 5000
|
@ -56,7 +56,7 @@ anticheat:
|
||||
hide-itemmeta-with-visual-effects: false
|
||||
chunks:
|
||||
auto-save-interval: default
|
||||
delay-chunk-unloads-by: 10s
|
||||
delay-chunk-unloads-by: 0s
|
||||
entity-per-chunk-save-limit:
|
||||
arrow: -1
|
||||
ender_pearl: -1
|
||||
@ -65,14 +65,14 @@ chunks:
|
||||
small_fireball: -1
|
||||
snowball: -1
|
||||
fixed-chunk-inhabited-time: -1
|
||||
flush-regions-on-save: false
|
||||
max-auto-save-chunks-per-tick: 24
|
||||
flush-regions-on-save: true
|
||||
max-auto-save-chunks-per-tick: 200
|
||||
prevent-moving-into-unloaded-chunks: false
|
||||
collisions:
|
||||
allow-player-cramming-damage: false
|
||||
allow-player-cramming-damage: true
|
||||
allow-vehicle-collisions: true
|
||||
fix-climbing-bypassing-cramming-rule: false
|
||||
max-entity-collisions: 8
|
||||
max-entity-collisions: 4096
|
||||
only-players-collide: false
|
||||
command-blocks:
|
||||
force-follow-perm-level: true
|
||||
@ -80,8 +80,10 @@ command-blocks:
|
||||
entities:
|
||||
armor-stands:
|
||||
do-collision-entity-lookups: true
|
||||
tick: true
|
||||
tick: false
|
||||
behavior:
|
||||
cooldown-failed-beehive-releases: false
|
||||
only-merge-items-horizontally: true
|
||||
allow-spider-world-border-climbing: true
|
||||
baby-zombie-movement-modifier: 0.5
|
||||
disable-chest-cat-detection: false
|
||||
@ -105,9 +107,9 @@ entities:
|
||||
skeletons: false
|
||||
zombies: false
|
||||
nerf-pigmen-from-nether-portals: false
|
||||
parrots-are-unaffected-by-player-movement: false
|
||||
parrots-are-unaffected-by-player-movement: true
|
||||
phantoms-do-not-spawn-on-creative-players: true
|
||||
phantoms-only-attack-insomniacs: true
|
||||
phantoms-only-attack-insomniacs: false
|
||||
phantoms-spawn-attempt-max-seconds: 119
|
||||
phantoms-spawn-attempt-min-seconds: 60
|
||||
piglins-guard-chests: true
|
||||
@ -173,13 +175,8 @@ entities:
|
||||
duplicate-uuid:
|
||||
mode: SAFE_REGEN
|
||||
safe-regen-delete-range: 32
|
||||
filter-bad-tile-entity-nbt-from-falling-blocks: true
|
||||
filtered-entity-tag-nbt-paths:
|
||||
- Pos
|
||||
- Motion
|
||||
- SleepingX
|
||||
- SleepingY
|
||||
- SleepingZ
|
||||
filter-bad-tile-entity-nbt-from-falling-blocks: false
|
||||
filtered-entity-tag-nbt-paths: []
|
||||
iron-golems-can-spawn-in-air: false
|
||||
monster-spawn-max-light-level: default
|
||||
non-player-arrow-despawn-rate: default
|
||||
@ -241,7 +238,7 @@ environment:
|
||||
max-block-ticks: 65536
|
||||
max-fluid-ticks: 65536
|
||||
nether-ceiling-void-damage-height: disabled
|
||||
optimize-explosions: false
|
||||
optimize-explosions: true
|
||||
portal-create-radius: 16
|
||||
portal-search-radius: 128
|
||||
portal-search-vanilla-dimension-scaling: true
|
||||
@ -257,14 +254,14 @@ fishing-time-range:
|
||||
maximum: 600
|
||||
minimum: 100
|
||||
fixes:
|
||||
disable-unloaded-chunk-enderpearl-exploit: true
|
||||
disable-unloaded-chunk-enderpearl-exploit: false
|
||||
falling-block-height-nerf: disabled
|
||||
fix-items-merging-through-walls: false
|
||||
prevent-tnt-from-moving-in-water: false
|
||||
split-overstacked-loot: true
|
||||
tnt-entity-height-nerf: disabled
|
||||
hopper:
|
||||
cooldown-when-full: true
|
||||
cooldown-when-full: false
|
||||
disable-move-event: false
|
||||
ignore-occluding-blocks: false
|
||||
lootables:
|
||||
@ -293,7 +290,7 @@ misc:
|
||||
redstone-implementation: VANILLA
|
||||
shield-blocking-delay: 5
|
||||
show-sign-click-command-failure-msgs-to-player: false
|
||||
update-pathfinding-on-block-update: true
|
||||
update-pathfinding-on-block-update: false
|
||||
scoreboards:
|
||||
allow-non-player-entities-on-scoreboards: true
|
||||
use-vanilla-world-scoreboard-name-coloring: false
|
||||
@ -312,5 +309,5 @@ tick-rates:
|
||||
secondarypoisensor: 40
|
||||
wet-farmland: 1
|
||||
unsupported-settings:
|
||||
disable-world-ticking-when-empty: false
|
||||
disable-world-ticking-when-empty: true
|
||||
fix-invulnerable-end-crystal-exploit: true
|
BIN
src/plugins/ArmorPoser-Plugin-1.0.2.jar
(Stored with Git LFS)
Normal file
BIN
src/plugins/ArmorPoser-Plugin-1.0.2.jar
(Stored with Git LFS)
Normal file
Binary file not shown.
125
src/plugins/BMMarker/language/de.yml
Normal file
125
src/plugins/BMMarker/language/de.yml
Normal file
@ -0,0 +1,125 @@
|
||||
#----------------------- Translation ------------------------#
|
||||
# Content of all messages in BlueMap-Marker. #
|
||||
#------------------------------------------------------------#
|
||||
# Some messages support MiniMessage styling (marked with #m) #
|
||||
# and extra variables (marked with #v). #
|
||||
# Syntax: <input-i> -> #
|
||||
# i is a number from 0 to the message max #
|
||||
#------------------------------------------------------------#
|
||||
|
||||
creator: Miraculixx
|
||||
version: 1.0.0
|
||||
|
||||
#-----------------------------------------#
|
||||
# Common Translations #
|
||||
# Translation keys that persist in every #
|
||||
# project for simple values #
|
||||
#-----------------------------------------#
|
||||
common:
|
||||
cancel: "Abbrechen"
|
||||
build: "Erstellen"
|
||||
or: "oder"
|
||||
notSet: "Nicht gesetzt"
|
||||
use: "Nutze"
|
||||
|
||||
|
||||
#-----------------------------------------#
|
||||
# Command Responses #
|
||||
# Translation keys that fires on command #
|
||||
# executions and help #
|
||||
#-----------------------------------------#
|
||||
command:
|
||||
alreadyStarted: "<red>Du hast bereits angefangen einen Marker zu erstellen!" #m
|
||||
alreadyStarted2: "<red> vor dem neuerstellen!" #m (Cancel or build ...)
|
||||
notValidMarker: "<red>Dies ist kein valider Marker! (<input-1>)" #m #v1
|
||||
notValidSet: "<red>Ungültige set-ID oder Map Name! (<input-1> - <input-2>)" #m #v2
|
||||
mustProvideID: "<red>Bitte gebe eine Marker ID und ein Markerset an!" #m
|
||||
mustProvideIDSet: "<red>Bitte gebe eine marker-set ID und eine Zielwelt an!" #m
|
||||
mustAlphanumeric: "<red>IDs müssen alphanumerisch sein (nur Buchstaben und Zahlen)" #m
|
||||
switchLang: "<green>Die Sprache wurde zu Deutsch gewechselt!" #m
|
||||
switchLangFailed: "<red>Deine angegebene Sprache existiert nicht!" #m
|
||||
createMarker: "<gray>Marker<input-1> setup gestartet! Änderer Werte mit " #m #v1 (using <command> ...)
|
||||
createMarker2: "<gray> und bestätige dein setup mit " #m (<command> ... <command>)
|
||||
createdMarker: "<green>Marker erstellt! Es sollte in ein paar Sekunden auf deiner BlueMap erscheinen" #m
|
||||
createdSet: "<green>Marker-Set erstellt! Nutze es um neue Marker drin zu erstellen mit "
|
||||
deleteMarker: "<gray>Erfolgreich <color:#6e94ff><input-1></color> marker gelöscht! Es sollte in ein paar Sekunden auf deiner BlueMap verschwinden" #m #v1
|
||||
deleteSet: "<gray>Erfolgreich <color:#6e94ff><input-1></color> marker-set gelöscht! Es sollte in ein paar Sekunden auf deiner BlueMap verschwinden" #m #v1
|
||||
confirmDelete: "<red>Bist du dir wirklich sicher das '<input-1>' set auf der Map '<input-2>' zu löschen? Bitte bestätige es mit " #m #v2
|
||||
idAlreadyExist: "<red>Die ID <u><input-1></u> existiert bereits in dem set/der Welt!" #m #v1
|
||||
markerReplaced: "<grey>Der alte Marker wird ersetzt mit dem neuen..." #m
|
||||
canceledSetup: "<grey>Aktuelles Marker<input-1> setup abgebrochen!" #m #v1
|
||||
notValidPlayer: "<red>Konnte den angegebenen Spieler nicht finden!" #m
|
||||
changedVisibility: "<grey><color:#6e94ff><input-1></color> ist jetzt <input-2> auf deiner BlueMap" #m #v2
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------#
|
||||
# Creator Messages #
|
||||
# Translation keys that are used while #
|
||||
# creating markers(set) #
|
||||
#-----------------------------------------#
|
||||
event:
|
||||
currentSetup: "Der aktuelle Erstellungsstatus (<input-1>)" #v1
|
||||
buildHover: "Erstelle neuen Marker mit den\neingestellten Einstellungen. Rote Werte\nsind Pflicht!"
|
||||
cancelHover: "Breche das aktuelle Erstellen ab.\nDies löscht alle gesetzten Werte!"
|
||||
clickToAdd: "Klicke um einen Wert hinzuzufügen"
|
||||
|
||||
|
||||
#-----------------------------------------#
|
||||
# Arguments #
|
||||
# Translation keys for all modifiers #
|
||||
# to create markers(set) #
|
||||
#-----------------------------------------#
|
||||
arg:
|
||||
ID: "ID"
|
||||
MARKER_SET: "MARKER SET"
|
||||
POSITION: "POSITION"
|
||||
LABEL: "NAME"
|
||||
ICON: "BILD"
|
||||
ANCHOR: "ANKER"
|
||||
MAX_DISTANCE: "MAX DISTANZ"
|
||||
MIN_DISTANCE: "MIN DISTANZ"
|
||||
ADD_POSITION: "NEUE POSITION"
|
||||
ADD_EDGE: "NEUE ECKE"
|
||||
DETAIL: "BESCHREIBUNG"
|
||||
LINK: "LINK"
|
||||
NEW_TAB: "NEUER TAB"
|
||||
DEPTH_TEST: "TIEFEN TEST"
|
||||
LINE_WIDTH: "LINIEN DICKE"
|
||||
LINE_COLOR: "LINIEN FARBE"
|
||||
FILL_COLOR: "FÜLLFARBE"
|
||||
HEIGHT: "HÖHE"
|
||||
MAX_HEIGHT: "MAX HÖHE"
|
||||
POINTS: "PUNKTE"
|
||||
X_RADIUS: "RADIUS X"
|
||||
Z_RADIUS: "RADIUS Z"
|
||||
MAP: "MAP"
|
||||
TOGGLEABLE: "ÄNDERBAR"
|
||||
DEFAULT_HIDDEN: "DEFAULT VERSTECKT"
|
||||
|
||||
arg-desc:
|
||||
ID: "Interne ID für den Zugriff auf den Marker(-set)"
|
||||
MARKER_SET: "Markerset, in dem die Markierung\ngespeichert werden soll (Welt)"
|
||||
POSITION: "Position wo der Marker gesetzt\nwird. (NICHT die Welt)"
|
||||
LABEL: "Angezeigter Name in der Marker Liste/Menü"
|
||||
ICON: "Bild URL für ein angezeigtes Bild\nbei der gegebenen Position (POI exklusiv)"
|
||||
ANCHOR: "Verschiebung für das angezeigte \nBild/Html Code (in Pixel)"
|
||||
MAX_DISTANCE: "Max Distanz zu der Kamera\nbei welcher der Marker sichtbar ist"
|
||||
MIN_DISTANCE: "Min Distanz zu der Kamera\nbei welcher der Marker sichtbar ist"
|
||||
ADD_POSITION: "Füge neue Positionen zum Marker\nhinzu um die Linie zu bilden (Line exklusiv)"
|
||||
ADD_EDGE: "Füge neue Ecken zu dem Marker\nhinzu um die Form zu bilden"
|
||||
DETAIL: "Beschreibung welche sichtbar ist\nbeim anklicken"
|
||||
LINK: "Eine Verlinkung beim anklicken"
|
||||
NEW_TAB: "Ob der angeklickte Link in einem\nneuen Tab geöffnet werden soll oder im selben"
|
||||
DEPTH_TEST: "Wenn false, wird der Marker immer über allem\nangezeigt. Andernfalls respektiert er blockierende Ebenen."
|
||||
LINE_WIDTH: "Die Dicke der Umrandung/Linie (in Pixel)"
|
||||
LINE_COLOR: "Farbe der Umrandung/Linie (RGBA)\n- https://htmlcolorcodes.com -"
|
||||
FILL_COLOR: "Farbe des inneres Feldes (RGBA)\n- https://htmlcolorcodes.com -"
|
||||
HEIGHT: "Die minimale Höhe des Markierungsfeldes.\nDefinitionshöhe für Form Marker"
|
||||
MAX_HEIGHT: "Die maximale Höhe des Markerfelds.\nFür eine flache Form auf dieselbe Y-Höhe/Position eingestellt."
|
||||
POINTS: "Die Anzahl der Punkte, die zum Rendern des\nKreises/der Ellipse verwendet werden. Mehr Punkte\nerzeugen sauberere Ränder, aber zu viele\nPunkte beeinträchtigen die Leistung!"
|
||||
X_RADIUS: "Der Ellipsen Radius in der +-x Richtung"
|
||||
Z_RADIUS: "Der Ellipsen Radius in der +-z Richtung"
|
||||
MAP: "Ziel BlueMap Map\nDies ist nicht die Welt!"
|
||||
TOGGLEABLE: "Wenn true kann das Marker-Set im\nMenü aktiviert oder deaktiviert werden"
|
||||
DEFAULT_HIDDEN: "Wenn true ist das Marker-Set standardmäßig\nausgeblendet und kann vom Benutzer aktiviert werden.\nWenn 'ÄNDERBAR' false ist, ist dies der erzwungene Zustand"
|
159
src/plugins/BMMarker/language/en.yml
Normal file
159
src/plugins/BMMarker/language/en.yml
Normal file
@ -0,0 +1,159 @@
|
||||
#----------------------- Translation ------------------------#
|
||||
# Content of all messages in BlueMap-Marker. #
|
||||
#------------------------------------------------------------#
|
||||
# Some messages support MiniMessage styling (marked with #m) #
|
||||
# and extra variables (marked with #v). #
|
||||
# Syntax: <input-i> -> #
|
||||
# i is a number from 0 to the message max #
|
||||
#------------------------------------------------------------#
|
||||
|
||||
creator: Miraculixx
|
||||
version: 1.0.0
|
||||
|
||||
#-----------------------------------------#
|
||||
# Common Translations #
|
||||
# Translation keys that persist in every #
|
||||
# project for simple values #
|
||||
#-----------------------------------------#
|
||||
common:
|
||||
cancel: "Cancel"
|
||||
build: "Build"
|
||||
or: "or"
|
||||
notSet: "Not Set"
|
||||
use: "Use"
|
||||
|
||||
|
||||
#-----------------------------------------#
|
||||
# Command Responses #
|
||||
# Translation keys that fires on command #
|
||||
# executions and help #
|
||||
#-----------------------------------------#
|
||||
command:
|
||||
alreadyStarted: "<red>You already started a marker setup!" #m
|
||||
alreadyStarted2: "<red> it before creating a new one" #m (Cancel or build ...)
|
||||
notValidMarker: "<red>This is not a valid marker! (<input-1>)" #m #v1
|
||||
notValidSet: "<red>Invalid set-ID or map name! (<input-1> - <input-2>)" #m #v2
|
||||
mustProvideID: "<red>Please provide a marker ID!" #m
|
||||
mustProvideIDSet: "<red>Please provide a marker-set ID and a target world!" #m
|
||||
mustAlphanumeric: "<red>IDs must be alphanumeric (only contains letters and numbers)" #m
|
||||
switchLang: "<green>Switched language to <u>en_US</u>!" #m
|
||||
switchLangFailed: "<red>Your provided language does not exist!" #m
|
||||
createMarker: "<gray>Marker<input-1> setup started! Modify values using " #m #v1 (using <command> ...)
|
||||
createMarker2: "<gray> and finish your setup with " #m (<command> ... <command>)
|
||||
createdMarker: "<green>Marker created! It should appear on your BlueMap in a few seconds" #m
|
||||
createdSet: "<green>Marker-Set created! Use it to add new markers inside this set with "
|
||||
deleteMarker: "<gray>Successfully deleted <color:#6e94ff><input-1></color> marker! It should disappear from your BlueMap in a few seconds" #m #v1
|
||||
deleteSet: "<gray>Successfully deleted <color:#6e94ff><input-1></color> marker-set! It should disappear from your BlueMap in a few seconds" #m #v1
|
||||
confirmDelete: "<red>Are you really sure you want to delete the '<input-1>' set on map '<input-2>'? Please confirm by typing " #m #v2
|
||||
idAlreadyExist: "<red>The ID <u><input-1></u> already exist in this set/world!" #m #v1
|
||||
canceledSetup: "<grey>Canceled current marker<input-1> setup!" #m #v1
|
||||
notValidPlayer: "<red>Could not found given player!" #m
|
||||
changedVisibility: "<grey><color:#6e94ff><input-1></color> is now <input-2> on your BlueMap" #m #v2
|
||||
setNotFound: "<red>Could not find the marker-set with the ID <u><input-1></u>! (/<input-2> set-create)" #m #v1
|
||||
mapNotFound: "<red>Could not find the map with the name <u><input-1></u>!" #m #v1
|
||||
missingImportant: "<red>Missing one or more important values! Please fill in all red marked values" #m
|
||||
selectMap: "<gray>Select a BlueMap-Map:" #m
|
||||
selectSet: "<gray>Select a Marker-Set:" #m
|
||||
noSets: "<red>There are no marker-sets in map <input-1>! (/<input-2> set-create)" #m #v1
|
||||
notYourSet: "<red>You are not the owner of this marker-set!" #m
|
||||
notYourMarker: "<red>You are not the owner of this marker!" #m
|
||||
maxMarkers: "<red>You reached your maximum amount of markers in this set! (<input-1>)" #m #v1
|
||||
maxSets: "<red>You reached your maximum amount of marker-sets in this map! (<input-1>)" #m #v1
|
||||
notTeleportMarker: "<red>This marker is not setup to be teleportable!" #m
|
||||
teleportMarker: "<green>Teleported to the marker <u><input-1></u>!" #m #v1
|
||||
settings:
|
||||
current: "<gray>Current value: <color:#6e94ff><input-1></color>" #m #v1
|
||||
changed: "<gray>Changed value to: <color:#6e94ff><input-1></color>" #m #v1
|
||||
template:
|
||||
help: "<gray>Templates are a powerful tool to create markers faster or automated. They can be a bit complicated to setup first, so feel free to <click:open_url:'https://discord.gg/zmkyJa3'><u>ask me</u></click> for help :)\n\n- Templates have their own custom command <blue>(/id)</blue>\n- Templates need their own set <blue>(/id edit set)</blue>\n- Can contain multiple \"template\" marker <blue>(/id edit marker)</blue>\n- Can be automated by certain events <blue>(/id edit automate)</blue>"
|
||||
help-marker: "<gray>Template markers are just like normal markers, but they do not appear on the map. They can be put on the map by a single command <blue>(/id mark <marker-id>)</blue>.\n\n- Markers will copy the position of target\n- Label & detail supports placeholder <blue>(%NAME%)</blue>"
|
||||
create: "<green>Template created! Use <u>/<input-1> edit <...></u> to add new template markers, rules and more" #m #v1
|
||||
delete: "<red>Template <input-1> deleted with all associated markers and sets!" #m #v1
|
||||
setArg: "<green>Applied new value <color:#6e94ff><input-1></color>" #m #v1
|
||||
addTemplateMarker: "<green>Added template marker <input-1> to the template! You can now quick place or automate it.\n" #m #v1
|
||||
removeMarkerTemplate: "<gray>Removed template <color:#6e94ff><input-1></color> and all placed markers to it." #m #v1
|
||||
updateMarker: "<green>Updated template marker <input-1> and all placed markers!" #m #v1
|
||||
noValidTemplate: "<red><input-1> is not a valid template in this set!" #m #v1
|
||||
invalidWorld: "<red>The set is not available in your current world!" #m
|
||||
place: "<green>New <input-1> marker placed!" #m #v1
|
||||
unplace: "<red>Removed your <input-1> marker!" #m #v1
|
||||
mapAlreadyAdded: "<red>The map <input-1> is already added to the template!" #m #v1
|
||||
mapNotAdded: "<red>The map <input-1> is not added to the template!" #m #v1
|
||||
addMap: "<green>Added map <input-1> to the template! <grey>(This action didn't cloned existing markers)" #m #v1
|
||||
confirmRemoval: "<grey>Are you sure you want to <red>delete</red> this template set? This will also delete <red>all markers inside</red>!\n\nConfirm with <red><u><input-1>"
|
||||
|
||||
|
||||
#-----------------------------------------#
|
||||
# Command Responses #
|
||||
# Translation keys that fires on command #
|
||||
# executions and help #
|
||||
#-----------------------------------------#
|
||||
event:
|
||||
currentSetup: "Your current setup state (<input-1>)" #v1
|
||||
buildHover: "Build a new marker with applied\nsettings. Red highlighted values\nare required!"
|
||||
cancelHover: "Cancel the current marker builder.\nThis will delete all your values!"
|
||||
clickToAdd: "Click to add a value"
|
||||
|
||||
|
||||
#-----------------------------------------#
|
||||
# Creator Messages #
|
||||
# Translation keys that are used while #
|
||||
# creating markers(set) #
|
||||
#-----------------------------------------#
|
||||
arg:
|
||||
ID: "ID"
|
||||
MARKER_SET: "MARKER SET"
|
||||
POSITION: "POSITION"
|
||||
LABEL: "LABEL"
|
||||
ICON: "ICON"
|
||||
ANCHOR: "ANCHOR"
|
||||
MAX_DISTANCE: "MAX DISTANCE"
|
||||
MIN_DISTANCE: "MIN DISTANCE"
|
||||
ADD_POSITION: "ADD POSITION"
|
||||
ADD_EDGE: "ADD EDGE"
|
||||
DETAIL: "DETAIL"
|
||||
LINK: "LINK"
|
||||
NEW_TAB: "NEW TAB"
|
||||
DEPTH_TEST: "DEPTH TEST"
|
||||
LINE_WIDTH: "LINE WIDTH"
|
||||
LINE_COLOR: "LINE COLOR"
|
||||
FILL_COLOR: "FILL COLOR"
|
||||
HEIGHT: "HEIGHT"
|
||||
MAX_HEIGHT: "MAX HEIGHT"
|
||||
POINTS: "POINTS"
|
||||
X_RADIUS: "RADIUS X"
|
||||
Z_RADIUS: "RADIUS Z"
|
||||
MAP: "MAP"
|
||||
TOGGLEABLE: "TOGGLEABLE"
|
||||
DEFAULT_HIDDEN: "DEFAULT HIDDEN"
|
||||
LISTED: "LISTED"
|
||||
LISTING_POSITION: "LISTING POSITION"
|
||||
|
||||
arg-desc:
|
||||
ID: "Internal ID to access the marker(-set)"
|
||||
MARKER_SET: "Target marker-set where the marker\nshould be stored (provides world)"
|
||||
POSITION: "Position where the marker will be \nplaced. (NOT the world)"
|
||||
LABEL: "Displayed label in the marker menu"
|
||||
ICON: "Image URL for displayed image on\ngiven position (POI exclusive)"
|
||||
ANCHOR: "Offset for displayed image/html code (in pixel)"
|
||||
MAX_DISTANCE: "Max distance to the camera at\nwhich the marker is shown"
|
||||
MIN_DISTANCE: "Min distance to the camera at\nwhich the marker is shown"
|
||||
ADD_POSITION: "Add more positions to a marker\nto define the path (Line exclusive)"
|
||||
ADD_EDGE: "Add more edges to a marker\nto define the shape"
|
||||
DETAIL: "Description that is shown on marker click"
|
||||
LINK: "A redirect link on marker click"
|
||||
NEW_TAB: "If the redirect link is opened\nin a new tab or replace BlueMap tab"
|
||||
DEPTH_TEST: "If false the marker will always\nrender above everything. Otherwise\nit will respect blocking layers"
|
||||
LINE_WIDTH: "The width of the line/outline (in pixel)"
|
||||
LINE_COLOR: "Color of the line/outline (RGBA)\n- https://htmlcolorcodes.com -"
|
||||
FILL_COLOR: "Color of the drawn field (RGBA)\n- https://htmlcolorcodes.com -"
|
||||
HEIGHT: "The minimal height of the marker field.\nDefinition height for shape markers"
|
||||
MAX_HEIGHT: "The maximal height of the marker field.\nSet to the same Y height/position\nfor a flat shape"
|
||||
POINTS: "The amount of points used to render\nthe circle/ellipse. More points\ncreate cleaner borders but to many\npoints affect performance!"
|
||||
X_RADIUS: "The ellipse radius to the +-x direction"
|
||||
Z_RADIUS: "The ellipse radius to the +-z direction"
|
||||
MAP: "Target BlueMap Map\nThis is not world exclusive!"
|
||||
TOGGLEABLE: "If this is true, the marker-set\ncan be enabled or disabled in the menu"
|
||||
DEFAULT_HIDDEN: "If this is true, the marker-set\nwill be hidden by default and can be\nenabled by the user. If 'TOGGELABLE' is\nfalse, this is the forced state"
|
||||
LISTED: "If this is false, the marker will\nnot be listed in the BlueMap set menu"
|
||||
LISTING_POSITION: "Position of the marker(-set) in the BlueMap menu.\n Higher values are higher in the list compared to others"
|
5
src/plugins/BMMarker/settings.json
Normal file
5
src/plugins/BMMarker/settings.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"language": "en",
|
||||
"maxUserSets": 100,
|
||||
"maxUserMarker": 1000
|
||||
}
|
48
src/plugins/BlueMap/core.conf
Normal file
48
src/plugins/BlueMap/core.conf
Normal file
@ -0,0 +1,48 @@
|
||||
## ##
|
||||
## BlueMap ##
|
||||
## Core-Config ##
|
||||
## ##
|
||||
|
||||
# By changing the setting (accept-download) below to TRUE you are indicating that you have accepted mojang's EULA (https://account.mojang.com/documents/minecraft_eula),
|
||||
# you confirm that you own a license to Minecraft (Java Edition)
|
||||
# and you agree that BlueMap will download and use a minecraft-client file (depending on the minecraft-version) from mojangs servers (https://piston-meta.mojang.com/) for you.
|
||||
# This file contains resources that belong to mojang and you must not redistribute it or do anything else that is not compliant with mojang's EULA.
|
||||
# BlueMap uses resources in this file to generate the 3D-Models used for the map and texture them. (BlueMap will not work without those resources.)
|
||||
# 2025-07-19T16:02:57
|
||||
accept-download: true
|
||||
|
||||
# The folder where bluemap saves data-files it needs during runtime or to save e.g. the render-progress to resume it later.
|
||||
# Default is "bluemap"
|
||||
data: "plugins/BlueMap/data"
|
||||
|
||||
# This changes the amount of threads that BlueMap will use to render the maps.
|
||||
# A higher value can improve render-speed but could impact performance on the host machine.
|
||||
# This should be always below or equal to the number of available processor-cores.
|
||||
# Zero or a negative value means the amount of available processor-cores subtracted by the value.
|
||||
# (So a value of -2 with 6 cores results in 4 render-processes)
|
||||
# Default is 1
|
||||
render-thread-count: 1
|
||||
|
||||
# Controls whether BlueMap should try to find and load mod-resources and datapacks from the server/world-directories.
|
||||
# Default is true
|
||||
scan-for-mod-resources: false
|
||||
|
||||
# If this is true, BlueMap might send really basic metrics reports containing only the implementation-type and the version that is being used to https://metrics.bluecolored.de/bluemap/
|
||||
# This allows me to track the basic usage of BlueMap and helps me stay motivated to further develop this tool! Please leave it on :)
|
||||
# An example report looks like this: {"implementation":"bukkit","version":"5.9","mcVersion":"?"}
|
||||
# Default is true
|
||||
metrics: false
|
||||
|
||||
# Config-section for debug-logging
|
||||
log: {
|
||||
# The file where the debug-log will be written to.
|
||||
# Comment out to disable debug-logging completely.
|
||||
# Java String formatting syntax can be used to add time, see: https://docs.oracle.com/javase/8/docs/api/java/util/Formatter.html
|
||||
# Default is no logging
|
||||
file: "plugins/BlueMap/data/logs/debug.log"
|
||||
#file: "bluemap/logs/debug_%1$tF_%1$tT.log"
|
||||
|
||||
# Whether the logger should append to an existing file, or overwrite it
|
||||
# Default is false
|
||||
append: false
|
||||
}
|
1
src/plugins/BlueMap/data/pluginState.json
Normal file
1
src/plugins/BlueMap/data/pluginState.json
Normal file
@ -0,0 +1 @@
|
||||
{"render-threads-enabled":true,"maps":{"world":{"update-enabled":true},"world_the_end":{"update-enabled":true},"world_nether":{"update-enabled":true}},"hidden-players":[]}
|
BIN
src/plugins/BlueMap/data/resourceExtensions.zip
Normal file
BIN
src/plugins/BlueMap/data/resourceExtensions.zip
Normal file
Binary file not shown.
BIN
src/plugins/BlueMap/data/web/assets/Quicksand-BuVPtn-J.ttf
Normal file
BIN
src/plugins/BlueMap/data/web/assets/Quicksand-BuVPtn-J.ttf
Normal file
Binary file not shown.
BIN
src/plugins/BlueMap/data/web/assets/favicon-DEN7TZ5X.png
Normal file
BIN
src/plugins/BlueMap/data/web/assets/favicon-DEN7TZ5X.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.9 KiB |
1
src/plugins/BlueMap/data/web/assets/index-BgiqB2rB.css
Normal file
1
src/plugins/BlueMap/data/web/assets/index-BgiqB2rB.css
Normal file
File diff suppressed because one or more lines are too long
4297
src/plugins/BlueMap/data/web/assets/index-Q7i7_FGJ.js
Normal file
4297
src/plugins/BlueMap/data/web/assets/index-Q7i7_FGJ.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
BIN
src/plugins/BlueMap/data/web/assets/logo.png
Normal file
BIN
src/plugins/BlueMap/data/web/assets/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
BIN
src/plugins/BlueMap/data/web/assets/logoCircle512.png
Normal file
BIN
src/plugins/BlueMap/data/web/assets/logoCircle512.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 53 KiB |
BIN
src/plugins/BlueMap/data/web/assets/logoCircle64.png
Normal file
BIN
src/plugins/BlueMap/data/web/assets/logoCircle64.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.9 KiB |
@ -0,0 +1,19 @@
|
||||
{
|
||||
"$schema": "https://json.schemastore.org/web-manifest-combined.json",
|
||||
"name": "BlueMap",
|
||||
"short_name": "BlueMap",
|
||||
"start_url": "..",
|
||||
"display": "standalone",
|
||||
"background_color": "#181818",
|
||||
"theme_color": "#006EDE",
|
||||
"description": "BlueMap is a tool that generates 3D maps of your Minecraft worlds and displays them in your browser.",
|
||||
"icons": [{
|
||||
"src": "logoCircle512.png",
|
||||
"sizes": "512x512",
|
||||
"type": "image/png"
|
||||
},{
|
||||
"src": "logoCircle64.png",
|
||||
"sizes": "64x64",
|
||||
"type": "image/png"
|
||||
}]
|
||||
}
|
15
src/plugins/BlueMap/data/web/assets/poi.svg
Normal file
15
src/plugins/BlueMap/data/web/assets/poi.svg
Normal file
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="50px" height="50px" viewBox="0 0 50 50" enable-background="new 0 0 50 50" xml:space="preserve">
|
||||
<g>
|
||||
<path fill="#FFFFFF" d="M37.468,17.123C37.468,29.596,25,45.346,25,45.346s-12.468-14.93-12.468-28.223
|
||||
c0-6.885,5.581-12.468,12.468-12.468C31.885,4.655,37.468,10.237,37.468,17.123z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#333333" d="M26.901,12.559c0.034,1.046-0.732,1.885-1.954,1.885c-1.083,0-1.85-0.838-1.85-1.885
|
||||
c0-1.082,0.804-1.92,1.918-1.92C26.169,10.639,26.901,11.478,26.901,12.559z M23.464,29.063l0.017-11.757h3.072l-0.018,11.757
|
||||
H23.464z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 934 B |
BIN
src/plugins/BlueMap/data/web/assets/steve.png
Normal file
BIN
src/plugins/BlueMap/data/web/assets/steve.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 844 B |
33
src/plugins/BlueMap/data/web/index.html
Normal file
33
src/plugins/BlueMap/data/web/index.html
Normal file
@ -0,0 +1,33 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<meta name="description"
|
||||
content="BlueMap is a tool that generates 3D maps of your Minecraft worlds and displays them in your browser">
|
||||
<meta name="version" content="5.9">
|
||||
<meta name="keywords" content="bluemap, map, minecraft, minecraft map">
|
||||
<meta name="theme-color" content="#006EDE">
|
||||
<meta name="og:site_name" content="BlueMap">
|
||||
<meta name="og:title" content="BlueMap">
|
||||
<meta name="og:description"
|
||||
content="BlueMap is a tool that generates 3D maps of your Minecraft worlds and displays them in your browser">
|
||||
<meta name="og:type" content="website">
|
||||
<meta name="og:image" content="https://avatars.githubusercontent.com/u/42522657?s=200&v=4">
|
||||
<meta name="robots" content="index,nofollow">
|
||||
<link rel="icon" href="./assets/favicon-DEN7TZ5X.png">
|
||||
<link rel="manifest" href="./assets/manifest-Ciy5FJKl.webmanifest">
|
||||
<title>BlueMap</title>
|
||||
<script type="module" crossorigin src="./assets/index-Q7i7_FGJ.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="./assets/index-BgiqB2rB.css">
|
||||
</head>
|
||||
<body>
|
||||
<noscript>
|
||||
<strong>Sorry but BlueMap doesn't work without JavaScript enabled.
|
||||
Please <a href="https://www.enable-javascript.com/">enable</a> it to continue.</strong>
|
||||
</noscript>
|
||||
<div id="map-container"></div>
|
||||
<div id="app"></div>
|
||||
|
||||
</body>
|
||||
</html>
|
144
src/plugins/BlueMap/data/web/lang/cs.conf
Normal file
144
src/plugins/BlueMap/data/web/lang/cs.conf
Normal file
@ -0,0 +1,144 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "Menu"
|
||||
tooltip: "Menu"
|
||||
}
|
||||
maps: {
|
||||
title: "Mapy"
|
||||
button: "Mapy"
|
||||
tooltip: "Seznam map"
|
||||
}
|
||||
markers: {
|
||||
title: "Značky"
|
||||
button: "Značky"
|
||||
tooltip: "Seznam značek"
|
||||
marker: "značka | značky"
|
||||
markerSet: "sada značek | sady značek"
|
||||
}
|
||||
settings: {
|
||||
title: "Nastavení"
|
||||
button: "Nastavení"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "Celá obrazovka"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "Obnovit kameru"
|
||||
tooltip: "Obnovit kameru a pozici"
|
||||
}
|
||||
updateMap: {
|
||||
button: "Aktualizovat mapu"
|
||||
tooltip: "Vymazat mezipaměť dlaždic"
|
||||
}
|
||||
lighting: {
|
||||
title: "Osvětlení"
|
||||
dayNightSwitch: {
|
||||
tooltip: "Den/noc"
|
||||
}
|
||||
sunlight: "Sluneční světlo"
|
||||
ambientLight: "Ambientní osvětlení"
|
||||
}
|
||||
resolution: {
|
||||
title: "Rozlišení"
|
||||
high: "Vysoké (SSAA x2)"
|
||||
normal: "Normální (Native x1)"
|
||||
low: "Nízké (Upscaling x0.5)"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "Ovládání volného létání"
|
||||
mouseSensitivity: "Citlivost myši"
|
||||
invertMouseY: "Invertovat Y myši"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "Dohled"
|
||||
hiresLayer: "Vrstva vysokého rozlišení"
|
||||
lowersLayer: "Vrstva nízkého rozlišení"
|
||||
}
|
||||
theme: {
|
||||
title: "Téma"
|
||||
default: "Výchozí (systém/prohlížeč)"
|
||||
dark: "Tmavé"
|
||||
light: "Světlé"
|
||||
}
|
||||
debug: {
|
||||
button: "Ladění"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "Obnovit všechna nastavení"
|
||||
}
|
||||
players: {
|
||||
title: "Hráči"
|
||||
tooltip: "Seznam hráčů"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "Kompas / sever"
|
||||
}
|
||||
controls: {
|
||||
title: "Zobrazení / ovládání"
|
||||
perspective: {
|
||||
button: "Perspektiva"
|
||||
tooltip: "Zobrazení perspektivy"
|
||||
}
|
||||
flatView: {
|
||||
button: "Plochý"
|
||||
tooltip: "Ortografické / ploché zobrazení"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "Volné létání"
|
||||
tooltip: "Volné létání / režim pozorovatele"
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "Jazyk"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "Blok"
|
||||
position: "Pozice"
|
||||
chunk: "Chunk"
|
||||
region: {
|
||||
region: "Oblast"
|
||||
file: "Soubor"
|
||||
}
|
||||
light: {
|
||||
light: "Světlo"
|
||||
sun: "Slunce"
|
||||
block: "Blok"
|
||||
}
|
||||
}
|
||||
info: {
|
||||
title: "Informace"
|
||||
button: "Informace"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>Ovládání myší:</h2>
|
||||
<table>
|
||||
<tr><th>pohyb</th><td><kbd>levé tlačítko</kbd> + táhnutí</td></tr>
|
||||
<tr><th>přiblížení</th><td><kbd>kolečko myši</kbd> (otáčení)</td></tr>
|
||||
<tr><th>rotace / naklonění</th><td><kbd>pravé tlačítko</kbd> + táhnutí</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Ovládání klávesnicí:</h2>
|
||||
<table>
|
||||
<tr><th>pohyb</th><td><kbd>wasd</kbd> / <kbd>šipky</kbd></td></tr>
|
||||
<tr><th>přiblížení</th><td>Num. klávesnice: <kbd>+</kbd>/<kbd>-</kbd> nebo <kbd>Ins</kbd>/<kbd>Home</kbd></td></tr>
|
||||
<tr><th>rotace / naklonění</th><td><kbd>Levý Alt</kbd> + <kbd>wasd</kbd> / <kbd>šipky</kbd> nebo <kbd>Del</kbd>/<kbd>End</kbd>/<kbd>Page Up</kbd>/<kbd>Page Down</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Ovládání dotykem:</h2>
|
||||
<table>
|
||||
<tr><th>pohyb</th><td>dotyk + táhnutí</td></tr>
|
||||
<tr><th>přiblížení</th><td>dotyk dvěma prsty + roztáhnutí</td></tr>
|
||||
<tr><th>rotace / naklonění</th><td>dotyk dvěma prsty + rotace / pohyb nahoru/dolů</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p class="info-footer">
|
||||
Mapa byla vygenerována s ♥ pomocí <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
|
||||
</p>
|
||||
"""
|
||||
}
|
||||
}
|
174
src/plugins/BlueMap/data/web/lang/de.conf
Normal file
174
src/plugins/BlueMap/data/web/lang/de.conf
Normal file
@ -0,0 +1,174 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "Menü"
|
||||
tooltip: "Menü"
|
||||
}
|
||||
map: {
|
||||
unloaded: "Keine Karte geladen."
|
||||
loading: "Lade Karte..."
|
||||
errored: "Beim laden der Karte ist ein Fehler aufgetreten!"
|
||||
}
|
||||
maps: {
|
||||
title: "Karten"
|
||||
button: "Karten"
|
||||
tooltip: "Kartenliste"
|
||||
}
|
||||
markers: {
|
||||
title: "Marker"
|
||||
button: "Marker"
|
||||
tooltip: "Markerliste"
|
||||
marker: "Marker | Marker"
|
||||
markerSet: "Markerset | Markersets"
|
||||
searchPlaceholder: "Suche..."
|
||||
followPlayerTitle: "Spieler folgen"
|
||||
sort {
|
||||
title: "Sortieren nach"
|
||||
by {
|
||||
default: "Standard"
|
||||
label: "Name"
|
||||
distance: "Distanz"
|
||||
}
|
||||
}
|
||||
}
|
||||
settings: {
|
||||
title: "Einstellungen"
|
||||
button: "Einstellungen"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "Vollbildmodus"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "Kamera zurücksetzen"
|
||||
tooltip: "Kamera & Position zurücksetzen"
|
||||
}
|
||||
updateMap: {
|
||||
button: "Karte aktualisieren"
|
||||
tooltip: "Leere den Karten-Cache"
|
||||
}
|
||||
lighting: {
|
||||
title: "Beleuchtung"
|
||||
dayNightSwitch: {
|
||||
tooltip: "Tag/Nacht"
|
||||
}
|
||||
sunlight: "Sonnenlicht"
|
||||
ambientLight: "Umgebungslicht"
|
||||
}
|
||||
resolution: {
|
||||
title: "Auflösung"
|
||||
high: "Hoch (SSAA x2)"
|
||||
normal: "Normal (Nativ x1)"
|
||||
low: "Niedrig (Hochskalieren x0.5)"
|
||||
}
|
||||
mapControls: {
|
||||
title: "Steuerung"
|
||||
showZoomButtons: "Zoom-Buttons"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "Freie Kamera"
|
||||
mouseSensitivity: "Maus-Sensitivität"
|
||||
invertMouseY: "Maus Y umkehren"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "Renderdistanz"
|
||||
hiresLayer: "Hires-Schicht"
|
||||
lowersLayer: "Lowres-Schicht"
|
||||
loadHiresWhileMoving: "Lade Hires während Bewegung"
|
||||
off: "Off"
|
||||
}
|
||||
theme: {
|
||||
title: "Farbmodus"
|
||||
default: "Standard (System/Browser)"
|
||||
dark: "Dunkel"
|
||||
light: "Hell"
|
||||
contrast: "Kontrast"
|
||||
}
|
||||
chunkBorders: {
|
||||
button: "Chunkgrenzen anzeigen"
|
||||
}
|
||||
debug: {
|
||||
button: "Debug"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "Einstellungen zurücksetzen"
|
||||
}
|
||||
players: {
|
||||
title: "Spieler"
|
||||
tooltip: "Spielerliste"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "Kompass / nach Norden ausrichten"
|
||||
}
|
||||
screenshot: {
|
||||
title: "Screenshot"
|
||||
button: "Screenshot machen"
|
||||
clipboard: "In Zwischenablage kopieren"
|
||||
}
|
||||
controls: {
|
||||
title: "Ansicht / Steuerung"
|
||||
perspective: {
|
||||
button: "Perspektiv-Sicht"
|
||||
tooltip: "Perspektivische Sicht"
|
||||
}
|
||||
flatView: {
|
||||
button: "Flache Sicht"
|
||||
tooltip: "Orthographisch / Flache Sicht"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "Freie Kamera"
|
||||
tooltip: "Freie Kamera / Zuschauermodus"
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "Sprache"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "Block"
|
||||
position: "Position"
|
||||
chunk: "Chunk"
|
||||
region: {
|
||||
region: "Region"
|
||||
file: "Datei"
|
||||
}
|
||||
light: {
|
||||
light: "Licht"
|
||||
sun: "Sonne"
|
||||
block: "Block"
|
||||
}
|
||||
}
|
||||
info: {
|
||||
title: "Info"
|
||||
button: "Info"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>Maussteuerung:</h2>
|
||||
<table>
|
||||
<tr><th>Bewegen</th><td><kbd>Linksklick</kbd> + ziehen</td></tr>
|
||||
<tr><th>Zoomen</th><td><kbd>Mausrad</kbd> (scrollen)</td></tr>
|
||||
<tr><th>Drehen / Schwenken</th><td><kbd>Rechtsklick</kbd> + ziehen</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Tastatursteuerung:</h2>
|
||||
<table>
|
||||
<tr><th>Bewegen</th><td><kbd>wasd</kbd> / <kbd>Pfeiltasten</kbd></td></tr>
|
||||
<tr><th>Zoomen</th><td>Nummernblock: <kbd>+</kbd>/<kbd>-</kbd> oder <kbd>Einfg</kbd>/<kbd>Pos 1</kbd></td></tr>
|
||||
<tr><th>Drehen / Schwenken</th><td><kbd>Alt</kbd> + <kbd>wasd</kbd> / <kbd>Pfeiltasten</kbd> oder <kbd>Entf</kbd>/<kbd>Ende</kbd>/<kbd>Bild ↑</kbd>/<kbd>Bild ↓</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Touchsteuerung:</h2>
|
||||
<table>
|
||||
<tr><th>Bewegen</th><td>berühren + ziehen</td></tr>
|
||||
<tr><th>Zoomen</th><td>mit zwei Fingern berühren + zusammen/auseinander ziehen</td></tr>
|
||||
<tr><th>Drehen / Schwenken</th><td>mit zwei Fingern berühren + drehen / hoch/runter ziehen</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p class="info-footer">
|
||||
Diese Map wurde mit ♥ von <a href="https://bluecolo.red/bluemap">BlueMap</a> {version} generiert
|
||||
</p>
|
||||
"""
|
||||
}
|
||||
}
|
175
src/plugins/BlueMap/data/web/lang/en.conf
Normal file
175
src/plugins/BlueMap/data/web/lang/en.conf
Normal file
@ -0,0 +1,175 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "Menu"
|
||||
tooltip: "Menu"
|
||||
}
|
||||
map: {
|
||||
unloaded: "No map loaded."
|
||||
loading: "Loading map..."
|
||||
errored: "There was an error trying to load this map!"
|
||||
}
|
||||
maps: {
|
||||
title: "Maps"
|
||||
button: "Maps"
|
||||
tooltip: "Map-List"
|
||||
}
|
||||
markers: {
|
||||
title: "Markers"
|
||||
button: "Markers"
|
||||
tooltip: "Marker-List"
|
||||
marker: "marker | markers"
|
||||
markerSet: "marker-set | marker-sets"
|
||||
searchPlaceholder: "Search..."
|
||||
followPlayerTitle: "Follow Player"
|
||||
sort {
|
||||
title: "Sort by"
|
||||
by {
|
||||
default: "default"
|
||||
label: "name"
|
||||
distance: "distance"
|
||||
}
|
||||
}
|
||||
}
|
||||
settings: {
|
||||
title: "Settings"
|
||||
button: "Settings"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "Go Fullscreen"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "Reset Camera"
|
||||
tooltip: "Reset Camera & Position"
|
||||
}
|
||||
updateMap: {
|
||||
button: "Update Map"
|
||||
tooltip: "Clear Tile Cache"
|
||||
}
|
||||
lighting: {
|
||||
title: "Lighting"
|
||||
dayNightSwitch: {
|
||||
tooltip: "Day/Night"
|
||||
}
|
||||
sunlight: "Sunlight"
|
||||
ambientLight: "Ambient-Light"
|
||||
}
|
||||
resolution: {
|
||||
title: "Resolution"
|
||||
high: "High (SSAA x2)"
|
||||
normal: "Normal (Native x1)"
|
||||
low: "Low (Upscaling x0.5)"
|
||||
}
|
||||
mapControls: {
|
||||
title: "Map Controls"
|
||||
showZoomButtons: "Show Zoom Buttons"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "Free-Flight Controls"
|
||||
mouseSensitivity: "Mouse-Sensitivity"
|
||||
invertMouseY: "Invert Mouse Y"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "Render Distance"
|
||||
hiresLayer: "Hires layer"
|
||||
lowersLayer: "Lowres layer"
|
||||
loadHiresWhileMoving: "Load hires while moving"
|
||||
off: "Off"
|
||||
}
|
||||
theme: {
|
||||
title: "Theme"
|
||||
default: "Default (System/Browser)"
|
||||
dark: "Dark"
|
||||
light: "Light"
|
||||
contrast: "Contrast"
|
||||
}
|
||||
chunkBorders: {
|
||||
button: "Show chunk borders"
|
||||
}
|
||||
debug: {
|
||||
button: "Debug"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "Reset All Settings"
|
||||
}
|
||||
players: {
|
||||
title: "Players"
|
||||
tooltip: "Player-List"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "Compass / Face North"
|
||||
}
|
||||
screenshot: {
|
||||
title: "Screenshot"
|
||||
button: "Take Screenshot"
|
||||
clipboard: "Copy to Clipboard"
|
||||
}
|
||||
controls: {
|
||||
title: "View / Controls"
|
||||
perspective: {
|
||||
button: "Perspective"
|
||||
tooltip: "Perspective-View"
|
||||
}
|
||||
flatView: {
|
||||
button: "Flat"
|
||||
tooltip: "Orthographic / Flat-View"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "Free-Flight"
|
||||
tooltip: "Free-Flight / Spectator Mode"
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "Language"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "Block"
|
||||
position: "Position"
|
||||
chunk: "Chunk"
|
||||
region: {
|
||||
region: "Region"
|
||||
file: "File"
|
||||
}
|
||||
light: {
|
||||
light: "Light"
|
||||
sun: "Sun"
|
||||
block: "Block"
|
||||
}
|
||||
clipboard: "click to copy"
|
||||
}
|
||||
info: {
|
||||
title: "Info"
|
||||
button: "Info"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>Mouse-Controls:</h2>
|
||||
<table>
|
||||
<tr><th>move</th><td><kbd>left-click</kbd> + drag</td></tr>
|
||||
<tr><th>zoom</th><td><kbd>mousewheel</kbd> (scroll)</td></tr>
|
||||
<tr><th>rotate / tilt</th><td><kbd>right-click</kbd> + drag</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Keyboard-Controls:</h2>
|
||||
<table>
|
||||
<tr><th>move</th><td><kbd>wasd</kbd> / <kbd>arrow-keys</kbd></td></tr>
|
||||
<tr><th>zoom</th><td>Numpad: <kbd>+</kbd>/<kbd>-</kbd> or <kbd>Ins</kbd>/<kbd>Home</kbd></td></tr>
|
||||
<tr><th>rotate / tilt</th><td><kbd>Left-Alt</kbd> + <kbd>wasd</kbd> / <kbd>arrow-keys</kbd> or <kbd>Delete</kbd>/<kbd>End</kbd>/<kbd>Page Up</kbd>/<kbd>Page Down</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Touch-Controls:</h2>
|
||||
<table>
|
||||
<tr><th>move</th><td>touch + drag</td></tr>
|
||||
<tr><th>zoom</th><td>touch with two fingers + pinch</td></tr>
|
||||
<tr><th>rotate / tilt</th><td>touch with two fingers + rotate / move up/down</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p class="info-footer">
|
||||
This map has been generated with ♥ using <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
|
||||
</p>
|
||||
"""
|
||||
}
|
||||
}
|
151
src/plugins/BlueMap/data/web/lang/es.conf
Normal file
151
src/plugins/BlueMap/data/web/lang/es.conf
Normal file
@ -0,0 +1,151 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "Menú"
|
||||
tooltip: "Menú"
|
||||
}
|
||||
maps: {
|
||||
title: "Mapas"
|
||||
button: "Mapas"
|
||||
tooltip: "Lista de mapas"
|
||||
}
|
||||
markers: {
|
||||
title: "Marcadores"
|
||||
button: "Marcadores"
|
||||
tooltip: "Lista de marcadores"
|
||||
marker: "marcador | marcadores"
|
||||
markerSet: "Conjunto de Marcadores | Conjuntos de Marcadores"
|
||||
searchPlaceholder: "Buscar..."
|
||||
followPlayerTitle: "Seguir Jugador"
|
||||
}
|
||||
settings: {
|
||||
title: "Ajustes"
|
||||
button: "Ajustes"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "Pantalla Completa"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "Restablecer Cámara"
|
||||
tooltip: "Restablecer Cámara y Posición"
|
||||
}
|
||||
updateMap: {
|
||||
button: "Actualizar Mapa"
|
||||
tooltip: "Limpiar Cache"
|
||||
}
|
||||
lighting: {
|
||||
title: "Iluminación"
|
||||
dayNightSwitch: {
|
||||
tooltip: "Día/Noche"
|
||||
}
|
||||
sunlight: "Luz de Día"
|
||||
ambientLight: "Luz Ambiental"
|
||||
}
|
||||
resolution: {
|
||||
title: "Resolución"
|
||||
high: "Alta (SSAA x2)"
|
||||
normal: "Normal (Nativa x1)"
|
||||
low: "Baja (Ampliada x0.5)"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "Controles de Vuelo Libre"
|
||||
mouseSensitivity: "Sensibilidad de Ratón"
|
||||
invertMouseY: "Invertir Eje Y del Ratón"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "Distancia de Renderizado"
|
||||
hiresLayer: "Capa de Alta Resolución"
|
||||
lowersLayer: "Capa de Baja Resolución"
|
||||
}
|
||||
theme: {
|
||||
title: "Tema"
|
||||
default: "Predeterminado (Sistema/Navegador)"
|
||||
dark: "Oscuro"
|
||||
light: "Claro"
|
||||
}
|
||||
debug: {
|
||||
button: "Debug"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "Restaurar todo los ajustes"
|
||||
}
|
||||
players: {
|
||||
title: "Jugadores"
|
||||
tooltip: "Lista de Jugadores"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "Brújula / Norte"
|
||||
}
|
||||
screenshot: {
|
||||
title: "Captura de Pantalla"
|
||||
button: "Tomar Captura de Pantalla"
|
||||
clipboard: "Copiar al Portapapeles"
|
||||
}
|
||||
controls: {
|
||||
title: "Vista / Controles"
|
||||
perspective: {
|
||||
button: "Perspectiva"
|
||||
tooltip: "Vista en perspectiva"
|
||||
}
|
||||
flatView: {
|
||||
button: "Plano"
|
||||
tooltip: "Ortogonal / Visualización Plana"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "Vuelo libre"
|
||||
tooltip: "Vuelo libre / Modo espectador"
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "Idioma"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "Bloque"
|
||||
position: "Posición"
|
||||
chunk: "Chunk"
|
||||
region: {
|
||||
region: "Región"
|
||||
file: "Archivo"
|
||||
}
|
||||
light: {
|
||||
light: "Iluminación"
|
||||
sun: "Sol"
|
||||
block: "Bloque"
|
||||
}
|
||||
}
|
||||
info: {
|
||||
title: "Información"
|
||||
button: "Información"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>Control con ratón:</h2>
|
||||
<table>
|
||||
<tr><th>movimiento</th><td><kbd>clic izquierdo</kbd> + arrastrar</td></tr>
|
||||
<tr><th>zoom</th><td><kbd>rueda del ratón</kbd> (desplazar)</td></tr>
|
||||
<tr><th>rotar / inclinar</th><td><kbd>clic derecho</kbd> + arrastrar</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Control con teclado:</h2>
|
||||
<table>
|
||||
<tr><th>movimiento</th><td><kbd>wasd</kbd> / <kbd>flechas de desplazamiento</kbd></td></tr>
|
||||
<tr><th>zoom</th><td>Pad numérico: <kbd>+</kbd>/<kbd>-</kbd> ó <kbd>Insertar</kbd>/<kbd>Inicio</kbd></td></tr>
|
||||
<tr><th>rotar / inclinar</th><td><kbd>Alt izquierdo</kbd> + <kbd>wasd</kbd> / <kbd>flechas de desplazamiento</kbd> ó <kbd>Supr</kbd>/<kbd>Fin</kbd>/<kbd>Re pág</kbd>/<kbd>Av Pág</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Control con panel táctil:</h2>
|
||||
<table>
|
||||
<tr><th>movimiento</th><td>pulsa + arrastrar</td></tr>
|
||||
<tr><th>zoom</th><td>pulsa con dos dedos + junta</td></tr>
|
||||
<tr><th>rotar / inclinar</th><td>pulsa con dos dedos + rotar / desliza arriba/abajo</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p class="info-footer">
|
||||
Este mapa ha sido generado con ♥ usando <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
|
||||
</p>
|
||||
"""
|
||||
}
|
||||
}
|
174
src/plugins/BlueMap/data/web/lang/fi.conf
Normal file
174
src/plugins/BlueMap/data/web/lang/fi.conf
Normal file
@ -0,0 +1,174 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "Valikko"
|
||||
tooltip: "Valikko"
|
||||
}
|
||||
map: {
|
||||
unloaded: "Ei karttaa ladattuna."
|
||||
loading: "Ladataan karttaa..."
|
||||
errored: "Karttaa ladatessa ilmeni ongelmia!"
|
||||
}
|
||||
maps: {
|
||||
title: "Kartat"
|
||||
button: "Kartat"
|
||||
tooltip: "Karttalista"
|
||||
}
|
||||
markers: {
|
||||
title: "Merkit"
|
||||
button: "Merkit"
|
||||
tooltip: "Merkkilista"
|
||||
marker: "merkki | merkkiä"
|
||||
markerSet: "merkkisetti | merkkisettiä"
|
||||
searchPlaceholder: "Etsi..."
|
||||
followPlayerTitle: "Seuraa pelaajaa"
|
||||
sort {
|
||||
title: "Järjestys"
|
||||
by {
|
||||
default: "oletus"
|
||||
label: "nimi"
|
||||
distance: "etäisyys"
|
||||
}
|
||||
}
|
||||
}
|
||||
settings: {
|
||||
title: "Asetukset"
|
||||
button: "Asetukset"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "Mene kokoruudun tilaan"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "Nollaa kamera"
|
||||
tooltip: "Nolla kamera ja sijainti"
|
||||
}
|
||||
updateMap: {
|
||||
button: "Päivitä kartta"
|
||||
tooltip: "Tyhjennä välimuisti"
|
||||
}
|
||||
lighting: {
|
||||
title: "Valaistus"
|
||||
dayNightSwitch: {
|
||||
tooltip: "Päivä/Yö"
|
||||
}
|
||||
sunlight: "Auringonvalo"
|
||||
ambientLight: "Ympäristön valo"
|
||||
}
|
||||
resolution: {
|
||||
title: "Resoluutio"
|
||||
high: "Korkea (SSAA x2)"
|
||||
normal: "Normaali (Natiivi x1)"
|
||||
low: "Alhainen (Skaalaus x0.5)"
|
||||
}
|
||||
mapControls: {
|
||||
title: "Kartan ohjaimet"
|
||||
showZoomButtons: "Näytä zoomauksen nappulat"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "Vapaan lennon ohjaimet"
|
||||
mouseSensitivity: "Hiiren herkkyys"
|
||||
invertMouseY: "Käännä hiiren Y-akseli"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "Näköetäisyys"
|
||||
hiresLayer: "Korkealaatuinen kerros"
|
||||
lowersLayer: "Matalalaatuinen kerros"
|
||||
loadHiresWhileMoving: "Lataa korkealaatuinen kerros liikkuessa"
|
||||
off: "Pois"
|
||||
}
|
||||
theme: {
|
||||
title: "Teema"
|
||||
default: "Oletus (Järjestelmä/Selain)"
|
||||
dark: "Tumma"
|
||||
light: "Vaalea"
|
||||
contrast: "Kontrasti"
|
||||
}
|
||||
chunkBorders: {
|
||||
button: "Näytä lohkojen rajat"
|
||||
}
|
||||
debug: {
|
||||
button: "Debug"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "Nollaa kaikki asetukset"
|
||||
}
|
||||
players: {
|
||||
title: "Pelaajat"
|
||||
tooltip: "Pelaajalista"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "Kompassi / Katso pohjoiseen"
|
||||
}
|
||||
screenshot: {
|
||||
title: "Kuvankaappaus"
|
||||
button: "Ota kuvankaappaus"
|
||||
clipboard: "Kopioi leikepöydälle"
|
||||
}
|
||||
controls: {
|
||||
title: "Näkymä / Ohjaus"
|
||||
perspective: {
|
||||
button: "Perspektiivi"
|
||||
tooltip: "Perspektiivi näkymä"
|
||||
}
|
||||
flatView: {
|
||||
button: "Tasainen"
|
||||
tooltip: "Ortografinen / Tasainen näkymä"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "Vapaa lento"
|
||||
tooltip: "Vapaa lento / Katsojatila"
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "Kieli"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "Kuutio"
|
||||
position: "Sijainti"
|
||||
chunk: "Lohko"
|
||||
region: {
|
||||
region: "Alue"
|
||||
file: "Tiedosto"
|
||||
}
|
||||
light: {
|
||||
light: "Valo"
|
||||
sun: "Aurinko"
|
||||
block: "Kuutio"
|
||||
}
|
||||
}
|
||||
info: {
|
||||
title: "Tiedot"
|
||||
button: "Tiedot"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>Hiiriasetukset:</h2>
|
||||
<table>
|
||||
<tr><th>liiku</th><td><kbd>vasen painallus</kbd> + vedä</td></tr>
|
||||
<tr><th>zoomaa</th><td><kbd>hiiren rulla</kbd> (rullaa)</td></tr>
|
||||
<tr><th>käänny / kallista</th><td><kbd>oikea painallus</kbd> + vedä</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Näppäimistöasetukset:</h2>
|
||||
<table>
|
||||
<tr><th>liiku</th><td><kbd>wasd</kbd> / <kbd>nuolinäppäimet</kbd></td></tr>
|
||||
<tr><th>zoomaa</th><td>Numero näppäimistö: <kbd>+</kbd>/<kbd>-</kbd> tai <kbd>Ins-näppäin</kbd>/<kbd>Home-näppäin</kbd></td></tr>
|
||||
<tr><th>käänny / kallista</th><td><kbd>Vasen-Alt</kbd> + <kbd>wasd</kbd> / <kbd>nuolinäppäimet</kbd> tai <kbd>Delete-näppäin</kbd>/<kbd>End-näppäin</kbd>/<kbd>Page Up -näppäin</kbd>/<kbd>Page Down -näppäin</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Kosketusasetukset:</h2>
|
||||
<table>
|
||||
<tr><th>liiku</th><td>kosketa + vedä</td></tr>
|
||||
<tr><th>zoomaa</th><td>kosketa kahdella sormella + nipistä</td></tr>
|
||||
<tr><th>käänny / kallista</th><td>kosketa kahdella sormella + käännä / liiku ylös/alas</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p class="info-footer">
|
||||
Tämä kartta on tehty rakkaudella ♥ käyttäen <a href="https://bluecolo.red/bluemap">BlueMap</a> {version} -ohjelmaa
|
||||
</p>
|
||||
"""
|
||||
}
|
||||
}
|
171
src/plugins/BlueMap/data/web/lang/fr.conf
Normal file
171
src/plugins/BlueMap/data/web/lang/fr.conf
Normal file
@ -0,0 +1,171 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "Menu"
|
||||
tooltip: "Menu"
|
||||
}
|
||||
map: {
|
||||
unloaded: "Pas de carte chargée."
|
||||
loading: "Chargement de la carte..."
|
||||
errored: "Il y a eu une erreur lors du chargement de la carte !"
|
||||
}
|
||||
maps: {
|
||||
title: "Cartes"
|
||||
button: "Cartes"
|
||||
tooltip: "Liste des cartes"
|
||||
}
|
||||
markers: {
|
||||
title: "Balises"
|
||||
button: "Balises"
|
||||
tooltip: "Liste des balises"
|
||||
marker: "balise | balises"
|
||||
markerSet: "Collection de balises | Collections de balises"
|
||||
searchPlaceholder: "Rechercher..."
|
||||
followPlayerTitle: "Suivre ce Joueur"
|
||||
sort {
|
||||
title: "Trier par"
|
||||
by {
|
||||
default: "défaut"
|
||||
label: "nom"
|
||||
distance: "distance"
|
||||
}
|
||||
}
|
||||
}
|
||||
settings: {
|
||||
title: "Paramètres"
|
||||
button: "Paramètres"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "Plein Écran"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "Réinitialiser la Caméra"
|
||||
tooltip: "Réinitialiser la Caméra et la Position"
|
||||
}
|
||||
updateMap: {
|
||||
button: "Mettre à jour la Carte"
|
||||
tooltip: "Nettoyer le Cache des Tuiles"
|
||||
}
|
||||
lighting: {
|
||||
title: "Lumière"
|
||||
dayNightSwitch: {
|
||||
tooltip: "Jour/Nuit"
|
||||
}
|
||||
sunlight: "Lumière du Soleil"
|
||||
ambientLight: "Lumière Ambiante"
|
||||
}
|
||||
resolution: {
|
||||
title: "Résolution"
|
||||
high: "Haute (SSAA x2)"
|
||||
normal: "Normale (Native x1)"
|
||||
low: "Basse (Upscaling x0.5)"
|
||||
}
|
||||
mapControls: {
|
||||
title: "Contrôles de la Carte"
|
||||
showZoomButtons: "Montrer les Boutons de Zoom"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "Contrôles du Vol Libre"
|
||||
mouseSensitivity: "Sensibilité de la Souris"
|
||||
invertMouseY: "Inverser l\'Y de la Souris"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "Distance de Rendu"
|
||||
hiresLayer: "Couche Haute Définition"
|
||||
lowersLayer: "Couche Basse Définition"
|
||||
loadHiresWhileMoving: "Charger la haute définition en bougeant"
|
||||
off: "Désactivé"
|
||||
}
|
||||
theme: {
|
||||
title: "Thème"
|
||||
default: "Par Défaut (Système/Navigateur)"
|
||||
dark: "Sombre"
|
||||
light: "Clair"
|
||||
contrast: "Contrasté"
|
||||
}
|
||||
debug: {
|
||||
button: "Debogage"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "Réinitialiser tous les Paramètres"
|
||||
}
|
||||
players: {
|
||||
title: "Joueurs"
|
||||
tooltip: "Liste des Joueurs"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "Boussole / Pointer le Nord"
|
||||
}
|
||||
screenshot: {
|
||||
title: "Capture d\'écran"
|
||||
button: "Prendre une Capture d\'écran"
|
||||
clipboard: "Copier la Capture"
|
||||
}
|
||||
controls: {
|
||||
title: "Vue / Contrôles"
|
||||
perspective: {
|
||||
button: "Perspective"
|
||||
tooltip: "Vue en Perspective"
|
||||
}
|
||||
flatView: {
|
||||
button: "Plate"
|
||||
tooltip: "Orthographique / Vue Plate"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "Vol Libre"
|
||||
tooltip: "Vol Libre / Mode Spectateur"
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "Langue"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "Bloc"
|
||||
position: "Position"
|
||||
chunk: "Tronçon"
|
||||
region: {
|
||||
region: "Région"
|
||||
file: "Fichier"
|
||||
}
|
||||
light: {
|
||||
light: "Lumière"
|
||||
sun: "Soleil"
|
||||
block: "Bloc"
|
||||
}
|
||||
}
|
||||
info: {
|
||||
title: "Info"
|
||||
button: "Info"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>Contrôles de la Souris :</h2>
|
||||
<table>
|
||||
<tr><th>déplacer</th><td><kbd>clic-gauche</kbd> + glisser</td></tr>
|
||||
<tr><th>zoomer</th><td><kbd>molette</kbd> (défiler)</td></tr>
|
||||
<tr><th>tourner / incliner</th><td><kbd>clic-droit</kbd> + glisser</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Contrôles du Clavier :</h2>
|
||||
<table>
|
||||
<tr><th>déplacer</th><td><kbd>zqsd</kbd> / <kbd>flèches directionnelles</kbd></td></tr>
|
||||
<tr><th>zoomer</th><td>Pavé Numérique : <kbd>+</kbd>/<kbd>-</kbd> ou <kbd>Inser</kbd>/<kbd>Début</kbd></td></tr>
|
||||
<tr><th>tourner / incliner</th><td><kbd>Alt-Gauche</kbd> + <kbd>zqsd</kbd> / <kbd>flèches</kbd> ou <kbd>Suppr</kbd>/<kbd>Fin</kbd>/<kbd>Page Haut</kbd>/<kbd>Page Bas</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Contrôles Tactiles :</h2>
|
||||
<table>
|
||||
<tr><th>déplacer</th><td>toucher + glisser</td></tr>
|
||||
<tr><th>zoomer</th><td>toucher avec 2 doigts + pincement</td></tr>
|
||||
<tr><th>tourner / incliner</th><td>toucher avec 2 doigts + tourner / haut/bas</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p class="info-footer">
|
||||
Cette carte a été générée avec ♥ par <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
|
||||
</p>
|
||||
"""
|
||||
}
|
||||
}
|
146
src/plugins/BlueMap/data/web/lang/hi.conf
Normal file
146
src/plugins/BlueMap/data/web/lang/hi.conf
Normal file
@ -0,0 +1,146 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "मेन्यू"
|
||||
tooltip: "मेन्यू"
|
||||
}
|
||||
maps: {
|
||||
title: "नक्शे"
|
||||
button: "नक्शे"
|
||||
tooltip: "मानचित्र-सूची"
|
||||
}
|
||||
markers: {
|
||||
title: "मार्करों"
|
||||
button: "मार्करों"
|
||||
tooltip: "मार्कर-सूची"
|
||||
marker: "मार्कर | मार्करों"
|
||||
markerSet: "मार्कर-सेट | मार्कर-सेट"
|
||||
searchPlaceholder: "खोज..."
|
||||
followPlayerTitle: "प्लेयर को फॉलो करें"
|
||||
}
|
||||
settings: {
|
||||
title: "सेटिंग्स"
|
||||
button: "सेटिंग्स"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "पूर्णस्क्रीन मोड"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "कैमरा रीसेट करें"
|
||||
tooltip: "कैमरा और स्थिति रीसेट करें"
|
||||
}
|
||||
updateMap: {
|
||||
button: "नक्शा अपडेट करें"
|
||||
tooltip: "टाइल कैश साफ़ करें"
|
||||
}
|
||||
lighting: {
|
||||
title: "प्रकाश"
|
||||
dayNightSwitch: {
|
||||
tooltip: "दिन हो या रात"
|
||||
}
|
||||
sunlight: "सूरज की रोशनी"
|
||||
ambientLight: "परिवेश प्रकाश"
|
||||
}
|
||||
resolution: {
|
||||
title: "संकल्प"
|
||||
high: "उच्च (SSAA x2)"
|
||||
normal: "सामान्य (देशी x1)"
|
||||
low: "कम (अप स्केलिंग x0.5)"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "मुक्त उड़ान नियंत्रण"
|
||||
mouseSensitivity: "माउस-संवेदनशीलता"
|
||||
invertMouseY: "माउस-संवेदनशीलता"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "रेंडर दूरी"
|
||||
hiresLayer: "परत काम देता है"
|
||||
lowersLayer: "निचली परत"
|
||||
}
|
||||
theme: {
|
||||
title: "थीम"
|
||||
default: "डिफ़ॉल्ट (सिस्टम / ब्राउज़र)"
|
||||
dark: "डार्क"
|
||||
light: "प्रकाश"
|
||||
}
|
||||
debug: {
|
||||
button: "डिबग"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "सभी सेटिंग्स रीसेट करें"
|
||||
}
|
||||
players: {
|
||||
title: "खिलाड़ी"
|
||||
tooltip: "प्लेयर-सूची"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "कम्पास / फेस नॉर्थ"
|
||||
}
|
||||
controls: {
|
||||
title: "देखें / नियंत्रण"
|
||||
perspective: {
|
||||
button: "परिप्रेक्ष्य"
|
||||
tooltip: "परिप्रेक्ष्य-दृश्य"
|
||||
}
|
||||
flatView: {
|
||||
button: "फ्लैट"
|
||||
tooltip: "ऑर्थोग्राफिक / फ्लैट-व्यू"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "फ्री-फ्लाइट"
|
||||
tooltip: "फ्री-फ्लाइट / दर्शक मोड"
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "भाषा"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "ब्लॉक"
|
||||
position: "स्थिति"
|
||||
chunk: "चंक"
|
||||
region: {
|
||||
region: "क्षेत्र"
|
||||
file: "फ़ाइल"
|
||||
}
|
||||
light: {
|
||||
light: "प्रकाश"
|
||||
sun: "सूर्य"
|
||||
block: "ब्लॉक"
|
||||
}
|
||||
}
|
||||
info: {
|
||||
title: "जानकारी"
|
||||
button: "जानकारी"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>माउस-नियंत्रण:</h2>
|
||||
<table>
|
||||
<tr><th>कदम</th><td><kbd>बाएँ क्लिक करें</kbd> + खींचें</td></tr>
|
||||
<tr><th>ज़ूम</th><td><kbd>माउसव्हील</kbd> (स्क्रॉल)</td></tr>
|
||||
<tr><th>घुमाएँ / झुकाव</th><td><kbd>राइट-क्लिक करें</kbd> + खींचें</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>कीबोर्ड पर नियंत्रण:</h2>
|
||||
<table>
|
||||
<tr><th>कदम</th><td><kbd>wasd</kbd> / <kbd>तीर कुंजी</kbd></td></tr>
|
||||
<tr><th>ज़ूम</th><td>Numpad: <kbd>या</kbd>/<kbd>इन</kbd> होम <kbd>इन</kbd>/<kbd>होम</kbd></td></tr>
|
||||
<tr><th>घुमाएँ / झुकाव</th><td><kbd>बाईं-Alt</kbd> + <kbd>wasd</kbd> / <kbd>तीर कुंजी</kbd> या <kbd>हटाएं</kbd>/<kbd>अंत</kbd>/<kbd>पृष्ठ</kbd>/<kbd>पृष्ठ के नीचे</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>स्पर्श नियंत्रण:</h2>
|
||||
<table>
|
||||
<tr><th>कदम</th><td>टच + खींचें</td></tr>
|
||||
<tr><th>ज़ूम</th><td>दो उंगलियों के साथ स्पर्श + चुटकी</td></tr>
|
||||
<tr><th>घुमाएँ / झुकाव</th><td>दो उंगलियों के साथ टच + घुमाएँ/ऊपर / नीचे ले जाएँ</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p class="info-footer">
|
||||
का उपयोग कर उत्पन्न <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
|
||||
</p>
|
||||
"""
|
||||
}
|
||||
}
|
146
src/plugins/BlueMap/data/web/lang/hu.conf
Normal file
146
src/plugins/BlueMap/data/web/lang/hu.conf
Normal file
@ -0,0 +1,146 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "Menü"
|
||||
tooltip: "Menü"
|
||||
}
|
||||
maps: {
|
||||
title: "Térképek"
|
||||
button: "Térképek"
|
||||
tooltip: "Térképlista"
|
||||
}
|
||||
markers: {
|
||||
title: "Jelölők"
|
||||
button: "Jelölők"
|
||||
tooltip: "Jelölőlista"
|
||||
marker: "jelölő | jelölők"
|
||||
markerSet: "jelölőkészlet | jelölőkészletek"
|
||||
searchPlaceholder: "Keresés..."
|
||||
followPlayerTitle: "Játékos követése"
|
||||
}
|
||||
settings: {
|
||||
title: "Beállítások"
|
||||
button: "Beállítások"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "Teljes képernyős mód bekapcsolása"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "Kamera visszaállítása"
|
||||
tooltip: "Kamera & pozíció visszaállítása"
|
||||
}
|
||||
updateMap: {
|
||||
button: "Térkép frissítése"
|
||||
tooltip: "Csempe gyorsítótárának törlése"
|
||||
}
|
||||
lighting: {
|
||||
title: "Villámlás"
|
||||
dayNightSwitch: {
|
||||
tooltip: "Reggel/Éjszaka"
|
||||
}
|
||||
sunlight: "Napfény"
|
||||
ambientLight: "Háttérvilágítás"
|
||||
}
|
||||
resolution: {
|
||||
title: "Felbontás"
|
||||
high: "Magas (SSAA x2)"
|
||||
normal: "Normál (Native x1)"
|
||||
low: "Alacsony (Upscaling x0.5)"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "Szabadrepülési vezérlők"
|
||||
mouseSensitivity: "Egér érzékenység"
|
||||
invertMouseY: "Egér Y tengelyének invertálása"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "Látótávolság"
|
||||
hiresLayer: "Hires réteg"
|
||||
lowersLayer: "Lowres réteg"
|
||||
}
|
||||
theme: {
|
||||
title: "Téma"
|
||||
default: "Alapértelmezett (Rendszer/Böngésző)"
|
||||
dark: "Sötét"
|
||||
light: "Világos"
|
||||
}
|
||||
debug: {
|
||||
button: "Hibakeresés"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "Minden beállítás alaphelyzetbe állítása"
|
||||
}
|
||||
players: {
|
||||
title: "Játékosok"
|
||||
tooltip: "Játékos lista"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "Iránytű / Északra fordulás"
|
||||
}
|
||||
controls: {
|
||||
title: "Nézet / Vezérlés"
|
||||
perspective: {
|
||||
button: "Perspektivikus"
|
||||
tooltip: "Perspektivikus nézet"
|
||||
}
|
||||
flatView: {
|
||||
button: "Lapos"
|
||||
tooltip: "Orthographic / Lapos nézet"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "Szabadrepülés"
|
||||
tooltip: "Szabadrepülési / Szemlélő mód"
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "Nyelv"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "Blokk"
|
||||
position: "Pozíció"
|
||||
chunk: "Chunk"
|
||||
region: {
|
||||
region: "Régió"
|
||||
file: "Fájl"
|
||||
}
|
||||
light: {
|
||||
light: "Fény"
|
||||
sun: "Nap"
|
||||
block: "Blokk"
|
||||
}
|
||||
}
|
||||
info: {
|
||||
title: "Infó"
|
||||
button: "Infó"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>Egeres vezérlés:</h2>
|
||||
<table>
|
||||
<tr><th>mozgatás</th><td><kbd>bal klikk</kbd> + húzás</td></tr>
|
||||
<tr><th>zoomolás</th><td><kbd>görgő</kbd> (görgetés)</td></tr>
|
||||
<tr><th>elforgatás / döntés</th><td><kbd>jobb klikk</kbd> + húzás</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Billentyűzetes vezérlés:</h2>
|
||||
<table>
|
||||
<tr><th>mozgatás</th><td><kbd>wasd</kbd> / <kbd>nyilak</kbd></td></tr>
|
||||
<tr><th>zoomolás</th><td>Numpad: <kbd>+</kbd>/<kbd>-</kbd> or <kbd>Ins</kbd>/<kbd>Home</kbd></td></tr>
|
||||
<tr><th>elforgatás / döntés</th><td><kbd>Bal alt</kbd> + <kbd>wasd</kbd> / <kbd>arrow-keys</kbd> vagy <kbd>Delete</kbd>/<kbd>End</kbd>/<kbd>Page Up</kbd>/<kbd>Page Down</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Érintéses vezérlés:</h2>
|
||||
<table>
|
||||
<tr><th>mozgatás</th><td>érintés + húzás</td></tr>
|
||||
<tr><th>zoomolás</th><td>két ujjal érintés + csípés</td></tr>
|
||||
<tr><th>elforgatás / döntés</th><td>két ujjal érintés + forgatás / felfele/lefele mozgatás</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p class="info-footer">
|
||||
Ez a térkép ♥ a <a href="https://bluecolo.red/bluemap">BlueMap</a> {version} segítségével lett generálva
|
||||
</p>
|
||||
"""
|
||||
}
|
||||
}
|
175
src/plugins/BlueMap/data/web/lang/id.conf
Normal file
175
src/plugins/BlueMap/data/web/lang/id.conf
Normal file
@ -0,0 +1,175 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "Menu"
|
||||
tooltip: "Menu"
|
||||
}
|
||||
map: {
|
||||
unloaded: "Peta tidak tersedia."
|
||||
loading: "Memuat peta..."
|
||||
errored: "Terjadi kesalahan saat memuat peta ini!"
|
||||
}
|
||||
maps: {
|
||||
title: "Peta-Peta"
|
||||
button: "Peta-Peta"
|
||||
tooltip: "Daftar Peta"
|
||||
}
|
||||
markers: {
|
||||
title: "Penanda"
|
||||
button: "Penanda"
|
||||
tooltip: "Daftar Penanda"
|
||||
marker: "penanda | penanda"
|
||||
markerSet: "set-penanda | set-penanda"
|
||||
searchPlaceholder: "Cari..."
|
||||
followPlayerTitle: "Ikuti Pemain"
|
||||
sort {
|
||||
title: "Urutkan berdasarkan"
|
||||
by {
|
||||
default: "bawaan"
|
||||
label: "nama"
|
||||
distance: "jarak"
|
||||
}
|
||||
}
|
||||
}
|
||||
settings: {
|
||||
title: "Pengaturan"
|
||||
button: "Pengaturan"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "Layar Penuh"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "Atur Ulang Kamera"
|
||||
tooltip: "Atur Ulang Kamera & Posisi"
|
||||
}
|
||||
updateMap: {
|
||||
button: "Perbarui Peta"
|
||||
tooltip: "Bersihkan Tembolok Ubin"
|
||||
}
|
||||
lighting: {
|
||||
title: "Pencahayaan"
|
||||
dayNightSwitch: {
|
||||
tooltip: "Siang/Malam"
|
||||
}
|
||||
sunlight: "Cahaya Matahari"
|
||||
ambientLight: "Cahaya Ambien"
|
||||
}
|
||||
resolution: {
|
||||
title: "Resolusi"
|
||||
high: "Tinggi (SSAA x2)"
|
||||
normal: "Normal (Native x1)"
|
||||
low: "Rendah (Upscaling x0.5)"
|
||||
}
|
||||
mapControls: {
|
||||
title: "Kontrol Peta"
|
||||
showZoomButtons: "Tampilkan Tombol Zum"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "Kontrol Free-Flight"
|
||||
mouseSensitivity: "Sensitivitas Tetikus"
|
||||
invertMouseY: "Balikkan Tetikus Y"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "Jarak Render"
|
||||
hiresLayer: "Layer resolusi tinggi"
|
||||
lowersLayer: "Layer resolusi rendah"
|
||||
loadHiresWhileMoving: "Muat resolusi tinggi saat bergerak"
|
||||
off: "Mati"
|
||||
}
|
||||
theme: {
|
||||
title: "Tema"
|
||||
default: "Bawaan (Sistem/Peramban)"
|
||||
dark: "Gelap"
|
||||
light: "Terang"
|
||||
contrast: "Kontras"
|
||||
}
|
||||
chunkBorders: {
|
||||
button: "Tampilkan batas bongkahan"
|
||||
}
|
||||
debug: {
|
||||
button: "Awakutu"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "Reset Semua Pengaturan"
|
||||
}
|
||||
players: {
|
||||
title: "Pemain"
|
||||
tooltip: "Daftar Pemain"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "Kompas / Hadap Utara"
|
||||
}
|
||||
screenshot: {
|
||||
title: "Screenshot"
|
||||
button: "Ambil Tangkapan Layar"
|
||||
clipboard: "Salin ke Papan Klip"
|
||||
}
|
||||
controls: {
|
||||
title: "Tampilan / Kontrol"
|
||||
perspective: {
|
||||
button: "Perspektif"
|
||||
tooltip: "Tampilan Perspektif"
|
||||
}
|
||||
flatView: {
|
||||
button: "Datar"
|
||||
tooltip: "Tampilan Ortografik / Datar"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "Free-Flight"
|
||||
tooltip: "Mode Free-Flight / Spektator"
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "Bahasa"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "Blok"
|
||||
position: "Posisi"
|
||||
chunk: "Bongkahan"
|
||||
region: {
|
||||
region: "Wilayah"
|
||||
file: "Berkas"
|
||||
}
|
||||
light: {
|
||||
light: "Cahaya"
|
||||
sun: "Matahari"
|
||||
block: "Blok"
|
||||
}
|
||||
clipboard: "klik untuk menyalin"
|
||||
}
|
||||
info: {
|
||||
title: "Info"
|
||||
button: "Info"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>Kontrol Tetikus:</h2>
|
||||
<table>
|
||||
<tr><th>gerak</th><td><kbd>klik kiri</kbd> + seret</td></tr>
|
||||
<tr><th>zoom</th><td><kbd>roda tetikus</kbd> (gulir)</td></tr>
|
||||
<tr><th>putar / miringkan</th><td><kbd>klik kanan</kbd> + seret</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Kontrol Keyboard:</h2>
|
||||
<table>
|
||||
<tr><th>gerak</th><td><kbd>wasd</kbd> / <kbd>tombol panah</kbd></td></tr>
|
||||
<tr><th>zoom</th><td>Numpad: <kbd>+</kbd>/<kbd>-</kbd> atau <kbd>Ins</kbd>/<kbd>Home</kbd></td></tr>
|
||||
<tr><th>putar / miringkan</th><td><kbd>Left-Alt</kbd> + <kbd>wasd</kbd> / <kbd>tombol panah</kbd> atau <kbd>Delete</kbd>/<kbd>End</kbd>/<kbd>Page Up</kbd>/<kbd>Page Down</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Kontrol Sentuh:</h2>
|
||||
<table>
|
||||
<tr><th>gerak</th><td>sentuh + seret</td></tr>
|
||||
<tr><th>zoom</th><td>sentuh dengan dua jari + cubit</td></tr>
|
||||
<tr><th>putar / miringkan</th><td>sentuh dengan dua jari + putar / gerakkan ke atas/bawah</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p class="info-footer">
|
||||
Peta ini dibuat dengan ♥ menggunakan <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
|
||||
</p>
|
||||
"""
|
||||
}
|
||||
}
|
144
src/plugins/BlueMap/data/web/lang/it.conf
Normal file
144
src/plugins/BlueMap/data/web/lang/it.conf
Normal file
@ -0,0 +1,144 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "Menu"
|
||||
tooltip: "Menu"
|
||||
}
|
||||
maps: {
|
||||
title: "Mappe"
|
||||
button: "Mappe"
|
||||
tooltip: "Map-List"
|
||||
}
|
||||
markers: {
|
||||
title: "Marcatori"
|
||||
button: "Marcatori"
|
||||
tooltip: "Lista-Marcatori"
|
||||
marker: "marcatore | marcatori"
|
||||
markerSet: "set-di-marcatori | sets-di-marcatori"
|
||||
}
|
||||
settings: {
|
||||
title: "Impostazioni"
|
||||
button: "Impostazioni"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "Metti Lo Schermo Pieno"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "Resetta La Telecamera"
|
||||
tooltip: "Resetta La Telecamera E La Posizione"
|
||||
}
|
||||
updateMap: {
|
||||
button: "Aggiorna Mappa"
|
||||
tooltip: "Pulisci La Chace Delle Caselle"
|
||||
}
|
||||
lighting: {
|
||||
title: "Illuminazione"
|
||||
dayNightSwitch: {
|
||||
tooltip: "Giorno/Notte"
|
||||
}
|
||||
sunlight: "Luce"
|
||||
ambientLight: "Luce-Ambientale"
|
||||
}
|
||||
resolution: {
|
||||
title: "Risoluzione"
|
||||
high: "Alta (SSAA x2)"
|
||||
normal: "Normale (Nativa x1)"
|
||||
low: "Bassa (Upscaling x0.5)"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "Controlli Free-Flight"
|
||||
mouseSensitivity: "Sensitivita-Mouse"
|
||||
invertMouseY: "Inverti Y Del Mouse"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "Distanza Rendering"
|
||||
hiresLayer: "Layer Alta Risoluzione"
|
||||
lowersLayer: "Layer Bassa Risoluzione"
|
||||
}
|
||||
theme: {
|
||||
title: "Tema"
|
||||
default: "Default (Sistema/Browser)"
|
||||
dark: "Scuro"
|
||||
light: "Chiaro"
|
||||
}
|
||||
debug: {
|
||||
button: "Debug"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "Ripristina Impostazioni"
|
||||
}
|
||||
players: {
|
||||
title: "Giocatori"
|
||||
tooltip: "Lista-Giocatori"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "Compasso / Verso Nord"
|
||||
}
|
||||
controls: {
|
||||
title: "Visuale / Controlli"
|
||||
perspective: {
|
||||
button: "Prospettiva"
|
||||
tooltip: "Visuale-Prospettiva"
|
||||
}
|
||||
flatView: {
|
||||
button: "Piatta"
|
||||
tooltip: "Ortografica / Visuale-Piatta"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "Free-Flight"
|
||||
tooltip: "Free-Flight / Modalita Spettatore"
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "Lingua"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "Blocco"
|
||||
position: "Posizione"
|
||||
chunk: "Chunk"
|
||||
region: {
|
||||
region: "Regione"
|
||||
file: "File"
|
||||
}
|
||||
light: {
|
||||
light: "Luminosita"
|
||||
sun: "Sole"
|
||||
block: "Blocco"
|
||||
}
|
||||
}
|
||||
info: {
|
||||
title: "Informazioni"
|
||||
button: "Informazioni"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>Controlli-Mouse:</h2>
|
||||
<table>
|
||||
<tr><th>movimento</th><td><kbd>tasto-sinistro</kbd> + scorrimento</td></tr>
|
||||
<tr><th>zoom</th><td><kbd>rotellina</kbd> (scroll)</td></tr>
|
||||
<tr><th>rotazione / inclinazione</th><td><kbd>tasto-destro</kbd> + scorrimento</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Controlli-Tastiera:</h2>
|
||||
<table>
|
||||
<tr><th>movimento</th><td><kbd>wasd</kbd> / <kbd>tasti-direzionali</kbd></td></tr>
|
||||
<tr><th>zoom</th><td>Numpad: <kbd>+</kbd>/<kbd>-</kbd> or <kbd>Ins</kbd>/<kbd>Home</kbd></td></tr>
|
||||
<tr><th>rotazione / inclinazione</th><td><kbd>Alt-Sinistro</kbd> + <kbd>wasd</kbd> / <kbd>tasti-direzionali</kbd> or <kbd>Rimuovi</kbd>/<kbd>End</kbd>/<kbd>Pagina Su</kbd>/<kbd>Pagina Giu</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Touch-Controls:</h2>
|
||||
<table>
|
||||
<tr><th>movimento</th><td>tocco + scorrimento</td></tr>
|
||||
<tr><th>zoom</th><td>tocco con due dita + pizzico</td></tr>
|
||||
<tr><th>rotazione / inclinazione</th><td>tocco con due dita + rotazione / muovi in alto/basso</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p class="info-footer">
|
||||
Questa mappa e' stata generata con ♥ usando <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
|
||||
</p>
|
||||
"""
|
||||
}
|
||||
}
|
175
src/plugins/BlueMap/data/web/lang/ja.conf
Normal file
175
src/plugins/BlueMap/data/web/lang/ja.conf
Normal file
@ -0,0 +1,175 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "メニュー"
|
||||
tooltip: "メニューを表示"
|
||||
}
|
||||
map: {
|
||||
unloaded: "マップがロードされていません。"
|
||||
loading: "マップをロードしています…"
|
||||
errored: "このマップのロード中にエラーが発生しました!"
|
||||
}
|
||||
maps: {
|
||||
title: "マップ"
|
||||
button: "マップ"
|
||||
tooltip: "マップ一覧"
|
||||
}
|
||||
markers: {
|
||||
title: "マーカー"
|
||||
button: "マーカー"
|
||||
tooltip: "マーカー一覧"
|
||||
marker: "マーカー | マーカー"
|
||||
markerSet: "マーカーグループ | マーカーグループ"
|
||||
searchPlaceholder: "検索…"
|
||||
followPlayerTitle: "プレイヤーを追跡"
|
||||
sort {
|
||||
title: "並べ替え"
|
||||
by {
|
||||
default: "デフォルト"
|
||||
label: "名前"
|
||||
distance: "距離"
|
||||
}
|
||||
}
|
||||
}
|
||||
settings: {
|
||||
title: "設定"
|
||||
button: "設定"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "フルスクリーン"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "カメラをリセット"
|
||||
tooltip: "カメラの位置と角度をリセット"
|
||||
}
|
||||
updateMap: {
|
||||
button: "地形情報を更新"
|
||||
tooltip: "キャッシュを削除して最新情報に更新する"
|
||||
}
|
||||
lighting: {
|
||||
title: "明るさ"
|
||||
dayNightSwitch: {
|
||||
tooltip: "昼夜切り替え"
|
||||
}
|
||||
sunlight: "時間帯"
|
||||
ambientLight: "明るさ"
|
||||
}
|
||||
resolution: {
|
||||
title: "解像度"
|
||||
high: "高 (SSAA x2)"
|
||||
normal: "標準 (ネイティブ x1)"
|
||||
low: "低 (アップスケーリング x0.5)"
|
||||
}
|
||||
mapControls: {
|
||||
title: "マップ"
|
||||
showZoomButtons: "ズームボタンを表示"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "スペクテイターモード"
|
||||
mouseSensitivity: "マウス感度"
|
||||
invertMouseY: "Y軸の反転"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "描画距離"
|
||||
hiresLayer: "高品質レイヤー"
|
||||
lowersLayer: "低品質レイヤー"
|
||||
loadHiresWhileMoving: "移動中に高品質レイヤーをロード" // "移動中に高品質レイヤーを読み込む" is too long
|
||||
off: "オフ"
|
||||
}
|
||||
theme: {
|
||||
title: "テーマ"
|
||||
default: "デフォルト (システム/ブラウザ)"
|
||||
dark: "ダーク"
|
||||
light: "ライト"
|
||||
contrast: "ハイコントラスト"
|
||||
}
|
||||
chunkBorders: {
|
||||
button: "チャンクの境界を表示"
|
||||
}
|
||||
debug: {
|
||||
button: "デバッグ情報を表示"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "すべての設定をリセット"
|
||||
}
|
||||
players: {
|
||||
title: "プレイヤー"
|
||||
tooltip: "プレイヤー一覧"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "方角 / クリックで方角をリセット"
|
||||
}
|
||||
screenshot: {
|
||||
title: "スクリーンショット"
|
||||
button: "スクリーンショットを撮る"
|
||||
clipboard: "クリップボードにコピー"
|
||||
}
|
||||
controls: {
|
||||
title: "視点"
|
||||
perspective: {
|
||||
button: "立体"
|
||||
tooltip: "立体表示"
|
||||
}
|
||||
flatView: {
|
||||
button: "平面"
|
||||
tooltip: "平面表示"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "スペクテイター"
|
||||
tooltip: "スペクテイターモード"
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "言語"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "ブロック"
|
||||
position: "座標"
|
||||
chunk: "チャンク"
|
||||
region: {
|
||||
region: "リージョン"
|
||||
file: "ファイル"
|
||||
}
|
||||
light: {
|
||||
light: "明るさ"
|
||||
sun: "太陽光"
|
||||
block: "光源"
|
||||
}
|
||||
clipboard: "クリックしてコピー"
|
||||
}
|
||||
info: {
|
||||
title: "情報"
|
||||
button: "情報"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>マウス操作:</h2>
|
||||
<table>
|
||||
<tr><th>移動</th><td><kbd>左クリック</kbd> + ドラッグ</td></tr>
|
||||
<tr><th>ズーム</th><td><kbd>マウスホイール</kbd> (スクロール)</td></tr>
|
||||
<tr><th>回転 / 傾き</th><td><kbd>右クリック</kbd> + ドラッグ</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>キーボード操作:</h2>
|
||||
<table>
|
||||
<tr><th>移動</th><td><kbd>wasd</kbd> / <kbd>矢印キー</kbd></td></tr>
|
||||
<tr><th>ズーム</th><td>テンキー: <kbd>+</kbd>/<kbd>-</kbd> または <kbd>Ins</kbd>/<kbd>Home</kbd></td></tr>
|
||||
<tr><th>回転 / 傾き</th><td><kbd>左Alt</kbd> + <kbd>wasd</kbd> / <kbd>矢印キー</kbd> または <kbd>Delete</kbd>/<kbd>End</kbd>/<kbd>Page Up</kbd>/<kbd>Page Down</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>タッチ操作:</h2>
|
||||
<table>
|
||||
<tr><th>移動</th><td>1本指でタッチしてドラッグ</td></tr>
|
||||
<tr><th>ズーム</th><td>2本指でタッチしてピンチ</td></tr>
|
||||
<tr><th>回転 / 傾き</th><td>2本指でドラッグ + 回転 / 昇降</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p class="info-footer">
|
||||
このマップは♥を込めて<a href="https://bluecolo.red/bluemap">BlueMap</a> {version}で生成されています
|
||||
</p>
|
||||
"""
|
||||
}
|
||||
}
|
175
src/plugins/BlueMap/data/web/lang/ko.conf
Normal file
175
src/plugins/BlueMap/data/web/lang/ko.conf
Normal file
@ -0,0 +1,175 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "메뉴"
|
||||
tooltip: "메뉴를 표시"
|
||||
}
|
||||
map: {
|
||||
unloaded: "맵이 로드되지 않았습니다."
|
||||
loading: "맵을 로드하는 중입니다…"
|
||||
errored: "이 맵을 로드하는 중에 오류가 발생했습니다!"
|
||||
}
|
||||
maps: {
|
||||
title: "맵"
|
||||
button: "맵"
|
||||
tooltip: "맵 목록"
|
||||
}
|
||||
markers: {
|
||||
title: "마커"
|
||||
button: "마커"
|
||||
tooltip: "마커 목록"
|
||||
marker: "마커 | 마커"
|
||||
markerSet: "마커 그룹 | 마커 그룹"
|
||||
searchPlaceholder: "검색…"
|
||||
followPlayerTitle: "플레이어 따라가기"
|
||||
sort: {
|
||||
title: "정렬 기준"
|
||||
by: {
|
||||
default: "기본"
|
||||
label: "이름"
|
||||
distance: "거리"
|
||||
}
|
||||
}
|
||||
}
|
||||
settings: {
|
||||
title: "설정"
|
||||
button: "설정"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "전체화면"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "카메라 리셋"
|
||||
tooltip: "카메라 위치와 각도를 리셋"
|
||||
}
|
||||
updateMap: {
|
||||
button: "맵 정보 갱신"
|
||||
tooltip: "맵 타일 캐시를 삭제합니다."
|
||||
}
|
||||
lighting: {
|
||||
title: "광원"
|
||||
dayNightSwitch: {
|
||||
tooltip: "낮/밤 전환"
|
||||
}
|
||||
sunlight: "자연광"
|
||||
ambientLight: "주변광"
|
||||
}
|
||||
resolution: {
|
||||
title: "해상도"
|
||||
high: "높음 (SSAA x2)"
|
||||
normal: "표준 (네이티브 x1)"
|
||||
low: "낮음 (업스케일링 x0.5)"
|
||||
}
|
||||
mapControls: {
|
||||
title: "맵"
|
||||
showZoomButtons: "확대/축소 버튼 표시"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "자유 이동 조작"
|
||||
mouseSensitivity: "마우스 감도"
|
||||
invertMouseY: "마우스 Y축 반전"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "렌더 거리"
|
||||
hiresLayer: "고해상도 레이어"
|
||||
lowersLayer: "저해상도 레이어"
|
||||
loadHiresWhileMoving: "이동 중 고해상도 레이어 로딩"
|
||||
off: "끄기"
|
||||
}
|
||||
theme: {
|
||||
title: "테마"
|
||||
default: "기본값 (시스템/브라우저)"
|
||||
dark: "어두운"
|
||||
light: "밝은"
|
||||
contrast: "고대비"
|
||||
}
|
||||
chunkBorders: {
|
||||
button: "청크 경계 표시"
|
||||
}
|
||||
debug: {
|
||||
button: "디버그 정보 표시"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "설정값 재설정"
|
||||
}
|
||||
players: {
|
||||
title: "플레이어"
|
||||
tooltip: "플레이어 목록"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "나침반 / 북쪽 보기"
|
||||
}
|
||||
screenshot: {
|
||||
title: "스크린샷"
|
||||
button: "스크린샷 찍기"
|
||||
clipboard: "클립보드에 복사"
|
||||
}
|
||||
controls: {
|
||||
title: "시점 / 컨트롤"
|
||||
perspective: {
|
||||
button: "투시"
|
||||
tooltip: "투시로 보기"
|
||||
}
|
||||
flatView: {
|
||||
button: "평면"
|
||||
tooltip: "직각투영 / 평면으로 보기"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "자유 이동"
|
||||
tooltip: "자유 이동 / 관전모드로 보기"
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "언어"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "블록"
|
||||
position: "위치"
|
||||
chunk: "청크"
|
||||
region: {
|
||||
region: "지역"
|
||||
file: "파일"
|
||||
}
|
||||
light: {
|
||||
light: "광원"
|
||||
sun: "자연"
|
||||
block: "블럭"
|
||||
}
|
||||
clipboard: "클릭하여 복사"
|
||||
}
|
||||
info: {
|
||||
title: "정보"
|
||||
button: "정보"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>마우스 조작:</h2>
|
||||
<table>
|
||||
<tr><th>이동</th><td><kbd>좌클릭</kbd> + 끌기</td></tr>
|
||||
<tr><th>확대</th><td><kbd>마우스 휠</kbd> (스크롤)</td></tr>
|
||||
<tr><th>회전 / 기울이기</th><td><kbd>우클릭</kbd> + 끌기</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>키보드 조작:</h2>
|
||||
<table>
|
||||
<tr><th>이동</th><td><kbd>wasd</kbd> / <kbd>화살표 키</kbd></td></tr>
|
||||
<tr><th>확대</th><td>넘버패드: <kbd>+</kbd>/<kbd>-</kbd> 또는 <kbd>Ins</kbd>/<kbd>Home</kbd></td></tr>
|
||||
<tr><th>회전 / 기울이기</th><td><kbd>왼쪽 Alt</kbd> + <kbd>wasd</kbd> / <kbd>화살표 키</kbd> 또는 <kbd>Delete</kbd>/<kbd>End</kbd>/<kbd>Page Up</kbd>/<kbd>Page Down</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>터치 조작:</h2>
|
||||
<table>
|
||||
<tr><th>이동</th><td>터치 + 끌기</td></tr>
|
||||
<tr><th>확대</th><td>두 손가락으로 터치 + 꼬집기</td></tr>
|
||||
<tr><th>회전 / 기울이기</th><td>두 손가락으로 터치 + 회전 / 위/아래로 끌기</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p class="info-footer">
|
||||
이 맵은 ♥을 담아 <a href="https://bluecolo.red/bluemap">BlueMap</a> {version} 을 이용해 제작되었습니다
|
||||
</p>
|
||||
"""
|
||||
}
|
||||
}
|
145
src/plugins/BlueMap/data/web/lang/lv.conf
Normal file
145
src/plugins/BlueMap/data/web/lang/lv.conf
Normal file
@ -0,0 +1,145 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "Izvēlne"
|
||||
tooltip: "Izvēlne"
|
||||
}
|
||||
maps: {
|
||||
title: "Kartes"
|
||||
button: "Kartes"
|
||||
tooltip: "Karšu Saraksts"
|
||||
}
|
||||
markers: {
|
||||
title: "Marķieri"
|
||||
button: "Marķieri"
|
||||
tooltip: "Marķieru Saraksts"
|
||||
marker: "Marķieris | Marķieri"
|
||||
markerSet: "Marķieru Kopa | Marķieru Kopas"
|
||||
searchPlaceholder: "Meklēt..."
|
||||
}
|
||||
settings: {
|
||||
title: "Iestatījumi"
|
||||
button: "Iestatījumi"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "Pilnekrāna Režīms"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "Atiestatīt Kameru"
|
||||
tooltip: "Atiestatīt Kameru & Pozīciju"
|
||||
}
|
||||
updateMap: {
|
||||
button: "Atjaunot Karti"
|
||||
tooltip: "Notīrīt Kartes Kešatmiņu"
|
||||
}
|
||||
lighting: {
|
||||
title: "Apgaismojums"
|
||||
dayNightSwitch: {
|
||||
tooltip: "Diena/Nakts"
|
||||
}
|
||||
sunlight: "Saules Gaisma"
|
||||
ambientLight: "Gaisma No Blokiem"
|
||||
}
|
||||
resolution: {
|
||||
title: "Ižšķirtspēja"
|
||||
high: "Augsta (SSAA x2)"
|
||||
normal: "Vidēja (Iebūvētā x1)"
|
||||
low: "Zema (Palielināšana x0.5)"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "Brīvā Lidojuma Vadība"
|
||||
mouseSensitivity: "Peles Jūtība"
|
||||
invertMouseY: "Izvērst Peli Y Asī"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "Renderēšanas Attālums"
|
||||
hiresLayer: "Augstās Kval. Slānis"
|
||||
lowersLayer: "Zemās Kval. Slānis"
|
||||
}
|
||||
theme: {
|
||||
title: "Motīvs"
|
||||
default: "Noklusētais (Sistēma/Pārlūks)"
|
||||
dark: "Tumšs"
|
||||
light: "Gaišs"
|
||||
}
|
||||
debug: {
|
||||
button: "Atķļūdošana"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "Atjaunot Iestatījumus"
|
||||
}
|
||||
players: {
|
||||
title: "Spēlētāji"
|
||||
tooltip: "Spēlētāju Saraksts"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "Kompass / Pagriezt Uz Ziemeļiem"
|
||||
}
|
||||
controls: {
|
||||
title: "Skats / Vadība"
|
||||
perspective: {
|
||||
button: "Perspektīvā Projekcija"
|
||||
tooltip: "3D / Perspektīvā Projekcija"
|
||||
}
|
||||
flatView: {
|
||||
button: "Plakans"
|
||||
tooltip: "Ortogrāfiskais / Plakanais Skats"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "Brīvais Lidojums"
|
||||
tooltip: "Brīvais Lidojums / Skatītāja Režīms"
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "Valoda"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "Bloks"
|
||||
position: "Pozīcija"
|
||||
chunk: "Gabals"
|
||||
region: {
|
||||
region: "Reģions"
|
||||
file: "Fails"
|
||||
}
|
||||
light: {
|
||||
light: "Gaisma"
|
||||
sun: "Saule"
|
||||
block: "Bloks"
|
||||
}
|
||||
}
|
||||
info: {
|
||||
title: "Informācija"
|
||||
button: "Informācija"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>Peles Vadība:</h2>
|
||||
<table>
|
||||
<tr><th>Pārvietošana</th><td><kbd>Kreisais Peles Klikšķis</kbd> + drag</td></tr>
|
||||
<tr><th>Pietuvināšana</th><td><kbd>Peles Rullītis</kbd> (scroll)</td></tr>
|
||||
<tr><th>Rotācija / Sašķiebšana</th><td><kbd>Labais Peles Klikšķis</kbd> + drag</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Klaviatūras Vadība::</h2>
|
||||
<table>
|
||||
<tr><th>Pārvietošana</th><td><kbd>WASD</kbd> / <kbd>Bultiņu Taustiņi</kbd></td></tr>
|
||||
<tr><th>Pietuvināšana</th><td>Numurtaustiņi <kbd>+</kbd>/<kbd>-</kbd> vai <kbd>Insert</kbd>/<kbd>Home</kbd></td></tr>
|
||||
<tr><th>Rotācija / Sašķiebšana</th><td><kbd>Kreisais-Alt</kbd> + <kbd>WASD</kbd> / <kbd>Bultiņu Taustiņi</kbd> vai <kbd>Delete</kbd>/<kbd>End</kbd>/<kbd>Page Up</kbd>/<kbd>Page Down</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Pieskārienu Vadība:</h2>
|
||||
<table>
|
||||
<tr><th>Pārvietošana</th><td>Pieskāriens + Vilkšana</td></tr>
|
||||
<tr><th>Pietuvināšana</th><td>Pieskarieties Ar Diviem Pirkstiem + Satvert</td></tr>
|
||||
<tr><th>Rotācija / Sašķiebšana</th><td>Pieskarieties Ar Diviem Pirkstiem + Rotācija / Uz Augšu/Leju</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p class="info-footer">
|
||||
Šī karte veidota ar ♥ <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
|
||||
</p>
|
||||
"""
|
||||
}
|
||||
}
|
153
src/plugins/BlueMap/data/web/lang/nb.conf
Normal file
153
src/plugins/BlueMap/data/web/lang/nb.conf
Normal file
@ -0,0 +1,153 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "Meny"
|
||||
tooltip: "Meny"
|
||||
}
|
||||
maps: {
|
||||
title: "Kart"
|
||||
button: "Kart"
|
||||
tooltip: "Kartliste"
|
||||
}
|
||||
markers: {
|
||||
title: "Markører"
|
||||
button: "Markører"
|
||||
tooltip: "Markørliste"
|
||||
marker: "markør | markører"
|
||||
markerSet: "markørsett | markørsett"
|
||||
searchPlaceholder: "Søk..."
|
||||
followPlayerTitle: "Følg spiller"
|
||||
}
|
||||
settings: {
|
||||
title: "Innstillinger"
|
||||
button: "Innstillinger"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "Fullskjerm"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "Tilbakestill kamera"
|
||||
tooltip: "Tilbakestill kamera og posisjon"
|
||||
}
|
||||
updateMap: {
|
||||
button: "Oppdater kart"
|
||||
tooltip: "Slett rutebuffer"
|
||||
}
|
||||
lighting: {
|
||||
title: "Belysning"
|
||||
dayNightSwitch: {
|
||||
tooltip: "Dag/natt"
|
||||
}
|
||||
sunlight: "Sollys"
|
||||
ambientLight: "Bakgrunnsbelysning"
|
||||
}
|
||||
resolution: {
|
||||
title: "Oppløsning"
|
||||
high: "Høy (SSAA x2)"
|
||||
normal: "Normal (Opprinnelig oppløsning x1)"
|
||||
low: "Lav (Oppskalert x0.5)"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "Friflyvningskontroller"
|
||||
mouseSensitivity: "Mussensitivitet"
|
||||
invertMouseY: "Snu mus Y"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "Innlastningsavstand"
|
||||
hiresLayer: "Høyoppløsningslag"
|
||||
lowersLayer: "Lavoppløsningslag"
|
||||
loadHiresWhileMoving: "Last inn høyoppløsning under bevegelse"
|
||||
off: "Av"
|
||||
}
|
||||
theme: {
|
||||
title: "Tema"
|
||||
default: "Standard (System/Nettleser)"
|
||||
dark: "Mørk"
|
||||
light: "Lys"
|
||||
}
|
||||
debug: {
|
||||
button: "Feilsøk"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "Tilbakestill alle innstillinger"
|
||||
}
|
||||
players: {
|
||||
title: "Spillere"
|
||||
tooltip: "Spillerliste"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "Kompass / Pek nord"
|
||||
}
|
||||
screenshot: {
|
||||
title: "Skjermbilde"
|
||||
button: "Ta skjermbilde"
|
||||
clipboard: "Kopier til utklippstavle"
|
||||
}
|
||||
controls: {
|
||||
title: "Visning / Kontroller"
|
||||
perspective: {
|
||||
button: "Perspektiv"
|
||||
tooltip: "Perpektivvisning"
|
||||
}
|
||||
flatView: {
|
||||
button: "Flat"
|
||||
tooltip: "Ortografisk / Flatvisning"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "Friflyvning"
|
||||
tooltip: "Friflyvning / Tilskuermodus"
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "Språk"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "Blokk"
|
||||
position: "Posisjon"
|
||||
chunk: "Bit"
|
||||
region: {
|
||||
region: "Region"
|
||||
file: "Fil"
|
||||
}
|
||||
light: {
|
||||
light: "Lys"
|
||||
sun: "Sol"
|
||||
block: "Blokk"
|
||||
}
|
||||
}
|
||||
info: {
|
||||
title: "Informasjon"
|
||||
button: "Informasjon"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>Mouse-Controls:</h2>
|
||||
<table>
|
||||
<tr><th>move</th><td><kbd>left-click</kbd> + drag</td></tr>
|
||||
<tr><th>zoom</th><td><kbd>mousewheel</kbd> (scroll)</td></tr>
|
||||
<tr><th>rotate / tilt</th><td><kbd>right-click</kbd> + drag</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Keyboard-Controls:</h2>
|
||||
<table>
|
||||
<tr><th>move</th><td><kbd>wasd</kbd> / <kbd>arrow-keys</kbd></td></tr>
|
||||
<tr><th>zoom</th><td>Numpad: <kbd>+</kbd>/<kbd>-</kbd> or <kbd>Ins</kbd>/<kbd>Home</kbd></td></tr>
|
||||
<tr><th>rotate / tilt</th><td><kbd>Left-Alt</kbd> + <kbd>wasd</kbd> / <kbd>arrow-keys</kbd> or <kbd>Delete</kbd>/<kbd>End</kbd>/<kbd>Page Up</kbd>/<kbd>Page Down</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Touch-Controls:</h2>
|
||||
<table>
|
||||
<tr><th>move</th><td>touch + drag</td></tr>
|
||||
<tr><th>zoom</th><td>touch with two fingers + pinch</td></tr>
|
||||
<tr><th>rotate / tilt</th><td>touch with two fingers + rotate / move up/down</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p>
|
||||
This map has been generated with ♥ using <a href="https://bluecolo.red/bluemap">BlueMap</a>.
|
||||
</p>
|
||||
"""
|
||||
}
|
||||
}
|
174
src/plugins/BlueMap/data/web/lang/nl.conf
Normal file
174
src/plugins/BlueMap/data/web/lang/nl.conf
Normal file
@ -0,0 +1,174 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "Menu"
|
||||
tooltip: "Menu"
|
||||
}
|
||||
map: {
|
||||
unloaded: "Geen kaart geladen."
|
||||
loading: "Kaart laden..."
|
||||
errored: "Er is een probleem opgetreden tijdens het laden van deze kaart!"
|
||||
}
|
||||
maps: {
|
||||
title: "Kaarten"
|
||||
button: "Kaarten"
|
||||
tooltip: "Kaartenlijst"
|
||||
}
|
||||
markers: {
|
||||
title: "Markers"
|
||||
button: "Markers"
|
||||
tooltip: "Markerlijst"
|
||||
marker: "marker | markers"
|
||||
markerSet: "markerset | markersets"
|
||||
searchPlaceholder: "Zoek..."
|
||||
followPlayerTitle: "Volg Speler"
|
||||
sort {
|
||||
title: "Sorteer op"
|
||||
by {
|
||||
default: "standaard"
|
||||
label: "naam"
|
||||
distance: "afstand"
|
||||
}
|
||||
}
|
||||
}
|
||||
settings: {
|
||||
title: "Instellingen"
|
||||
button: "Instellingen"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "Volledig scherm modus"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "Camera terugzetten"
|
||||
tooltip: "Camera & Positie terugzetten"
|
||||
}
|
||||
updateMap: {
|
||||
button: "Kaart verversen"
|
||||
tooltip: "Leeg de kaarten-cache"
|
||||
}
|
||||
lighting: {
|
||||
title: "Belichting"
|
||||
dayNightSwitch: {
|
||||
tooltip: "Dag/Nacht"
|
||||
}
|
||||
sunlight: "Zonlicht"
|
||||
ambientLight: "Omgevingslicht"
|
||||
}
|
||||
resolution: {
|
||||
title: "Resolutie"
|
||||
high: "Hoog (SSAA x2)"
|
||||
normal: "Normaal (Standaard x1)"
|
||||
low: "Laag (Opgeschaald x0.5)"
|
||||
}
|
||||
mapControls: {
|
||||
title: "Kaartbesturing"
|
||||
showZoomButtons: "Laat zoomknoppen zien"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "Vrije camera"
|
||||
mouseSensitivity: "Muis gevoeligheid"
|
||||
invertMouseY: "Muis Y omdraaien"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "Renderafstand"
|
||||
hiresLayer: "Hires-Laag"
|
||||
lowersLayer: "Lowres-Laag"
|
||||
loadHiresWhileMoving: "Laad hires tijdens het bewegen"
|
||||
off: "Uit"
|
||||
}
|
||||
theme: {
|
||||
title: "Kleurmodus"
|
||||
default: "Standaard (Systeem/Browser)"
|
||||
dark: "Donker"
|
||||
light: "Licht"
|
||||
contrast: "Contrast"
|
||||
}
|
||||
chunkBorders: {
|
||||
button: "Laat chunk grenzen zien"
|
||||
}
|
||||
debug: {
|
||||
button: "Debug"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "Instellingen terugzetten"
|
||||
}
|
||||
players: {
|
||||
title: "Spelers"
|
||||
tooltip: "Spelerlijst"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "Kompas / Naar het noorden richten"
|
||||
}
|
||||
screenshot: {
|
||||
title: "Schermafdruk"
|
||||
button: "Schermafdruk nemen"
|
||||
clipboard: "Kopieer naar klembord"
|
||||
}
|
||||
controls: {
|
||||
title: "Aanzicht / Besturing"
|
||||
perspective: {
|
||||
button: "Perspectief"
|
||||
tooltip: "Perspectief aanzicht"
|
||||
}
|
||||
flatView: {
|
||||
button: "Plat"
|
||||
tooltip: "Orthografisch / Plat aanzicht"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "Vrije vlucht"
|
||||
tooltip: "Vrije vlucht / Toeschouwersmodus"
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "Taal"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "Blok"
|
||||
position: "Positie"
|
||||
chunk: "Chunk"
|
||||
region: {
|
||||
region: "Regio"
|
||||
file: "Datum"
|
||||
}
|
||||
light: {
|
||||
light: "Licht"
|
||||
sun: "Zon"
|
||||
block: "Blok"
|
||||
}
|
||||
}
|
||||
info: {
|
||||
title: "Info"
|
||||
button: "Info"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>Muisbediening:</h2>
|
||||
<table>
|
||||
<tr><th>Bewegen</th><td><kbd>Linkerklik</kbd> + slepen</td></tr>
|
||||
<tr><th>Zoomen</th><td><kbd>Muiswiel</kbd> (scrollen)</td></tr>
|
||||
<tr><th>Draaien / Kantelen</th><td><kbd>Rechterklik</kbd> + slepen</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Toetsenbordbediening:</h2>
|
||||
<table>
|
||||
<tr><th>Bewegen</th><td><kbd>wasd</kbd> / <kbd>Pijltjestoetsen</kbd></td></tr>
|
||||
<tr><th>Zoomen</th><td>Numeriek toetsenbord: <kbd>+</kbd>/<kbd>-</kbd> of <kbd>Ins</kbd>/<kbd>Home</kbd></td></tr>
|
||||
<tr><th>Draaien / Kantelen</th><td><kbd>Alt</kbd> + <kbd>wasd</kbd> / <kbd>Pijltjestoetsen</kbd> of <kbd>Delete</kbd>/<kbd>End</kbd>/<kbd>Page Up</kbd>/<kbd>Page Down</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Aanraakbediening:</h2>
|
||||
<table>
|
||||
<tr><th>Bewegen</th><td>Aanraken + vegen</td></tr>
|
||||
<tr><th>Zoomen</th><td>Met twee vingers aanraken + knijpen</td></tr>
|
||||
<tr><th>Draaien / Kantelen</th><td>Met twee vingers aanraken + draaien / naar boven/onder slepen</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p class="info-footer">
|
||||
Deze kaart is met ♥ door <a href="https://bluecolo.red/bluemap">BlueMap</a> {version} gegenereerd
|
||||
</p>
|
||||
"""
|
||||
}
|
||||
}
|
177
src/plugins/BlueMap/data/web/lang/pl.conf
Normal file
177
src/plugins/BlueMap/data/web/lang/pl.conf
Normal file
@ -0,0 +1,177 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "Menu"
|
||||
tooltip: "Menu"
|
||||
}
|
||||
maps: {
|
||||
title: "Mapy"
|
||||
button: "Mapy"
|
||||
tooltip: "Lista map"
|
||||
}
|
||||
markers: {
|
||||
title: "Znaczniki"
|
||||
button: "Znaczniki"
|
||||
tooltip: "Lista znaczników"
|
||||
marker: "znacznik | znaczniki"
|
||||
markerSet: "zbiór znaczników | zbiory znaczników"
|
||||
searchPlaceholder: "Wyszukaj..."
|
||||
followPlayerTitle: "Śledzenie gracza"
|
||||
}
|
||||
settings: {
|
||||
title: "Ustawienia"
|
||||
button: "Ustawienia"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "Tryb pełnoekranowy"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "Wyśrodkuj kamerę"
|
||||
tooltip: "Zresetuj pozycję kamery"
|
||||
}
|
||||
updateMap: {
|
||||
button: "Załaduj mapę ponownie"
|
||||
tooltip: "Wyczyść pamięć podręczną mapy"
|
||||
}
|
||||
lighting: {
|
||||
title: "Oświetlenie"
|
||||
dayNightSwitch: {
|
||||
tooltip: "Dzień/Noc"
|
||||
}
|
||||
sunlight: "Światło słoneczne"
|
||||
ambientLight: "Światło otoczenia"
|
||||
}
|
||||
resolution: {
|
||||
title: "Rozdzielczość"
|
||||
high: "Wysoka (SSAA x2)"
|
||||
normal: "Normalna (Natywna x1)"
|
||||
low: "Niska (Skalowanie x0.5)"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "Sterowanie w locie swobodnym"
|
||||
mouseSensitivity: "Czułość myszy"
|
||||
invertMouseY: "Odwróć oś pionową myszy"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "Odległość renderowania"
|
||||
hiresLayer: "Warstwa wysokiej rozdzielczości"
|
||||
lowersLayer: "Warstwa niskiej rozdzielczości"
|
||||
}
|
||||
theme: {
|
||||
title: "Motyw"
|
||||
default: "Domyślny (według ustawień systemowych)"
|
||||
dark: "Tryb ciemny"
|
||||
light: "Tryb jasny"
|
||||
contrast: "Wysoki kontrast"
|
||||
}
|
||||
debug: {
|
||||
button: "Debugowanie"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "Przywróć ustawienia domyślne"
|
||||
}
|
||||
players: {
|
||||
title: "Gracze"
|
||||
tooltip: "Lista graczy"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "Kompas / zwroć na północ"
|
||||
}
|
||||
screenshot: {
|
||||
title: "Zrzut ekranu"
|
||||
button: "Wykonaj zrzut ekranu"
|
||||
clipboard: "Skopiuj do schowka"
|
||||
}
|
||||
controls: {
|
||||
title: "Widok"
|
||||
perspective: {
|
||||
button: "Perspektywa"
|
||||
tooltip: "Widok z perspektywy"
|
||||
}
|
||||
flatView: {
|
||||
button: "Płaski"
|
||||
tooltip: "Widok płaski"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "Lot swobodny"
|
||||
tooltip: "Tryb widza"
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "Język"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "Blok"
|
||||
position: "Pozycja"
|
||||
chunk: "Chunk"
|
||||
region: {
|
||||
region: "Region"
|
||||
file: "Plik"
|
||||
}
|
||||
light: {
|
||||
light: "Oświetlenie"
|
||||
sun: "Słońce"
|
||||
block: "Blok"
|
||||
}
|
||||
}
|
||||
info: {
|
||||
title: "Informacje"
|
||||
button: "Informacje i skróty klawiszowe"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>Sterowanie myszką</h2>
|
||||
<table>
|
||||
<tr><th>Poruszanie się</th><td><kbd>lewy przycisk</kbd> + przeciągnięcie</td></tr>
|
||||
<tr><th>Zbliżenie i oddalenie</th><td><kbd>kółko myszy</kbd> (przewijanie)</td></tr>
|
||||
<tr><th>Obrót i pochylenie</th><td><kbd>prawy przycisk</kbd> + przeciągnięcie</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br />
|
||||
<p>
|
||||
<h2>Sterowanie klawiaturą</h2>
|
||||
<table>
|
||||
<tr>
|
||||
<th>Poruszanie się</th>
|
||||
<td>
|
||||
<kbd>Klawisze WASD</kbd>
|
||||
<br />
|
||||
albo <kbd>Strzałki</kbd>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Zbliżenie i oddalenie</th>
|
||||
<td>
|
||||
Klawiatura numeryczna: <kbd>+</kbd> / <kbd>-</kbd>
|
||||
<br />
|
||||
lub <kbd>Insert (Ins)</kbd> / <kbd>Home</kbd>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Obrót i pochylenie</th>
|
||||
<td>
|
||||
<kbd>Lewy ALT</kbd> + <kbd>WASD</kbd>
|
||||
<br />
|
||||
<kbd>Lewy ALT</kbd> + <kbd>Strzałki</kbd>
|
||||
<br /><br />
|
||||
Alternatywnie: <kbd>Delete</kbd> / <kbd>End</kbd> / <kbd>Page Up</kbd> / <kbd>Page Down</kbd>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</p>
|
||||
<br />
|
||||
<p>
|
||||
<h2>Sterowanie dotykowe (telefon)</h2>
|
||||
<table>
|
||||
<tr><th>Poruszanie się</th><td>Przeciąganie jednym palcem po ekranie</td></tr>
|
||||
<tr><th>Zbliżenie i oddalenie</th><td>Uszczypnięcie dwoma palcami</td></tr>
|
||||
<tr><th>Obrót</th><td>Przeciąganie palca po ekranie jednocześnie trzymając mapę drugim palcem</td></tr>
|
||||
<tr><th>Pochylenie</th><td>Przeciąganie dwoma palcami po ekranie w pionie</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p class="info-footer">
|
||||
Ta mapa została wygenerowana z ♥ za pomocą <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}</p>
|
||||
"""
|
||||
}
|
||||
}
|
171
src/plugins/BlueMap/data/web/lang/pt-PT.conf
Normal file
171
src/plugins/BlueMap/data/web/lang/pt-PT.conf
Normal file
@ -0,0 +1,171 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "Menu"
|
||||
tooltip: "Menu"
|
||||
}
|
||||
map: {
|
||||
unloaded: "Nenhum mapa carregado."
|
||||
loading: "A carregar o mapa..."
|
||||
errored: "Houve um erro ao tentar carregar este mapa!"
|
||||
}
|
||||
maps: {
|
||||
title: "Mapas"
|
||||
button: "Mapas"
|
||||
tooltip: "Lista de mapas"
|
||||
}
|
||||
markers: {
|
||||
title: "Marcadores"
|
||||
button: "Marcadores"
|
||||
tooltip: "Lista de marcadores"
|
||||
marker: "marcador | marcadores"
|
||||
markerSet: "colocar marcador | colocar marcadores"
|
||||
searchPlaceholder: "Procurar..."
|
||||
followPlayerTitle: "Seguir Jogador"
|
||||
sort {
|
||||
title: "Organizar por"
|
||||
by {
|
||||
default: "Padrão"
|
||||
label: "Nome"
|
||||
distance: "Distância"
|
||||
}
|
||||
}
|
||||
}
|
||||
settings: {
|
||||
title: "Definições"
|
||||
button: "Definições"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "Tela Cheia"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "Redefinir Câmara"
|
||||
tooltip: "Redefinir Câmara e Posição"
|
||||
}
|
||||
updateMap: {
|
||||
button: "Atualizar mapa"
|
||||
tooltip: "Limpar cache de tiles"
|
||||
}
|
||||
lighting: {
|
||||
title: "Luminosidade"
|
||||
dayNightSwitch: {
|
||||
tooltip: "Dia/Noite"
|
||||
}
|
||||
sunlight: "Luz do dia"
|
||||
ambientLight: "Luz ambiental"
|
||||
}
|
||||
resolution: {
|
||||
title: "Resolução"
|
||||
high: "Alta (SSAA x2)"
|
||||
normal: "Normal (Nativo x1)"
|
||||
low: "Baixa (Upscaling x0.5)"
|
||||
}
|
||||
mapControls: {
|
||||
title: "Controlos do mapa"
|
||||
showZoomButtons: "Mostrar botões de Zoom"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "Controlos de voo-livre"
|
||||
mouseSensitivity: "Sensibilidade do rato"
|
||||
invertMouseY: "Inverter rato Y"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "Distância de renderização"
|
||||
hiresLayer: "Camada de alta resolução"
|
||||
lowersLayer: "Camada de baixa resolução"
|
||||
loadHiresWhileMoving: "Carregar alta resolução em movimento"
|
||||
off: "Desligar"
|
||||
}
|
||||
theme: {
|
||||
title: "Tema"
|
||||
default: "Padrão (Sistema/Browser)"
|
||||
dark: "Escuro"
|
||||
light: "Claro"
|
||||
contrast: "Contraste"
|
||||
}
|
||||
debug: {
|
||||
button: "Debug"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "Redefinir todas as configurações"
|
||||
}
|
||||
players: {
|
||||
title: "Jogadores"
|
||||
tooltip: "Lista de jogadores"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "Compasso / Apontar para norte"
|
||||
}
|
||||
screenshot: {
|
||||
title: "Captura de ecrã"
|
||||
button: "Tirar captura de ecrã"
|
||||
clipboard: "Copiar para a área de transferência"
|
||||
}
|
||||
controls: {
|
||||
title: "Visão / Controlos"
|
||||
perspective: {
|
||||
button: "Perspetiva"
|
||||
tooltip: "Visão de perspetiva"
|
||||
}
|
||||
flatView: {
|
||||
button: "Plano"
|
||||
tooltip: "Visão plana"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "Voo-livre"
|
||||
tooltip: "Voo-livre / Modo espectador"
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "Língua"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "Bloco"
|
||||
position: "Posição"
|
||||
chunk: "Chunk"
|
||||
region: {
|
||||
region: "Região"
|
||||
file: "Ficheiro"
|
||||
}
|
||||
light: {
|
||||
light: "Luz"
|
||||
sun: "Sol"
|
||||
block: "Bloco"
|
||||
}
|
||||
}
|
||||
info: {
|
||||
title: "Informação"
|
||||
button: "Informação"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>Controlos do rato:</h2>
|
||||
<table>
|
||||
<tr><th>mover</th><td><kbd>click-esquerdo</kbd> + arrastar</td></tr>
|
||||
<tr><th>zoom</th><td><kbd>botão do meio</kbd> (scroll)</td></tr>
|
||||
<tr><th>rodar / inclinar</th><td><kbd>click-direito</kbd> + arrastar</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Controlos do teclado:</h2>
|
||||
<table>
|
||||
<tr><th>mover</th><td><kbd>wasd</kbd> / <kbd>setas</kbd></td></tr>
|
||||
<tr><th>zoom</th><td>Numpad: <kbd>+</kbd>/<kbd>-</kbd> ou <kbd>Ins</kbd>/<kbd>Home</kbd></td></tr>
|
||||
<tr><th>rodar / inclinar</th><td><kbd>Alt-esquerdo</kbd> + <kbd>wasd</kbd> / <kbd>setas</kbd> ou <kbd>Delete</kbd>/<kbd>End</kbd>/<kbd>Page Up</kbd>/<kbd>Page Down</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Controlos táteis:</h2>
|
||||
<table>
|
||||
<tr><th>mover</th><td>tocar + arrastar</td></tr>
|
||||
<tr><th>zoom</th><td>tocar com 2 dedos + afastar / aproximar os dedos</td></tr>
|
||||
<tr><th>rodar / inclinar</th><td>tocar com 2 dedos + rodar / mover para cima / baixo</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p class="info-footer">
|
||||
Este mapa foi gerado com ♥ usando o <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
|
||||
</p>
|
||||
"""
|
||||
}
|
||||
}
|
174
src/plugins/BlueMap/data/web/lang/ru.conf
Normal file
174
src/plugins/BlueMap/data/web/lang/ru.conf
Normal file
@ -0,0 +1,174 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "Меню"
|
||||
tooltip: "Меню"
|
||||
}
|
||||
map: {
|
||||
unloaded: "Карта не загружена."
|
||||
loading: "Карта загружается..."
|
||||
errored: "При загрузке этой карты произошла ошибка!"
|
||||
}
|
||||
maps: {
|
||||
title: "Карта"
|
||||
button: "Карта"
|
||||
tooltip: "Список карт"
|
||||
}
|
||||
markers: {
|
||||
title: "Маркеры"
|
||||
button: "Маркеры"
|
||||
tooltip: "Список маркеров"
|
||||
marker: "маркер | маркеры"
|
||||
markerSet: "набор маркеров | наборы маркеров"
|
||||
searchPlaceholder: "Поиск..."
|
||||
followPlayerTitle: "Следовать за игроком"
|
||||
sort {
|
||||
title: "Сортировать по"
|
||||
by {
|
||||
default: "умолчанию"
|
||||
label: "имени"
|
||||
distance: "расстоянию"
|
||||
}
|
||||
}
|
||||
}
|
||||
settings: {
|
||||
title: "Настройки"
|
||||
button: "Настройки"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "Полноэкранный режим"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "Сброс настроек камеры"
|
||||
tooltip: "Сброс настроек и положения камеры"
|
||||
}
|
||||
updateMap: {
|
||||
button: "Обновить карту"
|
||||
tooltip: "Очистить кэш карты"
|
||||
}
|
||||
lighting: {
|
||||
title: "Освещение"
|
||||
dayNightSwitch: {
|
||||
tooltip: "День/Ночь"
|
||||
}
|
||||
sunlight: "Солнечный свет"
|
||||
ambientLight: "Свет от блоков"
|
||||
}
|
||||
resolution: {
|
||||
title: "Разрешение"
|
||||
high: "Высокое (SSAA x2)"
|
||||
normal: "Нормальное (Нативное x1)"
|
||||
low: "Низкое (Апскейл x0.5)"
|
||||
}
|
||||
mapControls: {
|
||||
title: "Управление картой"
|
||||
showZoomButtons: "Показать кнопки масштаба"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "Управление свободным полётом"
|
||||
mouseSensitivity: "Чувствительность мыши"
|
||||
invertMouseY: "Инвертировать мышь по оси Y"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "Дальность прорисовки"
|
||||
hiresLayer: "Высокой чёткости"
|
||||
lowersLayer: "Низкой чёткости"
|
||||
loadHiresWhileMoving: "Выс. чёткость при движении"
|
||||
off: "Откл"
|
||||
}
|
||||
theme: {
|
||||
title: "Тема"
|
||||
default: "По умолчанию (Системная/Браузера)"
|
||||
dark: "Тёмная"
|
||||
light: "Светлая"
|
||||
contrast: "Контрастная"
|
||||
}
|
||||
chunkBorders: {
|
||||
button: "Показывать границы чанков"
|
||||
}
|
||||
debug: {
|
||||
button: "Отладка"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "Сбросить все настройки"
|
||||
}
|
||||
players: {
|
||||
title: "Игроки"
|
||||
tooltip: "Список игроков"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "Компас / Указать на север"
|
||||
}
|
||||
screenshot: {
|
||||
title: "Скриншот"
|
||||
button: "Сделать Скриншот"
|
||||
clipboard: "Скопировать в буфер обмена"
|
||||
}
|
||||
controls: {
|
||||
title: "Вид / Управление"
|
||||
perspective: {
|
||||
button: "Перспективная проекция"
|
||||
tooltip: "3D / Перспективная проекция"
|
||||
}
|
||||
flatView: {
|
||||
button: "Ортографическая проекция"
|
||||
tooltip: "Плоская / Ортографическая проекция"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "Свободный полёт"
|
||||
tooltip: "Свободный полёт / Режим наблюдателя"
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "Язык"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "Блок"
|
||||
position: "Координаты"
|
||||
chunk: "Чанк"
|
||||
region: {
|
||||
region: "Регион"
|
||||
file: "Файл"
|
||||
}
|
||||
light: {
|
||||
light: "Освещение"
|
||||
sun: "Небо"
|
||||
block: "Блоки"
|
||||
}
|
||||
}
|
||||
info: {
|
||||
title: "Информация"
|
||||
button: "Информация"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>Управление мышью:</h2>
|
||||
<table>
|
||||
<tr><th>перемещение</th><td>зажать <kbd>ЛКМ</kbd></td></tr>
|
||||
<tr><th>приближение</th><td>прокрутить <kbd>колёсико</kbd></td></tr>
|
||||
<tr><th>поворот / наклон</th><td>зажать <kbd>ПКМ</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Управление клавиатурой:</h2>
|
||||
<table>
|
||||
<tr><th>перемещение</th><td><kbd>WASD</kbd> / <kbd>стрелки</kbd></td></tr>
|
||||
<tr><th>приближение</th><td>Нампад: <kbd>+</kbd>/<kbd>-</kbd> или <kbd>Ins</kbd>/<kbd>Home</kbd></td></tr>
|
||||
<tr><th>поворот / наклон</th><td><kbd>Левый Alt</kbd> + <kbd>WASD</kbd> / <kbd>стрелки</kbd> или <kbd>Delete</kbd>/<kbd>End</kbd>/<kbd>Page Up</kbd>/<kbd>Page Down</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Управление сенсором:</h2>
|
||||
<table>
|
||||
<tr><th>перемещение</th><td>коснуться и переместить</td></tr>
|
||||
<tr><th>приближение</th><td>коснуться двумя пальцами и ущипнуть</td></tr>
|
||||
<tr><th>поворот / наклон</th><td>коснуться двумя пальцами и повернуть / переместить вверх/вниз</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p class="info-footer">
|
||||
Эта карта сгенерирована с ♥ <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
|
||||
</p>
|
||||
"""
|
||||
}
|
||||
}
|
35
src/plugins/BlueMap/data/web/lang/settings.conf
Normal file
35
src/plugins/BlueMap/data/web/lang/settings.conf
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
default: "en"
|
||||
useBrowserLanguage: true
|
||||
languages: [
|
||||
// remove the languages you don't need reorder them or add your own
|
||||
{ locale: "id", name: "Bahasa Indonesia" }
|
||||
{ locale: "cs", name: "Čeština" }
|
||||
{ locale: "de", name: "Deutsch" }
|
||||
{ locale: "en", name: "English" }
|
||||
{ locale: "es", name: "Español" }
|
||||
{ locale: "fr", name: "Français" }
|
||||
{ locale: "hi", name: "हिन्दी" }
|
||||
{ locale: "it", name: "Italiano" }
|
||||
{ locale: "lv", name: "Latviešu" }
|
||||
{ locale: "hu", name: "Magyar" }
|
||||
{ locale: "nl", name: "Nederlands" }
|
||||
{ locale: "nb", name: "Norsk bokmål" }
|
||||
{ locale: "pl", name: "Polski" }
|
||||
{ locale: "pt-PT", name: "Português (Portugal)" }
|
||||
{ locale: "ru", name: "Русский" }
|
||||
{ locale: "sr-Latn-RS", name: "Srpski (latinica)" }
|
||||
{ locale: "sr-Cyrl-RS", name: "Српски (ћирилица)" }
|
||||
{ locale: "fi", name: "Suomi" }
|
||||
{ locale: "sv", name: "Svenska" }
|
||||
{ locale: "tr", name: "Türkçe" }
|
||||
{ locale: "th", name: "ภาษาไทย" }
|
||||
{ locale: "ua", name: "Українська" }
|
||||
{ locale: "ja", name: "日本語" }
|
||||
{ locale: "zh-CN", name: "简体中文 (中国大陆)" }
|
||||
{ locale: "zh-TW", name: "繁體中文 (台灣)" }
|
||||
{ locale: "zh-HK", name: "繁體中文 (香港特別行政區)" }
|
||||
{ locale: "ko", name: "한국어" }
|
||||
{ locale: "vi", name: "Tiếng Việt"}
|
||||
]
|
||||
}
|
174
src/plugins/BlueMap/data/web/lang/sr-Cyrl-RS.conf
Normal file
174
src/plugins/BlueMap/data/web/lang/sr-Cyrl-RS.conf
Normal file
@ -0,0 +1,174 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "Мени"
|
||||
tooltip: "Мени"
|
||||
}
|
||||
map: {
|
||||
unloaded: "Није учитана мапа."
|
||||
loading: "Учитава се мапа..."
|
||||
errored: "Дошло је до грешке при покушају учитавања ове мапе!"
|
||||
}
|
||||
maps: {
|
||||
title: "Мапе"
|
||||
button: "Мапе"
|
||||
tooltip: "Листа мапа"
|
||||
}
|
||||
markers: {
|
||||
title: "Маркери"
|
||||
button: "Маркери"
|
||||
tooltip: "Листа маркера"
|
||||
marker: "маркер | маркери"
|
||||
markerSet: "сет маркера | сетови маркера"
|
||||
searchPlaceholder: "Претражите..."
|
||||
followPlayerTitle: "Прати играча"
|
||||
sort {
|
||||
title: "Сортирај по"
|
||||
by {
|
||||
default: "подразумијевано"
|
||||
label: "име"
|
||||
distance: "удаљеност"
|
||||
}
|
||||
}
|
||||
}
|
||||
settings: {
|
||||
title: "Подешавања"
|
||||
button: "Подешавања"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "Уђите у режим цијелог екрана"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "Ресетуј камеру"
|
||||
tooltip: "Ресетуј камеру и положај"
|
||||
}
|
||||
updateMap: {
|
||||
button: "Ажурирај мапу"
|
||||
tooltip: "Обриши кеш плочица"
|
||||
}
|
||||
lighting: {
|
||||
title: "Освјетљење"
|
||||
dayNightSwitch: {
|
||||
tooltip: "Дан/Ноћ"
|
||||
}
|
||||
sunlight: "Сунчева свијетлост"
|
||||
ambientLight: "Амбијентално свијетло"
|
||||
}
|
||||
resolution: {
|
||||
title: "Резолуција"
|
||||
high: "Висока (SSAA x2)"
|
||||
normal: "Нормална (Основно x1)"
|
||||
low: "Ниска (Повећање x0.5)"
|
||||
}
|
||||
mapControls: {
|
||||
title: "Контроле за мапу"
|
||||
showZoomButtons: "Прикажи дугмад за зумирање"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "Контроле слободног лијета"
|
||||
mouseSensitivity: "Осјетљивост миша"
|
||||
invertMouseY: "Обрни миш по Y оси"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "Видљивост"
|
||||
hiresLayer: "Слој високе резолуције"
|
||||
lowersLayer: "Слој ниске резолуције"
|
||||
loadHiresWhileMoving: "Учитавајте високу резолуцију док се крећете"
|
||||
off: "Угашено"
|
||||
}
|
||||
theme: {
|
||||
title: "Тема"
|
||||
default: "Подразумијевана (Систем/Прегледач)"
|
||||
dark: "Тамна"
|
||||
light: "Свијетла"
|
||||
contrast: "Контраст"
|
||||
}
|
||||
chunkBorders: {
|
||||
button: "Прикажи границе чанкова"
|
||||
}
|
||||
debug: {
|
||||
button: "Отклањање грешака"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "Ресетуј сва подешавања"
|
||||
}
|
||||
players: {
|
||||
title: "Играчи"
|
||||
tooltip: "Листа играча"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "Компас / Окрените се према сјеверу"
|
||||
}
|
||||
screenshot: {
|
||||
title: "Снимак екрана"
|
||||
button: "Направите снимак екрана"
|
||||
clipboard: "Копирајте у међуспремник"
|
||||
}
|
||||
controls: {
|
||||
title: "Поглед / Контроле"
|
||||
perspective: {
|
||||
button: "Перспективан"
|
||||
tooltip: "Перспективан поглед"
|
||||
}
|
||||
flatView: {
|
||||
button: "Раван"
|
||||
tooltip: "Ортографски / Раван поглед"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "Слободан лет"
|
||||
tooltip: "Слободан лет / Посматрачки режим"
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "Језик"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "Блок"
|
||||
position: "Положај"
|
||||
chunk: "Чанк"
|
||||
region: {
|
||||
region: "Регион"
|
||||
file: "Датотека"
|
||||
}
|
||||
light: {
|
||||
light: "Свијетлост"
|
||||
sun: "Сунце"
|
||||
block: "Блок"
|
||||
}
|
||||
}
|
||||
info: {
|
||||
title: "Информације"
|
||||
button: "Информације"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>Контроле за миш:</h2>
|
||||
<table>
|
||||
<tr><th>помјерање</th><td><kbd>лијеви клик</kbd> + превуците</td></tr>
|
||||
<tr><th>зумирање</th><td><kbd>точак миша</kbd> (скрол)</td></tr>
|
||||
<tr><th>ротирање / нагињање</th><td><kbd>десни клик</kbd> + превуците</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Контроле за тастатуру:</h2>
|
||||
<table>
|
||||
<tr><th>помјерање</th><td><kbd>wasd</kbd> / <kbd>стрелице</kbd></td></tr>
|
||||
<tr><th>зумирање</th><td>Нумеричка тастатура: <kbd>+</kbd>/<kbd>-</kbd> или <kbd>Ins</kbd>/<kbd>Home</kbd></td></tr>
|
||||
<tr><th>ротирање / нагињање</th><td><kbd>Лијеви Alt</kbd> + <kbd>wasd</kbd> / <kbd>стрелице</kbd> или <kbd>Delete</kbd>/<kbd>End</kbd>/<kbd>Page Up</kbd>/<kbd>Page Down</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Контроле за додир:</h2>
|
||||
<table>
|
||||
<tr><th>помјерање</th><td>додирните + превуците</td></tr>
|
||||
<tr><th>зумирање</th><td>додирните са 2 прста + уштините</td></tr>
|
||||
<tr><th>ротирање / нагињање</th><td>додирните са 2 прста + окрените / помјерите горе/доље</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p class="info-footer">
|
||||
Ова мапа је генерисана са ♥ користећи <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
|
||||
</p>
|
||||
"""
|
||||
}
|
||||
}
|
174
src/plugins/BlueMap/data/web/lang/sr-Latn-RS.conf
Normal file
174
src/plugins/BlueMap/data/web/lang/sr-Latn-RS.conf
Normal file
@ -0,0 +1,174 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "Meni"
|
||||
tooltip: "Meni"
|
||||
}
|
||||
map: {
|
||||
unloaded: "Nije učitana mapa."
|
||||
loading: "Učitava se mapa..."
|
||||
errored: "Došlo je do greške pri pokušaju učitavanja ove mape!"
|
||||
}
|
||||
maps: {
|
||||
title: "Mape"
|
||||
button: "Mape"
|
||||
tooltip: "Lista mapa"
|
||||
}
|
||||
markers: {
|
||||
title: "Markeri"
|
||||
button: "Markeri"
|
||||
tooltip: "Lista markera"
|
||||
marker: "marker | markeri"
|
||||
markerSet: "set markera | setovi markera"
|
||||
searchPlaceholder: "Pretražite..."
|
||||
followPlayerTitle: "Prati igrača"
|
||||
sort {
|
||||
title: "Sortiraj po"
|
||||
by {
|
||||
default: "podrazumijevano"
|
||||
label: "ime"
|
||||
distance: "udaljenost"
|
||||
}
|
||||
}
|
||||
}
|
||||
settings: {
|
||||
title: "Podešavanja"
|
||||
button: "Podešavanja"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "Uđite u režim cijelog ekrana"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "Resetuj kameru"
|
||||
tooltip: "Resetuj kameru i položaj"
|
||||
}
|
||||
updateMap: {
|
||||
button: "Ažuriraj mapu"
|
||||
tooltip: "Obriši keš pločica"
|
||||
}
|
||||
lighting: {
|
||||
title: "Osvjetljenje"
|
||||
dayNightSwitch: {
|
||||
tooltip: "Dan/Noć"
|
||||
}
|
||||
sunlight: "Sunčeva svijetlost"
|
||||
ambientLight: "Ambijentalno svijetlo"
|
||||
}
|
||||
resolution: {
|
||||
title: "Rezolucija"
|
||||
high: "Visoka (SSAA x2)"
|
||||
normal: "Normalna (Osnovno x1)"
|
||||
low: "Niska (Povećanje x0.5)"
|
||||
}
|
||||
mapControls: {
|
||||
title: "Kontrole za mapu"
|
||||
showZoomButtons: "Prikaži dugmad za zumiranje"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "Kontrole slobodnog lijeta"
|
||||
mouseSensitivity: "Osjetljivost miša"
|
||||
invertMouseY: "Obrni miš po Y osi"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "Vidljivost"
|
||||
hiresLayer: "Sloj visoke rezolucije"
|
||||
lowersLayer: "Sloj niske rezolucije"
|
||||
loadHiresWhileMoving: "Učitavajte visoku rezoluciju dok se krećete"
|
||||
off: "Ugašeno"
|
||||
}
|
||||
theme: {
|
||||
title: "Tema"
|
||||
default: "Podrazumijevana (Sistem/Pregledač)"
|
||||
dark: "Tamna"
|
||||
light: "Svijetla"
|
||||
contrast: "Kontrast"
|
||||
}
|
||||
chunkBorders: {
|
||||
button: "Prikaži granice čankova"
|
||||
}
|
||||
debug: {
|
||||
button: "Otklanjanje grešaka"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "Resetuj sva podešavanja"
|
||||
}
|
||||
players: {
|
||||
title: "Igrači"
|
||||
tooltip: "Lista igrača"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "Kompas / Okrenite se prema sjeveru"
|
||||
}
|
||||
screenshot: {
|
||||
title: "Snimak ekrana"
|
||||
button: "Napravite snimak ekrana"
|
||||
clipboard: "Kopirajte u međuspremnik"
|
||||
}
|
||||
controls: {
|
||||
title: "Pogled / Kontrole"
|
||||
perspective: {
|
||||
button: "Perspektivan"
|
||||
tooltip: "Perspektivан pogled"
|
||||
}
|
||||
flatView: {
|
||||
button: "Ravan"
|
||||
tooltip: "Ortografski / Ravan pogled"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "Slobodan let"
|
||||
tooltip: "Slobodan let / Posmatrački režim"
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "Jezik"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "Blok"
|
||||
position: "Položaj"
|
||||
chunk: "Čank"
|
||||
region: {
|
||||
region: "Region"
|
||||
file: "Datoteka"
|
||||
}
|
||||
light: {
|
||||
light: "Svijetlost"
|
||||
sun: "Sunce"
|
||||
block: "Blok"
|
||||
}
|
||||
}
|
||||
info: {
|
||||
title: "Informacije"
|
||||
button: "Informacije"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>Kontrole za miš:</h2>
|
||||
<table>
|
||||
<tr><th>pomjeranje</th><td><kbd>lijevi klik</kbd> + prevucite</td></tr>
|
||||
<tr><th>zumiranje</th><td><kbd>točak miša</kbd> (skrol)</td></tr>
|
||||
<tr><th>rotiranje / naginjanje</th><td><kbd>desni klik</kbd> + prevucite</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Kontrole za tastaturu:</h2>
|
||||
<table>
|
||||
<tr><th>pomjeranje</th><td><kbd>wasd</kbd> / <kbd>strelice</kbd></td></tr>
|
||||
<tr><th>zumiranje</th><td>Numerička tastatura: <kbd>+</kbd>/<kbd>-</kbd> ili <kbd>Ins</kbd>/<kbd>Home</kbd></td></tr>
|
||||
<tr><th>rotiranje / naginjanje</th><td><kbd>Lijevi Alt</kbd> + <kbd>wasd</kbd> / <kbd>strelice</kbd> ili <kbd>Delete</kbd>/<kbd>End</kbd>/<kbd>Page Up</kbd>/<kbd>Page Down</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Kontrole za dodir:</h2>
|
||||
<table>
|
||||
<tr><th>pomjeranje</th><td>dodirnite + prevucite</td></tr>
|
||||
<tr><th>zumiranje</th><td>dodirnite sa 2 prsta + uštinite</td></tr>
|
||||
<tr><th>rotiranje / naginjanje</th><td>dodirnite sa 2 prsta + okrenite / pomjerite gore/dolje</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p class="info-footer">
|
||||
Ova mapa je generisana sa ♥ koristeći <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
|
||||
</p>
|
||||
"""
|
||||
}
|
||||
}
|
174
src/plugins/BlueMap/data/web/lang/sv.conf
Normal file
174
src/plugins/BlueMap/data/web/lang/sv.conf
Normal file
@ -0,0 +1,174 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "Meny"
|
||||
tooltip: "Meny"
|
||||
}
|
||||
map: {
|
||||
unloaded: "Ingen karta laddad."
|
||||
loading: "Laddar karta..."
|
||||
errored: "Ett fel uppstod när kartan skulle laddas!"
|
||||
}
|
||||
maps: {
|
||||
title: "Kartor"
|
||||
button: "Kartor"
|
||||
tooltip: "Kartlista"
|
||||
}
|
||||
markers: {
|
||||
title: "Markörer"
|
||||
button: "Markörer"
|
||||
tooltip: "Markörslista"
|
||||
marker: "Markör | Markörer"
|
||||
markerSet: "Placera markör | Placera markör"
|
||||
searchPlaceholder: "Sök..."
|
||||
followPlayerTitle: "Följ spelare"
|
||||
sort {
|
||||
title: "Sortering"
|
||||
by {
|
||||
default: "standard"
|
||||
label: "namn"
|
||||
distance: "distans"
|
||||
}
|
||||
}
|
||||
}
|
||||
settings: {
|
||||
title: "Inställningar"
|
||||
button: "Inställningar"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "Öppna i helskärm"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "Återställ kamera"
|
||||
tooltip: "Återställ kamera och position"
|
||||
}
|
||||
updateMap: {
|
||||
button: "Uppdatera karta"
|
||||
tooltip: "Rensa cacheminne"
|
||||
}
|
||||
lighting: {
|
||||
title: "Ljus"
|
||||
dayNightSwitch: {
|
||||
tooltip: "Dag/Natt"
|
||||
}
|
||||
sunlight: "Solljus"
|
||||
ambientLight: "Ljussättning"
|
||||
}
|
||||
resolution: {
|
||||
title: "Upplösning"
|
||||
high: "Hög (SSAA x2)"
|
||||
normal: "Normal (Ursprunglig x1)"
|
||||
low: "Låg (Uppskalning x0.5)"
|
||||
}
|
||||
mapControls: {
|
||||
title: "Kartkontroller"
|
||||
showZoomButtons: "Visa zoom-knappar"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "Kontroller för fri flygning"
|
||||
mouseSensitivity: "Muskänslighet"
|
||||
invertMouseY: "Invertera mus Y"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "Renderings avstånd"
|
||||
hiresLayer: "Högupplösningslager"
|
||||
lowersLayer: "Lågupplösningslager"
|
||||
loadHiresWhileMoving: "Ladda högupplösningslager under rörelse"
|
||||
off: "Off"
|
||||
}
|
||||
theme: {
|
||||
title: "Teman"
|
||||
default: "Standard (System/Webbläsare)"
|
||||
dark: "Mörkt"
|
||||
light: "Ljust"
|
||||
contrast: "Kontrast"
|
||||
}
|
||||
chunkBorders: {
|
||||
button: "Visa chunkgränser"
|
||||
}
|
||||
debug: {
|
||||
button: "Felsökning"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "Återställ alla inställningar"
|
||||
}
|
||||
players: {
|
||||
title: "Spelare"
|
||||
tooltip: "Spelarlista"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "Kompass / Vänd mot norr"
|
||||
}
|
||||
screenshot: {
|
||||
title: "Skärmdump"
|
||||
button: "Ta en skärmdump"
|
||||
clipboard: "Kopiera till urklipp"
|
||||
}
|
||||
controls: {
|
||||
title: "Visningsläge"
|
||||
perspective: {
|
||||
button: "Perspektiv"
|
||||
tooltip: "Perspektiv-vy"
|
||||
}
|
||||
flatView: {
|
||||
button: "Platt"
|
||||
tooltip: "Ortografisk / platt vy"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "Fri flygning"
|
||||
tooltip: "Fri flygning / Åskådarläge"
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "Språk"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "Block"
|
||||
position: "Position"
|
||||
chunk: "Chunk"
|
||||
region: {
|
||||
region: "Område"
|
||||
file: "Fil"
|
||||
}
|
||||
light: {
|
||||
light: "Ljus"
|
||||
sun: "Sol"
|
||||
block: "Block"
|
||||
}
|
||||
}
|
||||
info: {
|
||||
title: "Info"
|
||||
button: "Info"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>Muskontroller:</h2>
|
||||
<table>
|
||||
<tr><th>Styra</th><td><kbd>vänster klick</kbd> + dra</td></tr>
|
||||
<tr><th>Zoom</th><td><kbd>mushjul</kbd> (scroll)</td></tr>
|
||||
<tr><th>Rotera / luta</th><td><kbd>Höger klick</kbd> + dra</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Tangentbordskontroller:</h2>
|
||||
<table>
|
||||
<tr><th>Styra</th><td><kbd>wasd</kbd> / <kbd>piltangenter</kbd></td></tr>
|
||||
<tr><th>Zoom</th><td><kbd>+</kbd>/<kbd>-</kbd> eller <kbd>Ins</kbd>/<kbd>Home</kbd></td></tr>
|
||||
<tr><th>Rotera / luta</th><td><kbd>Vänster-Alt</kbd> + <kbd>wasd</kbd> / <kbd>piltangenter</kbd> eller <kbd>Delete</kbd>/<kbd>End</kbd>/<kbd>Page Up</kbd>/<kbd>Page Down</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Pekkontroller:</h2>
|
||||
<table>
|
||||
<tr><th>Styra</th><td>rör + dra</td></tr>
|
||||
<tr><th>Zoom</th><td>rör med två fingrar + nypa</td></tr>
|
||||
<tr><th>Rotera / luta</th><td>rör med två fingrar + rotera / flytta upp / ner</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p class="info-footer">
|
||||
Denna karta har blivit genererad med ♥ med hjälp av <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
|
||||
</p>
|
||||
"""
|
||||
}
|
||||
}
|
171
src/plugins/BlueMap/data/web/lang/th.conf
Normal file
171
src/plugins/BlueMap/data/web/lang/th.conf
Normal file
@ -0,0 +1,171 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "เมนู"
|
||||
tooltip: "เมนู"
|
||||
}
|
||||
map: {
|
||||
unloaded: "ไม่มีแผนที่โหลด"
|
||||
loading: "กำลังโหลดแผนที่..."
|
||||
errored: "เกิดข้อผิดพลาดในขณะโหลดแผนที่"
|
||||
}
|
||||
maps: {
|
||||
title: "แผนที่"
|
||||
button: "แผนที่"
|
||||
tooltip: "รายชื่อ-แผนที่"
|
||||
}
|
||||
markers: {
|
||||
title: "จุดมาร์ค"
|
||||
button: "จุดมาร์ค"
|
||||
tooltip: "รายชื่อ-จุดมาร์ค"
|
||||
marker: "จุดมาร์ค | จุดมาร์ค"
|
||||
markerSet: "ตั้งจุดมาร์ค | ตั้งจุดมาร์ค"
|
||||
searchPlaceholder: "ค้นหา..."
|
||||
followPlayerTitle: "ติดตามผู้เล่น"
|
||||
sort {
|
||||
title: "เรียงตาม"
|
||||
by {
|
||||
default: "ค่าเริ่มต้น"
|
||||
label: "ชื่อ"
|
||||
distance: "ระยะทาง"
|
||||
}
|
||||
}
|
||||
}
|
||||
settings: {
|
||||
title: "ตั้งค่า"
|
||||
button: "ตั้งค่า"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "ไปแบบเต็มหน้าจอ"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "รีเซ็ตกล้อง"
|
||||
tooltip: "รีเซ็ตกล้องและตำแหน่ง"
|
||||
}
|
||||
updateMap: {
|
||||
button: "อัพเดทแผนที่"
|
||||
tooltip: "ล้างแคชไทล์"
|
||||
}
|
||||
lighting: {
|
||||
title: "แสง"
|
||||
dayNightSwitch: {
|
||||
tooltip: "กลางวัน/กลางคืน"
|
||||
}
|
||||
sunlight: "แสงแดด"
|
||||
ambientLight: "แสงบรรยกาศ"
|
||||
}
|
||||
resolution: {
|
||||
title: "ความละเอียด"
|
||||
high: "สูง (SSAA x2)"
|
||||
normal: "ธรรมดา (Native x1)"
|
||||
low: "ต่ำ (Upscaling x0.5)"
|
||||
}
|
||||
mapControls: {
|
||||
title: "การควบคุมแผนที่"
|
||||
showZoomButtons: "แสดงปุ่มซูม"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "การควบคุมการบินอิสระ"
|
||||
mouseSensitivity: "ความไวของเมาส์"
|
||||
invertMouseY: "กลับเมาส์แกน Y"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "ระยะเรนเดอร์"
|
||||
hiresLayer: "ชั้นหลัก"
|
||||
lowersLayer: "ชั้นคุณภาพน้อย"
|
||||
loadHiresWhileMoving: "โหลดชั้นกลางในขณะเคลื่อนที่"
|
||||
off: "ปิด"
|
||||
}
|
||||
theme: {
|
||||
title: "ธีม"
|
||||
default: "ค่าเริ่มต้น (ระบบ/เบราว์เซอร์)"
|
||||
dark: "มืด"
|
||||
light: "สว่าง"
|
||||
contrast: "มืดสนิด"
|
||||
}
|
||||
debug: {
|
||||
button: "ดีบัก"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "รีเซ็ตการตั้งค่าทั้งหมด"
|
||||
}
|
||||
players: {
|
||||
title: "ผู้เล่น"
|
||||
tooltip: "รายชื่อ-ผู้เล่น"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "เข็มทิศ / หันหน้าไปทางทิศเหนือ"
|
||||
}
|
||||
screenshot: {
|
||||
title: "ภาพหน้าจอ"
|
||||
button: "ถ่ายภาพหน้าจอ"
|
||||
clipboard: "คัดลอกไปยังคลิปบอร์ด"
|
||||
}
|
||||
controls: {
|
||||
title: "ดู / ควบคุม"
|
||||
perspective: {
|
||||
button: "มุมมอง"
|
||||
tooltip: "มุมมอง"
|
||||
}
|
||||
flatView: {
|
||||
button: "แบน"
|
||||
tooltip: "ออร์โธกราฟิก / มุมมองแบน"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "บินอิสระ"
|
||||
tooltip: "บินอิสระ / โหมดผู้ชม"
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "ภาษา"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "บล็อก"
|
||||
position: "ตำแหน่ง"
|
||||
chunk: "ชังก์"
|
||||
region: {
|
||||
region: "กลุ่มชังก์"
|
||||
file: "ไฟล์"
|
||||
}
|
||||
light: {
|
||||
light: "แสงสว่าง"
|
||||
sun: "ดวงอาทิตย์"
|
||||
block: "บล็อก"
|
||||
}
|
||||
}
|
||||
info: {
|
||||
title: "ข้อมูล"
|
||||
button: "ข้อมูล"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>การควบคุมเมาส์:</h2>
|
||||
<table>
|
||||
<tr><th>เคลื่อนไหว</th><td><kbd>คลิกซำย</kbd> + ลาก</td></tr>
|
||||
<tr><th>ซูม</th><td><kbd>ลูกกลิ้งเมาส์</kbd> (เหลื่อน)</td></tr>
|
||||
<tr><th>หมุน / เอียง</th><td><kbd>คลิกขวา</kbd> + ลาก</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>แป้นพิมพ์ควบคุม:</h2>
|
||||
<table>
|
||||
<tr><th>เคลื่อนไหว</th><td><kbd>wasd</kbd> / <kbd>ปุ่มลูกศร</kbd></td></tr>
|
||||
<tr><th>ซูม</th><td>แป้นตัวเลข: <kbd>+</kbd>/<kbd>-</kbd> หรือ <kbd>Ins</kbd>/<kbd>Home</kbd></td></tr>
|
||||
<tr><th>หมุน / เอียง</th><td><kbd>Alt ซ้าย</kbd> + <kbd>wasd</kbd> / <kbd>ปุ่มลูกศร</kbd> หรือ <kbd>Delete</kbd>/<kbd>End</kbd>/<kbd>Page Up</kbd>/<kbd>Page Down</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>สัมผัสหน้าจอควบคุม:</h2>
|
||||
<table>
|
||||
<tr><th>เคลื่อนไหว</th><td>แตะ + ลาก</td></tr>
|
||||
<tr><th>ซูม</th><td>แตะด้วยสองนิ้ว + หยิก</td></tr>
|
||||
<tr><th>หมุน / เอียง</th><td>สัมผัสด้วยสองนิ้ว + หมุน / เลื่อนขึ้น / ลง</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p class="info-footer">
|
||||
แผนที่นี้ถูกสร้างขึ้นด้วย ♥ <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
|
||||
</p>
|
||||
"""
|
||||
}
|
||||
}
|
171
src/plugins/BlueMap/data/web/lang/tr.conf
Normal file
171
src/plugins/BlueMap/data/web/lang/tr.conf
Normal file
@ -0,0 +1,171 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "Menü"
|
||||
tooltip: "Menü"
|
||||
}
|
||||
map: {
|
||||
unloaded: "Haritalar yüklenmedi."
|
||||
loading: "Harita yükleniyor..."
|
||||
errored: "Haritayı yüklerken bir hata oluştu!"
|
||||
}
|
||||
maps: {
|
||||
title: "Haritalar"
|
||||
button: "Haritalar"
|
||||
tooltip: "Harita listesi"
|
||||
}
|
||||
markers: {
|
||||
title: "Noktalar"
|
||||
button: "Noktalar"
|
||||
tooltip: "Nokta listesi"
|
||||
marker: "nokta | noktalar"
|
||||
markerSet: "nokta kur | noktalar kur"
|
||||
searchPlaceholder: "Ara..."
|
||||
followPlayerTitle: "Oyuncuyu takip et"
|
||||
sort {
|
||||
title: "Sıralama türü"
|
||||
by {
|
||||
default: "varsayılan"
|
||||
label: "isim"
|
||||
distance: "uzaklık"
|
||||
}
|
||||
}
|
||||
}
|
||||
settings: {
|
||||
title: "Ayarlar"
|
||||
button: "Ayarlar"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "Tam ekran"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "Kamerayı sıfırla"
|
||||
tooltip: "Kamerayı ve pozisyonu sıfırla"
|
||||
}
|
||||
updateMap: {
|
||||
button: "Haritayı güncele"
|
||||
tooltip: "Harita Parça önbelleğini temizle"
|
||||
}
|
||||
lighting: {
|
||||
title: "Aydınlatma"
|
||||
dayNightSwitch: {
|
||||
tooltip: "Sabah/Akşam"
|
||||
}
|
||||
sunlight: "Güneş ışığı"
|
||||
ambientLight: "Çevre ışığı"
|
||||
}
|
||||
resolution: {
|
||||
title: "Çözünürlük"
|
||||
high: "Yüksek (SSAA x2)"
|
||||
normal: "Normal (Native x1)"
|
||||
low: "Düşük (Upscaling x0.5)"
|
||||
}
|
||||
mapControls: {
|
||||
title: "Harita kontrolleri"
|
||||
showZoomButtons: "Yakınlaştırma tuşlarını göster"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "Serbest kamera kontrolleri"
|
||||
mouseSensitivity: "Fare hassasiyeti"
|
||||
invertMouseY: "Fareyi tersine çevir"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "Görüş mesafesi"
|
||||
hiresLayer: "Yüksek çözünürlük katmanı"
|
||||
lowersLayer: "Düşük çözünürlük Katmanı"
|
||||
loadHiresWhileMoving: "Haraket ettirirken yüklemeye devam et"
|
||||
off: "Kapalı"
|
||||
}
|
||||
theme: {
|
||||
title: "Tema"
|
||||
default: "Varsayılan (Sistem/Tarayıcı)"
|
||||
dark: "Karanlık"
|
||||
light: "Aydınlık"
|
||||
contrast: "Kontrast"
|
||||
}
|
||||
debug: {
|
||||
button: "Hata ayıklama"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "Tüm ayarları sıfırla"
|
||||
}
|
||||
players: {
|
||||
title: "Oyuncular"
|
||||
tooltip: "Oyuncu listesi"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "Pusula / Kuzeye Dön"
|
||||
}
|
||||
screenshot: {
|
||||
title: "Ekran görüntüsü"
|
||||
button: "Ekran görüntüsü Al"
|
||||
clipboard: "Panoya kaydet"
|
||||
}
|
||||
controls: {
|
||||
title: "Görüş / Kontroller"
|
||||
perspective: {
|
||||
button: "Perspektif"
|
||||
tooltip: "Perspektif bakışı"
|
||||
}
|
||||
flatView: {
|
||||
button: "Kuşbakışı"
|
||||
tooltip: "Ortografik / Kuşbakışı"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "Serbest kamera"
|
||||
tooltip: "Serbest kamera / Seyirci modu"
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "Dil"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "Blok"
|
||||
position: "Pozisyon"
|
||||
chunk: "Chunk"
|
||||
region: {
|
||||
region: "Bölge"
|
||||
file: "Dosya"
|
||||
}
|
||||
light: {
|
||||
light: "Işık"
|
||||
sun: "Güneş"
|
||||
block: "Blok"
|
||||
}
|
||||
}
|
||||
info: {
|
||||
title: "Bilgi"
|
||||
button: "Bilgi"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>Fare Kontrolleri:</h2>
|
||||
<table>
|
||||
<tr><th>Taşı</th><td><kbd>sol tık</kbd> + haraket ettir</td></tr>
|
||||
<tr><th>Yakınlaştır</th><td><kbd>fare tekerleği</kbd> (kaydır)</td></tr>
|
||||
<tr><th>Döndür / Eğilt</th><td><kbd>sağ tık</kbd> + haraket ettir</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Klavye Kontrolleri:</h2>
|
||||
<table>
|
||||
<tr><th>Taşı</th><td><kbd>wasd</kbd> / <kbd>ok tuşları</kbd></td></tr>
|
||||
<tr><th>Yakınlaştır</th><td>Numpad: <kbd>+</kbd>/<kbd>-</kbd> veya <kbd>Ins</kbd>/<kbd>Home</kbd></td></tr>
|
||||
<tr><th>Döndür / Eğim ver</th><td><kbd>Left-Alt</kbd> + <kbd>wasd</kbd> / <kbd>ok tuşları</kbd> veya <kbd>Delete</kbd>/<kbd>End</kbd>/<kbd>Page Up</kbd>/<kbd>Page Down</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Dokunmatik Kontrolleri:</h2>
|
||||
<table>
|
||||
<tr><th>Taşı</th><td>dokun + kaydır</td></tr>
|
||||
<tr><th>Yakınlaştır</th><td>iki parmaklarını birbirine yaklaştır/uzaklaştır</td></tr>
|
||||
<tr><th>Döndür / Eğim ver</th><td>iki parmağınla dokun + haraket ettir / aşağı/yukarı kaydır</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p class="info-footer">
|
||||
Bu harita ♥ <a href="https://bluecolo.red/bluemap">BlueMap</a> {version} ile oluşturulmuştur
|
||||
</p>
|
||||
"""
|
||||
}
|
||||
}
|
174
src/plugins/BlueMap/data/web/lang/ua.conf
Normal file
174
src/plugins/BlueMap/data/web/lang/ua.conf
Normal file
@ -0,0 +1,174 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "Меню"
|
||||
tooltip: "Меню"
|
||||
}
|
||||
map: {
|
||||
unloaded: "Карта не завантажена."
|
||||
loading: "Карта завантажується..."
|
||||
errored: "При завантаженні цієї карти сталася помилка!"
|
||||
}
|
||||
maps: {
|
||||
title: "Карти"
|
||||
button: "Карти"
|
||||
tooltip: "Список карт"
|
||||
}
|
||||
markers: {
|
||||
title: "Мітки"
|
||||
button: "Мітки"
|
||||
tooltip: "Список міток"
|
||||
marker: "маркер | маркери"
|
||||
markerSet: "набір маркерів | набори маркерів"
|
||||
searchPlaceholder: "Пошук..."
|
||||
followPlayerTitle: "Слідкувати за гравцем"
|
||||
sort {
|
||||
title: "Сортувати за"
|
||||
by {
|
||||
default: "замовчуванням"
|
||||
label: "імені"
|
||||
distance: "відстані"
|
||||
}
|
||||
}
|
||||
}
|
||||
settings: {
|
||||
title: "Налаштування"
|
||||
button: "Налаштування"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "Перейти в повноекранний режим"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "Скинути налаштування камери"
|
||||
tooltip: "Скинути налаштування та позицію камери"
|
||||
}
|
||||
updateMap: {
|
||||
button: "Оновити карту"
|
||||
tooltip: "Очистити кеш тайлів"
|
||||
}
|
||||
lighting: {
|
||||
title: "Освітлення"
|
||||
dayNightSwitch: {
|
||||
tooltip: "День/Ніч"
|
||||
}
|
||||
sunlight: "Сонячне світло"
|
||||
ambientLight: "Навколишнє світло"
|
||||
}
|
||||
resolution: {
|
||||
title: "Роздільна здатність"
|
||||
high: "Висока (SSAA x2)"
|
||||
normal: "Нормальна (Системна x1)"
|
||||
low: "Низька (Апскейл x0.5)"
|
||||
}
|
||||
mapControls: {
|
||||
title: "Керування мапою"
|
||||
showZoomButtons: "Показати кнопки масштабування"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "Налаштування вільного польоту"
|
||||
mouseSensitivity: "Чутливість миші"
|
||||
invertMouseY: "Вертикальне інвертування миші"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "Відстань промальовки"
|
||||
hiresLayer: "Високодеталізований шар"
|
||||
lowersLayer: "Низькодеталізований шар"
|
||||
loadHiresWhileMoving: "Вис. шар під час руху"
|
||||
off: "Вимк"
|
||||
}
|
||||
theme: {
|
||||
title: "Тема"
|
||||
default: "За замовчуванням (Браузерна)"
|
||||
dark: "Темна"
|
||||
light: "Світла"
|
||||
contrast: "Контрастна"
|
||||
}
|
||||
chunkBorders: {
|
||||
button: "Показувати межі чанків"
|
||||
}
|
||||
debug: {
|
||||
button: "Відлагоджувальний режим"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "Скинути всі налаштування"
|
||||
}
|
||||
players: {
|
||||
title: "Гравці"
|
||||
tooltip: "Список гравців"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "Компас / Повернути на північ"
|
||||
}
|
||||
screenshot: {
|
||||
title: "Скріншот"
|
||||
button: "Зробити Скріншот"
|
||||
clipboard: "Скопіювати в буфер обміну"
|
||||
}
|
||||
controls: {
|
||||
title: "Налаштування відображення"
|
||||
perspective: {
|
||||
button: "Перспектива"
|
||||
tooltip: "Перспективна проекція"
|
||||
}
|
||||
flatView: {
|
||||
button: "Пласка карта"
|
||||
tooltip: "Ортографічна / Пласка проекція"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "Вільний політ"
|
||||
tooltip: "Вільний політ / \"Spectator mode\""
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "Мова"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "Блок"
|
||||
position: "Позиція"
|
||||
chunk: "Чанк"
|
||||
region: {
|
||||
region: "Регіон"
|
||||
file: "Файл"
|
||||
}
|
||||
light: {
|
||||
light: "Освітлення"
|
||||
sun: "Сонце"
|
||||
block: "Блоки"
|
||||
}
|
||||
}
|
||||
info: {
|
||||
title: "Інформація"
|
||||
button: "Інформація"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>Керування-мишею:</h2>
|
||||
<table>
|
||||
<tr><th>рух</th><td><kbd>лівий-клік</kbd> + пересування</td></tr>
|
||||
<tr><th>приближення</th><td><kbd>колесико-миші</kbd> (прокрутити)</td></tr>
|
||||
<tr><th>повернути / повернути</th><td><kbd>правий-клік</kbd> + пересування</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Керування-клавіатурою:</h2>
|
||||
<table>
|
||||
<tr><th>рух</th><td><kbd>wasd</kbd> / <kbd>стрілки-клавіатури</kbd></td></tr>
|
||||
<tr><th>приблизити</th><td>Цифроблок: <kbd>+</kbd>/<kbd>-</kbd> або <kbd>Ins</kbd>/<kbd>Home</kbd></td></tr>
|
||||
<tr><th>повернути / нахилити</th><td><kbd>Лівий-Alt</kbd> + <kbd>wasd</kbd> / <kbd>стрілки-клавіатури</kbd> або <kbd>Delete</kbd>/<kbd>End</kbd>/<kbd>Page Up</kbd>/<kbd>Page Down</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Сенсорна-панель:</h2>
|
||||
<table>
|
||||
<tr><th>рух</th><td>дотик + перетягування</td></tr>
|
||||
<tr><th>приблизити</th><td>дотик двома пальцями + зсув доверху</td></tr>
|
||||
<tr><th>поворот / нахил</th><td>дотик двома пальцями + поворот / зсув доверху / донизу</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p class="info-footer">
|
||||
Цю карту було згенеровано з ♥ використовуючи <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
|
||||
</p>
|
||||
"""
|
||||
}
|
||||
}
|
175
src/plugins/BlueMap/data/web/lang/vi.conf
Normal file
175
src/plugins/BlueMap/data/web/lang/vi.conf
Normal file
@ -0,0 +1,175 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "Menu"
|
||||
tooltip: "Menu"
|
||||
}
|
||||
map: {
|
||||
unloaded: "Không có bản đồ."
|
||||
loading: "Đang tải bản đồ..."
|
||||
errored: "Có lỗi khi tải bản đồ!"
|
||||
}
|
||||
maps: {
|
||||
title: "Bản đồ"
|
||||
button: "Bản đồ"
|
||||
tooltip: "Mọi bản đồ"
|
||||
}
|
||||
markers: {
|
||||
title: "Đánh dấu"
|
||||
button: "Đánh dấu"
|
||||
tooltip: "Mọi đánh dấu"
|
||||
marker: "đánh dấu | các đánh dấu"
|
||||
markerSet: "cụm đánh dấu | các cụm đánh dấu"
|
||||
searchPlaceholder: "Tìm..."
|
||||
followPlayerTitle: "Bám theo"
|
||||
sort {
|
||||
title: "Sắp xếp"
|
||||
by {
|
||||
default: "mặc định"
|
||||
label: "tên"
|
||||
distance: "khoảng cách"
|
||||
}
|
||||
}
|
||||
}
|
||||
settings: {
|
||||
title: "Cài đặt"
|
||||
button: "Cài đặt"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "Toàn màn hình"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "Đặt lại camera"
|
||||
tooltip: "Đặt lại camera và vị trí"
|
||||
}
|
||||
updateMap: {
|
||||
button: "Cập nhật bản đồ"
|
||||
tooltip: "Xóa bộ nhớ đệm"
|
||||
}
|
||||
lighting: {
|
||||
title: "Ánh sáng"
|
||||
dayNightSwitch: {
|
||||
tooltip: "Ngày/Đêm"
|
||||
}
|
||||
sunlight: "Nhật quang"
|
||||
ambientLight: "Phát quang"
|
||||
}
|
||||
resolution: {
|
||||
title: "Độ phân giải"
|
||||
high: "Cao (SSAA x2)"
|
||||
normal: "Thường (Native x1)"
|
||||
low: "Thấp (Upscaling x0.5)"
|
||||
}
|
||||
mapControls: {
|
||||
title: "Điều khiển"
|
||||
showZoomButtons: "Hiện nút thu phóng"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "Chế độ bay"
|
||||
mouseSensitivity: "Độ nhạy chuột"
|
||||
invertMouseY: "Đảo trục dọc"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "Khoảng cách kết xuất"
|
||||
hiresLayer: "Vùng chất lượng cao"
|
||||
lowersLayer: "Vùng chất lượng thấp"
|
||||
loadHiresWhileMoving: "Tải vùng chất lượng cao khi di chuyển"
|
||||
off: "Tắt"
|
||||
}
|
||||
theme: {
|
||||
title: "Giao diện"
|
||||
default: "Mặc định (hệ thống)"
|
||||
dark: "Tối"
|
||||
light: "Sáng"
|
||||
contrast: "Tương phản"
|
||||
}
|
||||
chunkBorders: {
|
||||
button: "Hiện đường viền chunk"
|
||||
}
|
||||
debug: {
|
||||
button: "Gỡ lỗi"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "Thiết đặt lại"
|
||||
}
|
||||
players: {
|
||||
title: "Người chơi"
|
||||
tooltip: "Danh sách người chơi"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "Hướng / chỉ bắc"
|
||||
}
|
||||
screenshot: {
|
||||
title: "Chụp màn hình"
|
||||
button: "Chụp màn hình"
|
||||
clipboard: "Sao chép"
|
||||
}
|
||||
controls: {
|
||||
title: "Chế độ"
|
||||
perspective: {
|
||||
button: "Xung quanh"
|
||||
tooltip: "Góc nhìn xung quanh"
|
||||
}
|
||||
flatView: {
|
||||
button: "Phẳng"
|
||||
tooltip: "Góc nhìn từ trên xuống"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "Bay"
|
||||
tooltip: "Góc nhìn chim bay"
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "Ngôn ngữ"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "Khối"
|
||||
position: "Vị trí"
|
||||
chunk: "Vùng"
|
||||
region: {
|
||||
region: "Khu vực"
|
||||
file: "Tập tin"
|
||||
}
|
||||
light: {
|
||||
light: "Ánh sáng"
|
||||
sun: "Nhật quang"
|
||||
block: "Phát quang"
|
||||
}
|
||||
clipboard: "Bấm để sao chép"
|
||||
}
|
||||
info: {
|
||||
title: "Thông tin"
|
||||
button: "Thông tin"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>Điều khiển chuột:</h2>
|
||||
<table>
|
||||
<tr><th>Di chuyển</th><td><kbd>chuột trái</kbd> + kéo</td></tr>
|
||||
<tr><th>Thu phóng</th><td><kbd>lăn chuột</kbd></td></tr>
|
||||
<tr><th>Xoay/nghiêng</th><td><kbd>chuột phải</kbd> + kéo</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Điều khiển bàn phím:</h2>
|
||||
<table>
|
||||
<tr><th>Di chuyển</th><td><kbd>wasd</kbd> / <kbd>phím mũi tên</kbd></td></tr>
|
||||
<tr><th>Thu phóng</th><td>Bàn phím số: <kbd>+</kbd>/<kbd>-</kbd> or <kbd>Ins</kbd>/<kbd>Home</kbd></td></tr>
|
||||
<tr><th>Xoay/nghiêng</th><td><kbd>Alt trái</kbd> + <kbd>wasd</kbd> / <kbd>phím mũi tên</kbd> hoặc <kbd>Delete</kbd>/<kbd>End</kbd>/<kbd>Page Up</kbd>/<kbd>Page Down</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>Điều khiển cảm ứng:</h2>
|
||||
<table>
|
||||
<tr><th>Di chuyển</th><td>chạm + kéo</td></tr>
|
||||
<tr><th>Thu phóng</th><td>chạm 2 ngón + nhón</td></tr>
|
||||
<tr><th>Xoay/nghiêng</th><td>chạm 2 ngón + di chuyển / xoay</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p class="info-footer">
|
||||
Trang được tạo bằng ♥ với <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
|
||||
</p>
|
||||
"""
|
||||
}
|
||||
}
|
171
src/plugins/BlueMap/data/web/lang/zh-CN.conf
Normal file
171
src/plugins/BlueMap/data/web/lang/zh-CN.conf
Normal file
@ -0,0 +1,171 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "菜单"
|
||||
tooltip: "打开菜单"
|
||||
}
|
||||
map: {
|
||||
unloaded: "未加载地图."
|
||||
loading: "正在加载地图..."
|
||||
errored: "尝试加载此地图时出错!"
|
||||
}
|
||||
maps: {
|
||||
title: "地图"
|
||||
button: "地图"
|
||||
tooltip: "地图列表"
|
||||
}
|
||||
markers: {
|
||||
title: "标记"
|
||||
button: "标记"
|
||||
tooltip: "标记列表"
|
||||
marker: "标记 | 标记列表"
|
||||
markerSet: "标记集 | 标记集"
|
||||
searchPlaceholder: "搜索..."
|
||||
followPlayerTitle: "跟随玩家"
|
||||
sort {
|
||||
title: "排序方式"
|
||||
by {
|
||||
default: "默认"
|
||||
label: "名称"
|
||||
distance: "距离"
|
||||
}
|
||||
}
|
||||
}
|
||||
settings: {
|
||||
title: "设置"
|
||||
button: "打开设置"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "全屏"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "重置镜头"
|
||||
tooltip: "重置镜头和位置"
|
||||
}
|
||||
updateMap: {
|
||||
button: "更新地图"
|
||||
tooltip: "清除方块缓存"
|
||||
}
|
||||
lighting: {
|
||||
title: "光照"
|
||||
dayNightSwitch: {
|
||||
tooltip: "昼/夜"
|
||||
}
|
||||
sunlight: "日光"
|
||||
ambientLight: "环境光"
|
||||
}
|
||||
resolution: {
|
||||
title: "抗锯齿"
|
||||
high: "高(SSAA x2)"
|
||||
normal: "普通(默认 x1)"
|
||||
low: "低(粗糙 x0.5)"
|
||||
}
|
||||
mapControls: {
|
||||
title: "地图控制"
|
||||
showZoomButtons: "显示缩放按钮"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "自由飞行控制"
|
||||
mouseSensitivity: "鼠标灵敏度"
|
||||
invertMouseY: "反转鼠标 Y 轴"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "渲染距离"
|
||||
hiresLayer: "高分辨率"
|
||||
lowersLayer: "低分辨率"
|
||||
loadHiresWhileMoving: "移动时加载高清图像"
|
||||
off: "关闭"
|
||||
}
|
||||
theme: {
|
||||
title: "主题"
|
||||
default: "默认(系统/浏览器)"
|
||||
dark: "深色模式"
|
||||
light: "浅色模式"
|
||||
contrast: "高对比模式"
|
||||
}
|
||||
debug: {
|
||||
button: "调试"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "重置所有设置"
|
||||
}
|
||||
players: {
|
||||
title: "玩家"
|
||||
tooltip: "玩家列表"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "指南针 / 朝北"
|
||||
}
|
||||
screenshot: {
|
||||
title: "截图"
|
||||
button: "截图"
|
||||
clipboard: "复制到剪贴板"
|
||||
}
|
||||
controls: {
|
||||
title: "视野 / 控制"
|
||||
perspective: {
|
||||
button: "透视"
|
||||
tooltip: "透视视野"
|
||||
}
|
||||
flatView: {
|
||||
button: "平视"
|
||||
tooltip: "正交视图 / 平坦视图"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "自由视野"
|
||||
tooltip: "自由视野 / 观察者模式"
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "语言"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "方块"
|
||||
position: "坐标"
|
||||
chunk: "区块"
|
||||
region: {
|
||||
region: "区域"
|
||||
file: "文件"
|
||||
}
|
||||
light: {
|
||||
light: "光源"
|
||||
sun: "太阳"
|
||||
block: "方块"
|
||||
}
|
||||
}
|
||||
info: {
|
||||
title: "信息"
|
||||
button: "信息"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>鼠标控制:</h2>
|
||||
<table>
|
||||
<tr><th>移动</th><td><kbd>左键点击</kbd> + 拖动</td></tr>
|
||||
<tr><th>缩放</th><td><kbd>鼠标滚轮</kbd>(滚动)</td></tr>
|
||||
<tr><th>旋转 / 倾斜</th><td><kbd>右键点击</kbd> + 拖动</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>键盘控制:</h2>
|
||||
<table>
|
||||
<tr><th>移动</th><td><kbd>wasd</kbd> / <kbd>方向键</kbd></td></tr>
|
||||
<tr><th>缩放</th><td>小键盘: <kbd>+</kbd>/<kbd>-</kbd> 或者 <kbd>Ins</kbd>/<kbd>Home</kbd></td></tr>
|
||||
<tr><th>旋转 / 倾斜</th><td><kbd>左-Alt</kbd> + <kbd>wasd</kbd> / <kbd>方向键</kbd> 或 <kbd>Delete</kbd>/<kbd>End</kbd>/<kbd>Page Up</kbd>/<kbd>Page Down</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>触屏控制:</h2>
|
||||
<table>
|
||||
<tr><th>移动</th><td>触屏 + 拖动</td></tr>
|
||||
<tr><th>缩放</th><td>双指触屏 + 捏合</td></tr>
|
||||
<tr><th>旋转 / 倾斜</th><td>双指触屏 + 旋转 / 向上滑动 / 向下滑动</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p class="info-footer">
|
||||
本地图用 ♥ 制作,使用了 <a href="https://bluecolo.red/bluemap">BlueMap</a> {version} 程序。
|
||||
</p>
|
||||
"""
|
||||
}
|
||||
}
|
144
src/plugins/BlueMap/data/web/lang/zh-HK.conf
Normal file
144
src/plugins/BlueMap/data/web/lang/zh-HK.conf
Normal file
@ -0,0 +1,144 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "菜單"
|
||||
tooltip: "菜單"
|
||||
}
|
||||
maps: {
|
||||
title: "地圖"
|
||||
button: "地圖"
|
||||
tooltip: "地圖列表"
|
||||
}
|
||||
markers: {
|
||||
title: "標記"
|
||||
button: "標記"
|
||||
tooltip: "標記列表"
|
||||
marker: "標記 | 標記"
|
||||
markerSet: "標記設定 | 標記設定"
|
||||
}
|
||||
settings: {
|
||||
title: "設定"
|
||||
button: "設定"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "開啟全螢幕模式"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "重設鏡頭視角"
|
||||
tooltip: "重設鏡頭視角及位置"
|
||||
}
|
||||
updateMap: {
|
||||
button: "重新讀取地圖"
|
||||
tooltip: "移除地圖快取"
|
||||
}
|
||||
lighting: {
|
||||
title: "光影"
|
||||
dayNightSwitch: {
|
||||
tooltip: "日/夜"
|
||||
}
|
||||
sunlight: "日光"
|
||||
ambientLight: "環境亮度"
|
||||
}
|
||||
resolution: {
|
||||
title: "解像度"
|
||||
high: "高 (SSAA反鋸齒 x2)"
|
||||
normal: "普通 (預設 x1)"
|
||||
low: "低 (倍率 x0.5)"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "自由瀏覽飛行模式"
|
||||
mouseSensitivity: "滑鼠靈敏度"
|
||||
invertMouseY: "反轉Y軸"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "渲染距離"
|
||||
hiresLayer: "高解像度層"
|
||||
lowersLayer: "低解像度層"
|
||||
}
|
||||
theme: {
|
||||
title: "顯示距離"
|
||||
default: "預設 (系統/瀏覽器)"
|
||||
dark: "黑暗"
|
||||
light: "光亮"
|
||||
}
|
||||
debug: {
|
||||
button: "除錯"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "重設所有設定"
|
||||
}
|
||||
players: {
|
||||
title: "玩家"
|
||||
tooltip: "玩家列表"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "指南針/朝北"
|
||||
}
|
||||
controls: {
|
||||
title: "觀賞模式/控制"
|
||||
perspective: {
|
||||
button: "3D透視"
|
||||
tooltip: "3D透視-觀賞模式"
|
||||
}
|
||||
flatView: {
|
||||
button: "平面"
|
||||
tooltip: "平面投射 / 平面-觀賞模式"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "自由瀏覽飛行模式"
|
||||
tooltip: "自由瀏覽 / 觀察者模式"
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "語言"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "方塊"
|
||||
position: "位置"
|
||||
chunk: "區塊"
|
||||
region: {
|
||||
region: "區域"
|
||||
file: "檔案"
|
||||
}
|
||||
light: {
|
||||
light: "光亮度"
|
||||
sun: "太陽"
|
||||
block: "方塊"
|
||||
}
|
||||
}
|
||||
info: {
|
||||
title: "資訊"
|
||||
button: "資訊"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>滑鼠控制:</h2>
|
||||
<table>
|
||||
<tr><th>移動</th><td><kbd>左鍵</kbd> + 拖拉</td></tr>
|
||||
<tr><th>放大縮小</th><td><kbd>滑鼠滾輪</kbd> (滾動)</td></tr>
|
||||
<tr><th>旋轉 / 傾斜</th><td><kbd>右鍵</kbd> + 拖拉</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>鍵盤控制:</h2>
|
||||
<table>
|
||||
<tr><th>移動</th><td><kbd>wasd</kbd> / <kbd>箭嘴按鍵</kbd></td></tr>
|
||||
<tr><th>放大縮小</th><td>數字鍵: <kbd>+</kbd>/<kbd>-</kbd> 或 <kbd>Ins</kbd>/<kbd>Home</kbd></td></tr>
|
||||
<tr><th>旋轉 / 傾斜</th><td><kbd>左 Alt</kbd> + <kbd>wasd</kbd> / <kbd>arrow-keys</kbd> 或 <kbd>Delete</kbd>/<kbd>End</kbd>/<kbd>Page Up</kbd>/<kbd>Page Down</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>觸碰控制:</h2>
|
||||
<table>
|
||||
<tr><th>移動</th><td>觸碰 + 拖拉</td></tr>
|
||||
<tr><th>放大縮小</th><td>用兩隻手指觸碰 </td></tr>
|
||||
<tr><th>旋轉 / 傾斜</th><td>用兩隻手指觸碰 + 旋轉 或 同時向上/下</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p class="info-footer">
|
||||
此地圖是用 ♥ 製作,地圖插件名稱是 <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
|
||||
</p>
|
||||
"""
|
||||
}
|
||||
}
|
174
src/plugins/BlueMap/data/web/lang/zh-TW.conf
Normal file
174
src/plugins/BlueMap/data/web/lang/zh-TW.conf
Normal file
@ -0,0 +1,174 @@
|
||||
{
|
||||
pageTitle: "BlueMap - {map}"
|
||||
menu: {
|
||||
title: "選單"
|
||||
tooltip: "選單"
|
||||
}
|
||||
map: {
|
||||
unloaded: "未載入任何地圖。"
|
||||
loading: "正在載入地圖..."
|
||||
errored: "載入地圖時發生錯誤!"
|
||||
}
|
||||
maps: {
|
||||
title: "地圖"
|
||||
button: "地圖"
|
||||
tooltip: "地圖清單"
|
||||
}
|
||||
markers: {
|
||||
title: "標記"
|
||||
button: "標記"
|
||||
tooltip: "標記清單"
|
||||
marker: "個標記 | 個標記"
|
||||
markerSet: "個標記組 | 個標記組"
|
||||
searchPlaceholder: "搜尋..."
|
||||
followPlayerTitle: "跟隨玩家"
|
||||
sort: {
|
||||
title: "排序方式"
|
||||
by: {
|
||||
default: "預設"
|
||||
label: "名稱"
|
||||
distance: "距離"
|
||||
}
|
||||
}
|
||||
}
|
||||
settings: {
|
||||
title: "設定"
|
||||
button: "設定"
|
||||
}
|
||||
goFullscreen: {
|
||||
button: "全螢幕模式"
|
||||
}
|
||||
resetCamera: {
|
||||
button: "重設相機"
|
||||
tooltip: "重設相機與位置"
|
||||
}
|
||||
updateMap: {
|
||||
button: "更新地圖"
|
||||
tooltip: "清除暫存"
|
||||
}
|
||||
lighting: {
|
||||
title: "光照"
|
||||
dayNightSwitch: {
|
||||
tooltip: "日 / 夜"
|
||||
}
|
||||
sunlight: "陽光"
|
||||
ambientLight: "環境光"
|
||||
}
|
||||
resolution: {
|
||||
title: "解析度"
|
||||
high: "高(SSAA 反鋸齒×2)"
|
||||
normal: "正常(原生×1)"
|
||||
low: "低(縮放×0.5)"
|
||||
}
|
||||
mapControls: {
|
||||
title: "地圖控制"
|
||||
showZoomButtons: "顯示縮放按鈕"
|
||||
}
|
||||
freeFlightControls: {
|
||||
title: "自由飛行控制"
|
||||
mouseSensitivity: "滑鼠靈敏度"
|
||||
invertMouseY: "反轉滑鼠 Y 軸"
|
||||
}
|
||||
renderDistance: {
|
||||
title: "顯示距離"
|
||||
hiresLayer: "高解析度層"
|
||||
lowersLayer: "低解析度層"
|
||||
loadHiresWhileMoving: "移動時載入高解析度層"
|
||||
off: "關閉"
|
||||
}
|
||||
theme: {
|
||||
title: "主題"
|
||||
default: "預設(系統 / 瀏覽器)"
|
||||
dark: "深色模式"
|
||||
light: "淺色模式"
|
||||
contrast: "對比模式"
|
||||
}
|
||||
chunkBorders: {
|
||||
button: "顯示區塊邊界"
|
||||
}
|
||||
debug: {
|
||||
button: "除錯模式"
|
||||
}
|
||||
resetAllSettings: {
|
||||
button: "重設所有設定"
|
||||
}
|
||||
players: {
|
||||
title: "玩家"
|
||||
tooltip: "玩家清單"
|
||||
}
|
||||
compass: {
|
||||
tooltip: "指南針 / 面向北方"
|
||||
}
|
||||
screenshot: {
|
||||
title: "螢幕擷取畫面"
|
||||
button: "擷圖"
|
||||
clipboard: "複製到剪貼板"
|
||||
}
|
||||
controls: {
|
||||
title: "視角 / 控制"
|
||||
perspective: {
|
||||
button: "透視"
|
||||
tooltip: "透視視角"
|
||||
}
|
||||
flatView: {
|
||||
button: "平面"
|
||||
tooltip: "正交 / 平面視角"
|
||||
}
|
||||
freeFlight: {
|
||||
button: "自由飛行"
|
||||
tooltip: "自由飛行 / 旁觀模式"
|
||||
}
|
||||
}
|
||||
language: {
|
||||
title: "語言"
|
||||
}
|
||||
blockTooltip: {
|
||||
block: "方塊"
|
||||
position: "位置"
|
||||
chunk: "區塊"
|
||||
region: {
|
||||
region: "區域"
|
||||
file: "檔案"
|
||||
}
|
||||
light: {
|
||||
light: "亮度"
|
||||
sun: "日光"
|
||||
block: "方塊"
|
||||
}
|
||||
}
|
||||
info: {
|
||||
title: "資訊"
|
||||
button: "資訊"
|
||||
content: """
|
||||
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
|
||||
<p>
|
||||
<h2>滑鼠控制:</h2>
|
||||
<table>
|
||||
<tr><th>移動</th><td><kbd>按下左鍵</kbd> + 拖曳</td></tr>
|
||||
<tr><th>縮放</th><td><kbd>滑鼠滾輪</kbd(滾動)</td></tr>
|
||||
<tr><th>旋轉 / 傾斜</th><td><kbd>按下右鍵</kbd> + 拖曳</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>鍵盤控制:</h2>
|
||||
<table>
|
||||
<tr><th>移動</th><td><kbd>wasd</kbd> / <kbd>方向鍵</kbd></td></tr>
|
||||
<tr><th>縮放</th><td>Numpad(數字鍵盤):<kbd>+</kbd>/<kbd>-</kbd> 或 <kbd>Ins</kbd>/<kbd>Home</kbd></td></tr>
|
||||
<tr><th>旋轉 / 傾斜</th><td><kbd>左 Alt</kbd> + <kbd>wasd</kbd> / <kbd>方向鍵</kbd> 或 <kbd>Delete</kbd>/<kbd>End</kbd>/<kbd>Page Up</kbd>/<kbd>Page Down</kbd></td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<p>
|
||||
<h2>觸控控制:</h2>
|
||||
<table>
|
||||
<tr><th>移動</th><td>觸控 + 拖曳</td></tr>
|
||||
<tr><th>縮放</th><td>雙指觸控 + 開合</td></tr>
|
||||
<tr><th>旋轉/傾斜</th><td>雙指觸控 + 旋轉 / 上下移動</td></tr>
|
||||
</table>
|
||||
</p>
|
||||
<br><hr>
|
||||
<p class="info-footer">
|
||||
這張地圖使用 <a href="https://bluecolo.red/bluemap">BlueMap</a> {version} 充滿愛心 ♥ 地製作而成
|
||||
</p>
|
||||
"""
|
||||
}
|
||||
}
|
1
src/plugins/BlueMap/data/web/settings.json
Normal file
1
src/plugins/BlueMap/data/web/settings.json
Normal file
@ -0,0 +1 @@
|
||||
{"version":"5.9","useCookies":true,"defaultToFlatView":true,"resolutionDefault":1.0,"minZoomDistance":5,"maxZoomDistance":100000,"hiresSliderMax":500,"hiresSliderDefault":100,"hiresSliderMin":0,"lowresSliderMax":7000,"lowresSliderDefault":2000,"lowresSliderMin":500,"mapDataRoot":"maps","liveDataRoot":"maps","maps":["world","world_the_end","world_nether"],"scripts":[],"styles":[]}
|
256
src/plugins/BlueMap/data/web/sql.php
Normal file
256
src/plugins/BlueMap/data/web/sql.php
Normal file
@ -0,0 +1,256 @@
|
||||
<?php
|
||||
|
||||
// !!! SET YOUR SQL-CONNECTION SETTINGS HERE: !!!
|
||||
|
||||
$driver = 'mysql'; // 'mysql' (MySQL) or 'pgsql' (PostgreSQL)
|
||||
$hostname = '127.0.0.1';
|
||||
$port = 3306;
|
||||
$username = 'root';
|
||||
$password = '';
|
||||
$database = 'bluemap';
|
||||
|
||||
// !!! END - DONT CHANGE ANYTHING AFTER THIS LINE !!!
|
||||
|
||||
|
||||
|
||||
|
||||
// compression
|
||||
$compressionHeaderMap = [
|
||||
"bluemap:none" => null,
|
||||
"bluemap:gzip" => "gzip",
|
||||
"bluemap:deflate" => "deflate",
|
||||
"bluemap:zstd" => "zstd",
|
||||
"bluemap:lz4" => "lz4"
|
||||
];
|
||||
|
||||
// meta files
|
||||
$metaFileKeys = [
|
||||
"settings.json" => "bluemap:settings",
|
||||
"textures.json" => "bluemap:textures",
|
||||
"live/markers.json" => "bluemap:markers",
|
||||
"live/players.json" => "bluemap:players",
|
||||
];
|
||||
|
||||
// mime-types for meta-files
|
||||
$mimeDefault = "application/octet-stream";
|
||||
$mimeTypes = [
|
||||
"txt" => "text/plain",
|
||||
"css" => "text/css",
|
||||
"csv" => "text/csv",
|
||||
"htm" => "text/html",
|
||||
"html" => "text/html",
|
||||
"js" => "text/javascript",
|
||||
"xml" => "text/xml",
|
||||
|
||||
"png" => "image/png",
|
||||
"jpg" => "image/jpeg",
|
||||
"jpeg" => "image/jpeg",
|
||||
"gif" => "image/gif",
|
||||
"webp" => "image/webp",
|
||||
"tif" => "image/tiff",
|
||||
"tiff" => "image/tiff",
|
||||
"svg" => "image/svg+xml",
|
||||
|
||||
"json" => "application/json",
|
||||
|
||||
"mp3" => "audio/mpeg",
|
||||
"oga" => "audio/ogg",
|
||||
"wav" => "audio/wav",
|
||||
"weba" => "audio/webm",
|
||||
|
||||
"mp4" => "video/mp4",
|
||||
"mpeg" => "video/mpeg",
|
||||
"webm" => "video/webm",
|
||||
|
||||
"ttf" => "font/ttf",
|
||||
"woff" => "font/woff",
|
||||
"woff2" => "font/woff2"
|
||||
];
|
||||
|
||||
// some helper functions
|
||||
function error($code, $message = null) {
|
||||
global $path;
|
||||
|
||||
http_response_code($code);
|
||||
header("Content-Type: text/plain");
|
||||
echo "BlueMap php-script - $code\n";
|
||||
if ($message != null) echo $message."\n";
|
||||
echo "Requested Path: $path";
|
||||
exit;
|
||||
}
|
||||
|
||||
function startsWith($haystack, $needle) {
|
||||
return substr($haystack, 0, strlen($needle)) === $needle;
|
||||
}
|
||||
|
||||
function issetOrElse(& $var, $fallback) {
|
||||
return isset($var) ? $var : $fallback;
|
||||
}
|
||||
|
||||
function compressionHeader($compressionKey) {
|
||||
global $compressionHeaderMap;
|
||||
|
||||
$compressionHeader = issetOrElse($compressionHeaderMap[$compressionKey], null);
|
||||
if ($compressionHeader)
|
||||
header("Content-Encoding: ".$compressionHeader);
|
||||
}
|
||||
|
||||
function getMimeType($path) {
|
||||
global $mimeDefault, $mimeTypes;
|
||||
|
||||
$i = strrpos($path, ".");
|
||||
if ($i === false) return $mimeDefault;
|
||||
|
||||
$s = strrpos($path, "/");
|
||||
if ($s !== false && $i < $s) return $mimeDefault;
|
||||
|
||||
$suffix = substr($path, $i + 1);
|
||||
if (isset($mimeTypes[$suffix]))
|
||||
return $mimeTypes[$suffix];
|
||||
|
||||
return $mimeDefault;
|
||||
}
|
||||
|
||||
function send($data) {
|
||||
if (is_resource($data)) {
|
||||
fpassthru($data);
|
||||
} else {
|
||||
echo $data;
|
||||
}
|
||||
}
|
||||
|
||||
// determine relative request-path
|
||||
$root = dirname($_SERVER['PHP_SELF']);
|
||||
if ($root === "/" || $root === "\\") $root = "";
|
||||
$uriPath = $_SERVER['REQUEST_URI'];
|
||||
$path = substr($uriPath, strlen($root));
|
||||
|
||||
// add /
|
||||
if ($path === "") {
|
||||
header("Location: $uriPath/");
|
||||
exit;
|
||||
}
|
||||
|
||||
// root => index.html
|
||||
if ($path === "/") {
|
||||
header("Content-Type: text/html");
|
||||
echo file_get_contents("index.html");
|
||||
exit;
|
||||
}
|
||||
|
||||
if (startsWith($path, "/maps/")) {
|
||||
|
||||
// determine map-path
|
||||
$pathParts = explode("/", substr($path, strlen("/maps/")), 2);
|
||||
$mapId = $pathParts[0];
|
||||
$mapPath = explode("?", $pathParts[1], 2)[0];
|
||||
|
||||
// Initialize PDO
|
||||
try {
|
||||
$sql = new PDO("$driver:host=$hostname;port=$port;dbname=$database", $username, $password);
|
||||
$sql->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
} catch (PDOException $e ) {
|
||||
error_log($e->getMessage(), 0); // Logs the detailed error message
|
||||
error(500, "Failed to connect to database");
|
||||
}
|
||||
|
||||
// provide map-tiles
|
||||
if (startsWith($mapPath, "tiles/")) {
|
||||
|
||||
// parse tile-coordinates
|
||||
preg_match_all("/tiles\/([\d\/]+)\/x(-?[\d\/]+)z(-?[\d\/]+).*/", $mapPath, $matches);
|
||||
$lod = intval($matches[1][0]);
|
||||
$storage = $lod === 0 ? "bluemap:hires" : "bluemap:lowres/".$lod;
|
||||
$tileX = intval(str_replace("/", "", $matches[2][0]));
|
||||
$tileZ = intval(str_replace("/", "", $matches[3][0]));
|
||||
|
||||
// query for tile
|
||||
try {
|
||||
$statement = $sql->prepare("
|
||||
SELECT d.data, c.key
|
||||
FROM bluemap_grid_storage_data d
|
||||
INNER JOIN bluemap_map m
|
||||
ON d.map = m.id
|
||||
INNER JOIN bluemap_grid_storage s
|
||||
ON d.storage = s.id
|
||||
INNER JOIN bluemap_compression c
|
||||
ON d.compression = c.id
|
||||
WHERE m.map_id = :map_id
|
||||
AND s.key = :storage
|
||||
AND d.x = :x
|
||||
AND d.z = :z
|
||||
");
|
||||
$statement->bindParam( ':map_id', $mapId, PDO::PARAM_STR );
|
||||
$statement->bindParam( ':storage', $storage, PDO::PARAM_STR );
|
||||
$statement->bindParam( ':x', $tileX, PDO::PARAM_INT );
|
||||
$statement->bindParam( ':z', $tileZ, PDO::PARAM_INT );
|
||||
$statement->setFetchMode(PDO::FETCH_ASSOC);
|
||||
$statement->execute();
|
||||
|
||||
// return result
|
||||
if ($line = $statement->fetch()) {
|
||||
header("Cache-Control: public,max-age=86400");
|
||||
compressionHeader($line["key"]);
|
||||
|
||||
if ($lod === 0) {
|
||||
header("Content-Type: application/octet-stream");
|
||||
} else {
|
||||
header("Content-Type: image/png");
|
||||
}
|
||||
|
||||
send($line["data"]);
|
||||
exit;
|
||||
}
|
||||
|
||||
} catch (PDOException $e) {
|
||||
error_log($e->getMessage(), 0);
|
||||
error(500, "Failed to fetch data");
|
||||
}
|
||||
|
||||
// no content if nothing found
|
||||
http_response_code(204);
|
||||
exit;
|
||||
}
|
||||
|
||||
// provide meta-files
|
||||
$storage = issetOrElse($metaFileKeys[$mapPath], null);
|
||||
if ($storage === null && startsWith($mapPath, "assets/"))
|
||||
$storage = "bluemap:asset/".substr($mapPath, strlen("assets/"));
|
||||
|
||||
if ($storage !== null) {
|
||||
try {
|
||||
$statement = $sql->prepare("
|
||||
SELECT d.data, c.key
|
||||
FROM bluemap_item_storage_data d
|
||||
INNER JOIN bluemap_map m
|
||||
ON d.map = m.id
|
||||
INNER JOIN bluemap_item_storage s
|
||||
ON d.storage = s.id
|
||||
INNER JOIN bluemap_compression c
|
||||
ON d.compression = c.id
|
||||
WHERE m.map_id = :map_id
|
||||
AND s.key = :storage
|
||||
");
|
||||
$statement->bindParam( ':map_id', $mapId, PDO::PARAM_STR );
|
||||
$statement->bindParam( ':storage', $storage, PDO::PARAM_STR );
|
||||
$statement->setFetchMode(PDO::FETCH_ASSOC);
|
||||
$statement->execute();
|
||||
|
||||
if ($line = $statement->fetch()) {
|
||||
header("Cache-Control: public,max-age=86400");
|
||||
header("Content-Type: ".getMimeType($mapPath));
|
||||
compressionHeader($line["key"]);
|
||||
|
||||
send($line["data"]);
|
||||
exit;
|
||||
}
|
||||
} catch (PDOException $e) {
|
||||
error_log($e->getMessage(), 0);
|
||||
error(500, "Failed to fetch data");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// no match => 404
|
||||
error(404);
|
147
src/plugins/BlueMap/maps/world.conf
Normal file
147
src/plugins/BlueMap/maps/world.conf
Normal file
@ -0,0 +1,147 @@
|
||||
## ##
|
||||
## BlueMap ##
|
||||
## Map-Config ##
|
||||
## ##
|
||||
|
||||
# The path to the save-folder of the world to render.
|
||||
# (If this is not defined (commented out or removed), the map will be only registered to the web-server and the web-app
|
||||
# but not rendered or loaded by BlueMap. This can be used to display a map that has been rendered somewhere else.)
|
||||
world: "world"
|
||||
|
||||
# The dimension of the world. Can be "minecraft:overworld", "minecraft:the_nether", "minecraft:the_end"
|
||||
# or any dimension-key introduced by a mod or datapack.
|
||||
dimension: "minecraft:overworld"
|
||||
|
||||
# The display-name of this map -> how this map will be named on the webapp.
|
||||
# You can change this at any time.
|
||||
# Default is the id of this map
|
||||
name: "world (overworld)"
|
||||
|
||||
# A lower value makes the map sorted first (in lists and menus), a higher value makes it sorted later.
|
||||
# The value needs to be an integer but it can be negative.
|
||||
# You can change this at any time.
|
||||
# Default is 0
|
||||
sorting: 0
|
||||
|
||||
# The position on the world where the map will be centered if you open it.
|
||||
# You can change this at any time.
|
||||
# This defaults to the world-spawn if you don't set it.
|
||||
#start-pos: {x:500, z:-820}
|
||||
|
||||
# The color of the sky as a hex-color
|
||||
# You can change this at any time.
|
||||
# Default is "#7dabff"
|
||||
sky-color: "#7dabff"
|
||||
|
||||
# The color of the void as a hex-color
|
||||
# You can change this at any time.
|
||||
# Default is "#000000"
|
||||
void-color: "#000000"
|
||||
|
||||
# Defines the initial sky-light-strength the map will be set to when it is opened.
|
||||
# 0 is no sky-light, 1 is fully lighted.
|
||||
# You can change this at any time.
|
||||
# Default is 1
|
||||
sky-light: 1
|
||||
|
||||
# Defines the ambient light-strength that every block is receiving, regardless of the sunlight/blocklight.
|
||||
# 0 is no ambient light, 1 is fully lighted.
|
||||
# You can change this at any time.
|
||||
# Default is 0
|
||||
ambient-light: 0.1
|
||||
|
||||
# BlueMap tries to omit all blocks that are below this Y-level and are not visible from above-ground.
|
||||
# More specific: Block-Faces that have a sunlight/skylight value of 0 are removed.
|
||||
# This improves the performance of the map on slower devices by a lot, but might cause some blocks to disappear that should normally be visible.
|
||||
# Changing this value requires a re-render of the map.
|
||||
# Set to a very high value to remove caves everywhere (e.g. 10000)
|
||||
# Set to a very low value to remove nothing and render all caves (e.g. -10000)
|
||||
# Default is 55 (slightly below water-level)
|
||||
remove-caves-below-y: 55
|
||||
|
||||
# This is the amount of blocks relative to the "ocean-floor" heightmap that the cave-detection will start at.
|
||||
# Everything above that (heightmap-relative) y-level will not be removed.
|
||||
# Comment or set to a very high value to disable using the ocean-floor heightmap for cave-detection.
|
||||
# Changing this value requires a re-render of the map.
|
||||
# Defaults to 10000 (disabled)
|
||||
cave-detection-ocean-floor: -5
|
||||
|
||||
# With this value set to true, BlueMap also uses the block-light value (additionally to the sky-light) to "detect caves".
|
||||
# (See: remove-caves-below-y)
|
||||
# Changing this value requires a re-render of the map.
|
||||
# Default is false
|
||||
cave-detection-uses-block-light: false
|
||||
|
||||
# With the below values you can limit the map-render.
|
||||
# This can be used to ignore the nethers ceiling or render only a certain part of a world.
|
||||
# If you change these values, bluemap automatically tries to update the map,
|
||||
# including deleting map-tiles which are outside the new limits.
|
||||
# Default is no min or max value (= infinite bounds)
|
||||
#min-x: -4000
|
||||
#max-x: 4000
|
||||
#min-z: -4000
|
||||
#max-z: 4000
|
||||
#min-y: 50
|
||||
#max-y: 100
|
||||
|
||||
# The minimum "inhabitedTime" value that a chunk must have to be rendered.
|
||||
# If you set this to a value greater than 0, bluemap will only render chunks that players have visited already.
|
||||
# Default is 0
|
||||
min-inhabited-time: 0
|
||||
|
||||
# Using this, BlueMap pretends that every Block out of the defined render-bounds is AIR,
|
||||
# this means you can see the blocks where the world is cut (instead of having a see-through/xray view).
|
||||
# This has only an effect if you set some render-bounds above.
|
||||
# Changing this value requires a re-render of the map.
|
||||
# Default is true
|
||||
render-edges: true
|
||||
|
||||
# Whether the perspective view will be enabled for this map.
|
||||
# Changing this to true requires a re-render of the map, only if the hires-layer is enabled and free-flight view is disabled.
|
||||
# Default is true
|
||||
enable-perspective-view: false
|
||||
|
||||
# Whether the flat (isometric, top-down) view will be enabled for this map.
|
||||
# Having only flat-view enabled while disabling free-flight and perspective will speed up the render and reduce the maps storage-size.
|
||||
# Default is true
|
||||
enable-flat-view: true
|
||||
|
||||
# Whether the free-flight view will be enabled for this map.
|
||||
# Changing this to true requires a re-render of the map, only if the hires-layer is enabled and perspective view is disabled.
|
||||
# Default is true
|
||||
enable-free-flight-view: false
|
||||
|
||||
# Whether the hires-layer will be enabled.
|
||||
# Disabling this will speed up rendering and reduce the size of the map-files a lot.
|
||||
# But you will not be able to see the full 3d-models if you zoom in on the map.
|
||||
# Changing this to false will not remove any existing tiles, existing tiles just won't get updated anymore.
|
||||
# Changing this to true will require a re-render of the map.
|
||||
# Default is true
|
||||
enable-hires: false
|
||||
|
||||
# This defines the storage-config that will be used to save this map.
|
||||
# You can find your storage configs next to this config file in the 'storages'-folder.
|
||||
# Changing this value requires a re-render of the map. The map in the old storage will not be deleted.
|
||||
# Default is "file"
|
||||
storage: "file"
|
||||
|
||||
# Normally BlueMap detects if a chunk has not yet generated it's light-data and omits rendering those chunks.
|
||||
# If this is set to true BlueMap will render Chunks even if there is no light-data!
|
||||
# This can be useful for example if some mod prevents light-data from being saved correctly.
|
||||
# However, this also has a few drawbacks:
|
||||
# - For those chunks, every block will always be fully lit
|
||||
# - Night-mode might not work correctly
|
||||
# - Caves will always be rendered (ignoring the 'renderCaves' setting)
|
||||
# Default is false
|
||||
ignore-missing-light-data: false
|
||||
|
||||
# Here you can define any static marker-sets with markers that should be displayed on the map.
|
||||
# You can change this at any time.
|
||||
# If you need dynamic markers, you can use any plugin that integrates with BlueMap's API.
|
||||
# Here is a list: https://bluemap.bluecolored.de/community/3rdPartySupport.html
|
||||
marker-sets: {
|
||||
|
||||
# Please check out the wiki for information on how to configure this:
|
||||
# https://bluemap.bluecolored.de/wiki/customization/Markers.html
|
||||
|
||||
}
|
147
src/plugins/BlueMap/maps/world_nether.conf
Normal file
147
src/plugins/BlueMap/maps/world_nether.conf
Normal file
@ -0,0 +1,147 @@
|
||||
## ##
|
||||
## BlueMap ##
|
||||
## Map-Config ##
|
||||
## ##
|
||||
|
||||
# The path to the save-folder of the world to render.
|
||||
# (If this is not defined (commented out or removed), the map will be only registered to the web-server and the web-app
|
||||
# but not rendered or loaded by BlueMap. This can be used to display a map that has been rendered somewhere else.)
|
||||
world: "world_nether"
|
||||
|
||||
# The dimension of the world. Can be "minecraft:overworld", "minecraft:the_nether", "minecraft:the_end"
|
||||
# or any dimension-key introduced by a mod or datapack.
|
||||
dimension: "minecraft:the_nether"
|
||||
|
||||
# The display-name of this map -> how this map will be named on the webapp.
|
||||
# You can change this at any time.
|
||||
# Default is the id of this map
|
||||
name: "world_nether (the_nether)"
|
||||
|
||||
# A lower value makes the map sorted first (in lists and menus), a higher value makes it sorted later.
|
||||
# The value needs to be an integer but it can be negative.
|
||||
# You can change this at any time.
|
||||
# Default is 0
|
||||
sorting: 100
|
||||
|
||||
# The position on the world where the map will be centered if you open it.
|
||||
# You can change this at any time.
|
||||
# This defaults to the world-spawn if you don't set it.
|
||||
#start-pos: {x:500, z:-820}
|
||||
|
||||
# The color of the sky as a hex-color
|
||||
# You can change this at any time.
|
||||
# Default is "#7dabff"
|
||||
sky-color: "#290000"
|
||||
|
||||
# The color of the void as a hex-color
|
||||
# You can change this at any time.
|
||||
# Default is "#000000"
|
||||
void-color: "#150000"
|
||||
|
||||
# Defines the initial sky-light-strength the map will be set to when it is opened.
|
||||
# 0 is no sky-light, 1 is fully lighted.
|
||||
# You can change this at any time.
|
||||
# Default is 1
|
||||
sky-light: 1
|
||||
|
||||
# Defines the ambient light-strength that every block is receiving, regardless of the sunlight/blocklight.
|
||||
# 0 is no ambient light, 1 is fully lighted.
|
||||
# You can change this at any time.
|
||||
# Default is 0
|
||||
ambient-light: 0.6
|
||||
|
||||
# BlueMap tries to omit all blocks that are below this Y-level and are not visible from above-ground.
|
||||
# More specific: Block-Faces that have a sunlight/skylight value of 0 are removed.
|
||||
# This improves the performance of the map on slower devices by a lot, but might cause some blocks to disappear that should normally be visible.
|
||||
# Changing this value requires a re-render of the map.
|
||||
# Set to a very high value to remove caves everywhere (e.g. 10000)
|
||||
# Set to a very low value to remove nothing and render all caves (e.g. -10000)
|
||||
# Default is 55 (slightly below water-level)
|
||||
remove-caves-below-y: -10000
|
||||
|
||||
# This is the amount of blocks relative to the "ocean-floor" heightmap that the cave-detection will start at.
|
||||
# Everything above that (heightmap-relative) y-level will not be removed.
|
||||
# Comment or set to a very high value to disable using the ocean-floor heightmap for cave-detection.
|
||||
# Changing this value requires a re-render of the map.
|
||||
# Defaults to 10000 (disabled)
|
||||
cave-detection-ocean-floor: -5
|
||||
|
||||
# With this value set to true, BlueMap also uses the block-light value (additionally to the sky-light) to "detect caves".
|
||||
# (See: remove-caves-below-y)
|
||||
# Changing this value requires a re-render of the map.
|
||||
# Default is false
|
||||
cave-detection-uses-block-light: false
|
||||
|
||||
# With the below values you can limit the map-render.
|
||||
# This can be used to ignore the nethers ceiling or render only a certain part of a world.
|
||||
# If you change these values, bluemap automatically tries to update the map,
|
||||
# including deleting map-tiles which are outside the new limits.
|
||||
# Default is no min or max value (= infinite bounds)
|
||||
#min-x: -4000
|
||||
#max-x: 4000
|
||||
#min-z: -4000
|
||||
#max-z: 4000
|
||||
#min-y: 50
|
||||
max-y: 90
|
||||
|
||||
# The minimum "inhabitedTime" value that a chunk must have to be rendered.
|
||||
# If you set this to a value greater than 0, bluemap will only render chunks that players have visited already.
|
||||
# Default is 0
|
||||
min-inhabited-time: 0
|
||||
|
||||
# Using this, BlueMap pretends that every Block out of the defined render-bounds is AIR,
|
||||
# this means you can see the blocks where the world is cut (instead of having a see-through/xray view).
|
||||
# This has only an effect if you set some render-bounds above.
|
||||
# Changing this value requires a re-render of the map.
|
||||
# Default is true
|
||||
render-edges: true
|
||||
|
||||
# Whether the perspective view will be enabled for this map.
|
||||
# Changing this to true requires a re-render of the map, only if the hires-layer is enabled and free-flight view is disabled.
|
||||
# Default is true
|
||||
enable-perspective-view: false
|
||||
|
||||
# Whether the flat (isometric, top-down) view will be enabled for this map.
|
||||
# Having only flat-view enabled while disabling free-flight and perspective will speed up the render and reduce the maps storage-size.
|
||||
# Default is true
|
||||
enable-flat-view: true
|
||||
|
||||
# Whether the free-flight view will be enabled for this map.
|
||||
# Changing this to true requires a re-render of the map, only if the hires-layer is enabled and perspective view is disabled.
|
||||
# Default is true
|
||||
enable-free-flight-view: false
|
||||
|
||||
# Whether the hires-layer will be enabled.
|
||||
# Disabling this will speed up rendering and reduce the size of the map-files a lot.
|
||||
# But you will not be able to see the full 3d-models if you zoom in on the map.
|
||||
# Changing this to false will not remove any existing tiles, existing tiles just won't get updated anymore.
|
||||
# Changing this to true will require a re-render of the map.
|
||||
# Default is true
|
||||
enable-hires: false
|
||||
|
||||
# This defines the storage-config that will be used to save this map.
|
||||
# You can find your storage configs next to this config file in the 'storages'-folder.
|
||||
# Changing this value requires a re-render of the map. The map in the old storage will not be deleted.
|
||||
# Default is "file"
|
||||
storage: "file"
|
||||
|
||||
# Normally BlueMap detects if a chunk has not yet generated it's light-data and omits rendering those chunks.
|
||||
# If this is set to true BlueMap will render Chunks even if there is no light-data!
|
||||
# This can be useful for example if some mod prevents light-data from being saved correctly.
|
||||
# However, this also has a few drawbacks:
|
||||
# - For those chunks, every block will always be fully lit
|
||||
# - Night-mode might not work correctly
|
||||
# - Caves will always be rendered (ignoring the 'renderCaves' setting)
|
||||
# Default is false
|
||||
ignore-missing-light-data: false
|
||||
|
||||
# Here you can define any static marker-sets with markers that should be displayed on the map.
|
||||
# You can change this at any time.
|
||||
# If you need dynamic markers, you can use any plugin that integrates with BlueMap's API.
|
||||
# Here is a list: https://bluemap.bluecolored.de/community/3rdPartySupport.html
|
||||
marker-sets: {
|
||||
|
||||
# Please check out the wiki for information on how to configure this:
|
||||
# https://bluemap.bluecolored.de/wiki/customization/Markers.html
|
||||
|
||||
}
|
147
src/plugins/BlueMap/maps/world_the_end.conf
Normal file
147
src/plugins/BlueMap/maps/world_the_end.conf
Normal file
@ -0,0 +1,147 @@
|
||||
## ##
|
||||
## BlueMap ##
|
||||
## Map-Config ##
|
||||
## ##
|
||||
|
||||
# The path to the save-folder of the world to render.
|
||||
# (If this is not defined (commented out or removed), the map will be only registered to the web-server and the web-app
|
||||
# but not rendered or loaded by BlueMap. This can be used to display a map that has been rendered somewhere else.)
|
||||
world: "world_the_end"
|
||||
|
||||
# The dimension of the world. Can be "minecraft:overworld", "minecraft:the_nether", "minecraft:the_end"
|
||||
# or any dimension-key introduced by a mod or datapack.
|
||||
dimension: "minecraft:the_end"
|
||||
|
||||
# The display-name of this map -> how this map will be named on the webapp.
|
||||
# You can change this at any time.
|
||||
# Default is the id of this map
|
||||
name: "world_the_end (the_end)"
|
||||
|
||||
# A lower value makes the map sorted first (in lists and menus), a higher value makes it sorted later.
|
||||
# The value needs to be an integer but it can be negative.
|
||||
# You can change this at any time.
|
||||
# Default is 0
|
||||
sorting: 200
|
||||
|
||||
# The position on the world where the map will be centered if you open it.
|
||||
# You can change this at any time.
|
||||
# This defaults to the world-spawn if you don't set it.
|
||||
#start-pos: {x:500, z:-820}
|
||||
|
||||
# The color of the sky as a hex-color
|
||||
# You can change this at any time.
|
||||
# Default is "#7dabff"
|
||||
sky-color: "#080010"
|
||||
|
||||
# The color of the void as a hex-color
|
||||
# You can change this at any time.
|
||||
# Default is "#000000"
|
||||
void-color: "#080010"
|
||||
|
||||
# Defines the initial sky-light-strength the map will be set to when it is opened.
|
||||
# 0 is no sky-light, 1 is fully lighted.
|
||||
# You can change this at any time.
|
||||
# Default is 1
|
||||
sky-light: 1
|
||||
|
||||
# Defines the ambient light-strength that every block is receiving, regardless of the sunlight/blocklight.
|
||||
# 0 is no ambient light, 1 is fully lighted.
|
||||
# You can change this at any time.
|
||||
# Default is 0
|
||||
ambient-light: 0.6
|
||||
|
||||
# BlueMap tries to omit all blocks that are below this Y-level and are not visible from above-ground.
|
||||
# More specific: Block-Faces that have a sunlight/skylight value of 0 are removed.
|
||||
# This improves the performance of the map on slower devices by a lot, but might cause some blocks to disappear that should normally be visible.
|
||||
# Changing this value requires a re-render of the map.
|
||||
# Set to a very high value to remove caves everywhere (e.g. 10000)
|
||||
# Set to a very low value to remove nothing and render all caves (e.g. -10000)
|
||||
# Default is 55 (slightly below water-level)
|
||||
remove-caves-below-y: -10000
|
||||
|
||||
# This is the amount of blocks relative to the "ocean-floor" heightmap that the cave-detection will start at.
|
||||
# Everything above that (heightmap-relative) y-level will not be removed.
|
||||
# Comment or set to a very high value to disable using the ocean-floor heightmap for cave-detection.
|
||||
# Changing this value requires a re-render of the map.
|
||||
# Defaults to 10000 (disabled)
|
||||
cave-detection-ocean-floor: -5
|
||||
|
||||
# With this value set to true, BlueMap also uses the block-light value (additionally to the sky-light) to "detect caves".
|
||||
# (See: remove-caves-below-y)
|
||||
# Changing this value requires a re-render of the map.
|
||||
# Default is false
|
||||
cave-detection-uses-block-light: false
|
||||
|
||||
# With the below values you can limit the map-render.
|
||||
# This can be used to ignore the nethers ceiling or render only a certain part of a world.
|
||||
# If you change these values, bluemap automatically tries to update the map,
|
||||
# including deleting map-tiles which are outside the new limits.
|
||||
# Default is no min or max value (= infinite bounds)
|
||||
#min-x: -4000
|
||||
#max-x: 4000
|
||||
#min-z: -4000
|
||||
#max-z: 4000
|
||||
#min-y: 50
|
||||
#max-y: 100
|
||||
|
||||
# The minimum "inhabitedTime" value that a chunk must have to be rendered.
|
||||
# If you set this to a value greater than 0, bluemap will only render chunks that players have visited already.
|
||||
# Default is 0
|
||||
min-inhabited-time: 0
|
||||
|
||||
# Using this, BlueMap pretends that every Block out of the defined render-bounds is AIR,
|
||||
# this means you can see the blocks where the world is cut (instead of having a see-through/xray view).
|
||||
# This has only an effect if you set some render-bounds above.
|
||||
# Changing this value requires a re-render of the map.
|
||||
# Default is true
|
||||
render-edges: true
|
||||
|
||||
# Whether the perspective view will be enabled for this map.
|
||||
# Changing this to true requires a re-render of the map, only if the hires-layer is enabled and free-flight view is disabled.
|
||||
# Default is true
|
||||
enable-perspective-view: false
|
||||
|
||||
# Whether the flat (isometric, top-down) view will be enabled for this map.
|
||||
# Having only flat-view enabled while disabling free-flight and perspective will speed up the render and reduce the maps storage-size.
|
||||
# Default is true
|
||||
enable-flat-view: true
|
||||
|
||||
# Whether the free-flight view will be enabled for this map.
|
||||
# Changing this to true requires a re-render of the map, only if the hires-layer is enabled and perspective view is disabled.
|
||||
# Default is true
|
||||
enable-free-flight-view: false
|
||||
|
||||
# Whether the hires-layer will be enabled.
|
||||
# Disabling this will speed up rendering and reduce the size of the map-files a lot.
|
||||
# But you will not be able to see the full 3d-models if you zoom in on the map.
|
||||
# Changing this to false will not remove any existing tiles, existing tiles just won't get updated anymore.
|
||||
# Changing this to true will require a re-render of the map.
|
||||
# Default is true
|
||||
enable-hires: false
|
||||
|
||||
# This defines the storage-config that will be used to save this map.
|
||||
# You can find your storage configs next to this config file in the 'storages'-folder.
|
||||
# Changing this value requires a re-render of the map. The map in the old storage will not be deleted.
|
||||
# Default is "file"
|
||||
storage: "file"
|
||||
|
||||
# Normally BlueMap detects if a chunk has not yet generated it's light-data and omits rendering those chunks.
|
||||
# If this is set to true BlueMap will render Chunks even if there is no light-data!
|
||||
# This can be useful for example if some mod prevents light-data from being saved correctly.
|
||||
# However, this also has a few drawbacks:
|
||||
# - For those chunks, every block will always be fully lit
|
||||
# - Night-mode might not work correctly
|
||||
# - Caves will always be rendered (ignoring the 'renderCaves' setting)
|
||||
# Default is false
|
||||
ignore-missing-light-data: false
|
||||
|
||||
# Here you can define any static marker-sets with markers that should be displayed on the map.
|
||||
# You can change this at any time.
|
||||
# If you need dynamic markers, you can use any plugin that integrates with BlueMap's API.
|
||||
# Here is a list: https://bluemap.bluecolored.de/community/3rdPartySupport.html
|
||||
marker-sets: {
|
||||
|
||||
# Please check out the wiki for information on how to configure this:
|
||||
# https://bluemap.bluecolored.de/wiki/customization/Markers.html
|
||||
|
||||
}
|
72
src/plugins/BlueMap/plugin.conf
Normal file
72
src/plugins/BlueMap/plugin.conf
Normal file
@ -0,0 +1,72 @@
|
||||
## ##
|
||||
## BlueMap ##
|
||||
## Plugin-Config ##
|
||||
## ##
|
||||
|
||||
# If the server should send player-positions to the webapp.
|
||||
# This only works if the integrated webserver is enabled.
|
||||
# Default is true
|
||||
live-player-markers: false
|
||||
|
||||
# A list of gamemodes that will prevent a player from appearing on the map.
|
||||
# Possible values are: survival, creative, spectator, adventure
|
||||
hidden-game-modes: [
|
||||
"spectator"
|
||||
]
|
||||
|
||||
# If this is true, players that are vanished (by a plugin) will be hidden on the map.
|
||||
# (This only works with Spigot and Sponge based vanish-plugins)
|
||||
# Default is true
|
||||
hide-vanished: true
|
||||
|
||||
# If this is true, players that have an invisibility (potion-)effect will be hidden on the map.
|
||||
# Default is true
|
||||
hide-invisible: true
|
||||
|
||||
# If this is true, players that are sneaking will be hidden on the map.
|
||||
# Default is false
|
||||
hide-sneaking: false
|
||||
|
||||
# Hides the player if they are in a sky or block-light level below the given number.
|
||||
# BOTH values have to be below the threshold for the player to be hidden!
|
||||
# E.g. if you set both to 1, then the player will be hidden on the map if they are in absolute darkness
|
||||
# Or, if you want players only be visible on the surface you set the sky-threshold to something between 1 and 15
|
||||
# and the block-threshold to 16
|
||||
# Default is 0 (don't hide the player)
|
||||
hide-below-sky-light: 0
|
||||
hide-below-block-light: 0
|
||||
|
||||
# If this is true, players that are on a different world than the viewed map will not appear on the player-list.
|
||||
# Default is false
|
||||
hide-different-world: false
|
||||
|
||||
# The interval in seconds that the markers will be written to the map-storage.
|
||||
# This is useful if you can't create a live-connection between the server and the webapp
|
||||
# and the markers can only be updated via the map-storage.
|
||||
# 0 or lower means that the markers will never be written to the map-storage.
|
||||
# Default is 0
|
||||
#write-markers-interval: 10
|
||||
|
||||
# The interval in seconds that the players will be written to the map-storage.
|
||||
# This is useful if you can't create a live-connection between the server and the webapp
|
||||
# and the players can only be updated via the map-storage.
|
||||
# 0 or lower means that the players will never be written to the map-storage.
|
||||
# Default is 0
|
||||
#write-players-interval: 3
|
||||
|
||||
# Download the skin from mojang-servers when a player joins your server, so it can be used for the player-markers.
|
||||
# Default is true
|
||||
skin-download: false
|
||||
|
||||
# The amount of players that is needed to pause BlueMap's render-threads.
|
||||
# -> If this amount of players or more is online, bluemap will stop rendering map-updates until enough players
|
||||
# have logged off again
|
||||
# Setting this to 0 or -1 will disable this feature -> bluemap will not pause rendering
|
||||
# Default is -1
|
||||
player-render-limit: -1
|
||||
|
||||
# The interval in minutes in which a full map-update will be triggered.
|
||||
# This is ADDITIONALLY to the normal map-update process (in case that fails to detect any file-changes).
|
||||
# ! This DOESN'T re-render the entire map each time, it only checks if there are some changes that have not been rendered yet!
|
||||
# Default is 1440 (24 hours)
|
||||
full-update-interval: 1440
|
22
src/plugins/BlueMap/storages/file.conf
Normal file
22
src/plugins/BlueMap/storages/file.conf
Normal file
@ -0,0 +1,22 @@
|
||||
## ##
|
||||
## BlueMap ##
|
||||
## Storage-Config ##
|
||||
## ##
|
||||
|
||||
# The storage-type of this storage.
|
||||
# Depending on this setting, different config-entries are allowed/expected in this config file.
|
||||
# Don't change this value! (If you want a different storage-type, check out the other example-configs)
|
||||
storage-type: file
|
||||
|
||||
# The path to the folder on your file-system where bluemap will save the rendered map
|
||||
# The default is: "bluemap/web/maps"
|
||||
root: "plugins/BlueMap/data/web/maps"
|
||||
|
||||
# The compression-type that bluemap will use to compress generated map-data.
|
||||
# Available compression-types are:
|
||||
# - gzip
|
||||
# - zstd
|
||||
# - deflate
|
||||
# - none
|
||||
# The default is: gzip
|
||||
compression: gzip
|
47
src/plugins/BlueMap/storages/sql.conf
Normal file
47
src/plugins/BlueMap/storages/sql.conf
Normal file
@ -0,0 +1,47 @@
|
||||
## ##
|
||||
## BlueMap ##
|
||||
## Storage-Config ##
|
||||
## ##
|
||||
|
||||
# The storage-type of this storage.
|
||||
# Depending on this setting, different config-entries are allowed/expected in this config file.
|
||||
# Don't change this value! (If you want a different storage-type, check out the other example-configs)
|
||||
storage-type: sql
|
||||
|
||||
# The JDBC-Connection URL that is used to connect to the database.
|
||||
# The format for this url is usually something like: jdbc:[driver]://[host]:[port]/[database]
|
||||
# The exact format of the url is determined by the JDBC-Driver you are using.
|
||||
connection-url: "jdbc:mysql://localhost:3306/bluemap?permitMysqlScheme"
|
||||
|
||||
# You can set any additional (JDBC-Driver-specific) properties here
|
||||
# Usually that's your db-user and password
|
||||
connection-properties: {
|
||||
user: "root",
|
||||
password: ""
|
||||
}
|
||||
|
||||
# The maximum number of connections to the database that are allowed to be open at the same time.
|
||||
# A negative number means unlimited.
|
||||
# Default is: -1
|
||||
max-connections: -1
|
||||
|
||||
# This can be used to load a custom jdbc-driver from a .jar file.
|
||||
# E.g. if your runtime-environment is not already providing the sql-driver you need,
|
||||
# you could download the MariaDB JDBC-Connector from https://mariadb.com/downloads/connectors/connectors-data-access/java8-connector/
|
||||
# place it in the './bluemap' folder and use is like this:
|
||||
#driver-jar: "bluemap/mariadb-java-client-3.0.7.jar"
|
||||
|
||||
# This is the driver-class that bluemap will try to load and use.
|
||||
# Check the documentation of the driver you are using if you don't know this.
|
||||
# Leaving this commented means that bluemap automatically tries to find a suitable driver in your classpath.
|
||||
# (If you added a custom driverJar above, you HAVE TO set the correct class name here)
|
||||
#driver-class: "org.mariadb.jdbc.Driver"
|
||||
|
||||
# The compression-type that bluemap will use to compress generated map-data.
|
||||
# Available compression-types are:
|
||||
# - gzip
|
||||
# - zstd
|
||||
# - deflate
|
||||
# - none
|
||||
# The default is: gzip
|
||||
compression: gzip
|
75
src/plugins/BlueMap/webapp.conf
Normal file
75
src/plugins/BlueMap/webapp.conf
Normal file
@ -0,0 +1,75 @@
|
||||
## ##
|
||||
## BlueMap ##
|
||||
## Webapp-Config ##
|
||||
## ##
|
||||
|
||||
# With this setting you can disable the creation and updating of all web-app related files
|
||||
# Default is true
|
||||
enabled: true
|
||||
|
||||
# The webroot where the web-application files will be created.
|
||||
# Usually this should be set to the same directory like in the webserver.conf!
|
||||
# Default is "bluemap/web"
|
||||
webroot: "plugins/BlueMap/data/web"
|
||||
|
||||
# Whether the settings.json of the webapp should be updated/synchronized with the current bluemap settings.
|
||||
# If this is set to "false", bluemap will only add maps to the settings.json but never remove unknown ones or update other settings.
|
||||
# Disabling this is for example useful if you are running multiple bluemap instances on the same webroot and don't want them to overwrite each others maps.
|
||||
# Default is true
|
||||
update-settings-file: true
|
||||
|
||||
# If the web-application should use cookies to save the configurations of a user.
|
||||
# Default is true
|
||||
use-cookies: true
|
||||
|
||||
# If the webapp will default to flat-view instead of perspective-view.
|
||||
# Default is false
|
||||
default-to-flat-view: true
|
||||
|
||||
# The default map and camera-location where a user will start after opening the webapp.
|
||||
# This is in form of the url-anchor: Open your map in a browser and look at the url, everything after the '#' is the value for this setting.
|
||||
# Default is "no anchor" -> The camera will start with the topmost map and at that map's starting point.
|
||||
#start-location: "world:0:16:-32:390:0.1:0.19:0:0:perspective"
|
||||
|
||||
# The minimum (closest) and maximum (furthest) distance (in blocks) that the camera can be from the ground
|
||||
min-zoom-distance: 5
|
||||
max-zoom-distance: 100000
|
||||
|
||||
# The default value of the resolution (settings-menu)
|
||||
# Possible values are: 0.5, 1, 2
|
||||
# Default is 1
|
||||
resolution-default: 1
|
||||
|
||||
# The min, max and default values of the hires render-distance slider (settings-menu)
|
||||
# The values are in blocks.
|
||||
# Default is max:500 default:100 and min:0
|
||||
hires-slider-max: 500
|
||||
hires-slider-default: 100
|
||||
hires-slider-min: 0
|
||||
|
||||
# The min, max and default values of the lowres render-distance slider (settings-menu)
|
||||
# The values are in blocks.
|
||||
# Default is max:7000 default:2000 and min:500
|
||||
lowres-slider-max: 7000
|
||||
lowres-slider-default: 2000
|
||||
lowres-slider-min: 500
|
||||
|
||||
# Here you can specify an alternative base url from where all map data is loaded.
|
||||
# Default is "maps"
|
||||
#map-data-root: "https://cdn.my-domain.com/mapdata"
|
||||
|
||||
# Here you can specify an alternative base url from where all live data is loaded.
|
||||
# Default is "maps"
|
||||
#live-data-root: "https://cdn.my-domain.com/livedata"
|
||||
|
||||
# Here you can add URLs to custom scripts (js) so they will be loaded by the webapp
|
||||
# You can place them somewhere in bluemap's webroot and add the (relative) link here
|
||||
scripts: [
|
||||
#"js/my-custom-script.js"
|
||||
]
|
||||
|
||||
# Here you can add URLs to custom styles (css) so they will be loaded by the webapp
|
||||
# You can place them somewhere in bluemap's webroot and add the (relative) link here
|
||||
styles: [
|
||||
#"css/my-custom-style.css"
|
||||
]
|
45
src/plugins/BlueMap/webserver.conf
Normal file
45
src/plugins/BlueMap/webserver.conf
Normal file
@ -0,0 +1,45 @@
|
||||
## ##
|
||||
## BlueMap ##
|
||||
## Webserver-Config ##
|
||||
## ##
|
||||
|
||||
# With this setting you can disable the integrated web-server.
|
||||
# This is useful if you want to only render the map-data for later use, or if you setup your own webserver.
|
||||
# Default is enabled
|
||||
enabled: true
|
||||
|
||||
# The webroot that the server will host to the web.
|
||||
# Usually this should be set to the same directory like in the webapp.conf!
|
||||
# Default is "bluemap/web"
|
||||
webroot: "plugins/BlueMap/data/web"
|
||||
|
||||
# The port that the webserver listens to.
|
||||
# Default is 8100
|
||||
port: 8100
|
||||
|
||||
# Config-section for webserver-activity logging
|
||||
log: {
|
||||
# The file where all the webserver-activity will be logged to.
|
||||
# Comment out to disable the logging completely.
|
||||
# Java String formatting syntax can be used to add time, see: https://docs.oracle.com/javase/8/docs/api/java/util/Formatter.html
|
||||
# Default is no logging
|
||||
file: "plugins/BlueMap/data/logs/webserver.log"
|
||||
#file: "bluemap/logs/webserver_%1$tF_%1$tT.log"
|
||||
|
||||
# Whether the logger should append to an existing file, or overwrite it
|
||||
# Default is false
|
||||
append: false
|
||||
|
||||
# The format of the webserver-acivity logs.
|
||||
# The syntax is the java String formatting, see: https://docs.oracle.com/javase/8/docs/api/java/util/Formatter.html
|
||||
# Possible Arguments:
|
||||
# 1 - the source address (ignoring any xff headers)
|
||||
# 2 - the source address (using the (leftmost) xff header if provided)
|
||||
# 3 - the http-method of the request
|
||||
# 4 - the full request-address
|
||||
# 5 - the protocol version of the request
|
||||
# 6 - the status-code of the response
|
||||
# 7 - the status-message of the response
|
||||
# Default is "%1$s \"%3$s %4$s %5$s\" %6$s %7$s"
|
||||
format: "%1$s \"%3$s %4$s %5$s\" %6$s %7$s"
|
||||
}
|
47
src/plugins/CarbonChat/channels/global.conf
Normal file
47
src/plugins/CarbonChat/channels/global.conf
Normal file
@ -0,0 +1,47 @@
|
||||
# The channel's key, used to track the channel.
|
||||
# You only need to change the second part of the key. "global" by default.
|
||||
# The value is what's used in commands, this is probably what you want to change.
|
||||
key="carbon:global"
|
||||
# The chat formats for this channel.
|
||||
format {
|
||||
# Basic chat formats.
|
||||
# The "default_format" format is the main one you want to edit.
|
||||
# The "console" format is what's shown to console.
|
||||
# The "discord" format is what's shown to supported discord integrations.
|
||||
# If PlaceholderAPI is installed, PAPI placeholders (with %) are supported.
|
||||
# If MiniPlaceholders is installed, its placeholders (with <>) are supported.
|
||||
# The keys are group names, the values are chat formats (MiniMessage).
|
||||
# For example:
|
||||
# basic {
|
||||
# default_format="<<username>> <message>"
|
||||
# vip="[VIP] <<username>> <message>"
|
||||
# admin="<white>[</white>Prefix<white>]</white> <display_name><white>: <message></white>"
|
||||
# discord="<message>"
|
||||
# }
|
||||
#
|
||||
basic {
|
||||
"default_format"="<dark_grey>[<color:#4cd964>Global</color>]</dark_grey> %luckperms_prefix%<white><username> <grey>></grey> <message></white>"
|
||||
discord="<message>"
|
||||
console="[G] <username>: <message>"
|
||||
}
|
||||
# Per-Language chat formats.
|
||||
# You can safely leave this section empty if you don't want to use this feature.
|
||||
# Each locale section can be configured in the same way as the above 'basic' section.
|
||||
# Will fall back to the 'basic' section if no format was found for the player's locale.
|
||||
locales {
|
||||
"ru_RU" {}
|
||||
}
|
||||
}
|
||||
# Messages will be sent in this channel if they start with this prefix. (Leave empty/blank to disable quick prefix for this channel)
|
||||
quick-prefix="!"
|
||||
should-register-commands=true
|
||||
command-aliases=[]
|
||||
# The distance players must be within to see each other's messages.
|
||||
# A value of '0' requires that both players are in the same world.
|
||||
# On velocity, '0' requires that both players are in the same server.
|
||||
radius=-1
|
||||
# If true, players will be able to see if they're not sending messages to anyone
|
||||
# because they're out of range from the radius.
|
||||
empty-radius-recipients-message=false
|
||||
cooldowns {}
|
||||
cooldown=-1
|
49
src/plugins/CarbonChat/channels/local.conf
Normal file
49
src/plugins/CarbonChat/channels/local.conf
Normal file
@ -0,0 +1,49 @@
|
||||
# The channel's key, used to track the channel.
|
||||
# You only need to change the second part of the key. "global" by default.
|
||||
# The value is what's used in commands, this is probably what you want to change.
|
||||
key="carbon:local"
|
||||
# The chat formats for this channel.
|
||||
format {
|
||||
# Basic chat formats.
|
||||
# The "default_format" format is the main one you want to edit.
|
||||
# The "console" format is what's shown to console.
|
||||
# The "discord" format is what's shown to supported discord integrations.
|
||||
# If PlaceholderAPI is installed, PAPI placeholders (with %) are supported.
|
||||
# If MiniPlaceholders is installed, its placeholders (with <>) are supported.
|
||||
# The keys are group names, the values are chat formats (MiniMessage).
|
||||
# For example:
|
||||
# basic {
|
||||
# default_format="<<username>> <message>"
|
||||
# vip="[VIP] <<username>> <message>"
|
||||
# admin="<white>[</white>Prefix<white>]</white> <display_name><white>: <message></white>"
|
||||
# discord="<message>"
|
||||
# }
|
||||
#
|
||||
basic {
|
||||
"default_format"="<dark_grey>[<#e6c67a>Local</#e6c67a>]</dark_grey> %luckperms_prefix%<grey><username></grey> <dark_grey>></dark_grey> <grey><message></grey>"
|
||||
discord="<message>"
|
||||
console="[<channel>] <username>: <message>"
|
||||
}
|
||||
# Per-Language chat formats.
|
||||
# You can safely leave this section empty if you don't want to use this feature.
|
||||
# Each locale section can be configured in the same way as the above 'basic' section.
|
||||
# Will fall back to the 'basic' section if no format was found for the player's locale.
|
||||
locales {
|
||||
"ru_RU" {}
|
||||
}
|
||||
}
|
||||
# Messages will be sent in this channel if they start with this prefix. (Leave empty/blank to disable quick prefix for this channel)
|
||||
quick-prefix=""
|
||||
should-register-commands=true
|
||||
command-aliases=[
|
||||
l
|
||||
]
|
||||
# The distance players must be within to see each other's messages.
|
||||
# A value of '0' requires that both players are in the same world.
|
||||
# On velocity, '0' requires that both players are in the same server.
|
||||
radius=200
|
||||
# If true, players will be able to see if they're not sending messages to anyone
|
||||
# because they're out of range from the radius.
|
||||
empty-radius-recipients-message=false
|
||||
cooldowns {}
|
||||
cooldown=-1
|
128
src/plugins/CarbonChat/command-settings.conf
Normal file
128
src/plugins/CarbonChat/command-settings.conf
Normal file
@ -0,0 +1,128 @@
|
||||
settings {
|
||||
"carbon:help" {
|
||||
enabled=true
|
||||
name=carbon
|
||||
aliases=[]
|
||||
}
|
||||
"carbon:reload" {
|
||||
enabled=true
|
||||
name=carbon
|
||||
aliases=[]
|
||||
}
|
||||
"carbon:updateusername" {
|
||||
enabled=true
|
||||
name=updateusername
|
||||
aliases=[
|
||||
updatename
|
||||
]
|
||||
}
|
||||
"carbon:party" {
|
||||
enabled=true
|
||||
name=party
|
||||
aliases=[
|
||||
group
|
||||
]
|
||||
}
|
||||
"carbon:reply" {
|
||||
enabled=true
|
||||
name=reply
|
||||
aliases=[
|
||||
r
|
||||
]
|
||||
}
|
||||
"carbon:join" {
|
||||
enabled=true
|
||||
name=join
|
||||
aliases=[]
|
||||
}
|
||||
"carbon:ignorelist" {
|
||||
enabled=true
|
||||
name=ignorelist
|
||||
aliases=[
|
||||
listignores
|
||||
]
|
||||
}
|
||||
"carbon:unmute" {
|
||||
enabled=false
|
||||
name=unmute
|
||||
aliases=[]
|
||||
}
|
||||
"carbon:ignore" {
|
||||
enabled=true
|
||||
name=ignore
|
||||
aliases=[
|
||||
block
|
||||
]
|
||||
}
|
||||
"carbon:whisper" {
|
||||
enabled=true
|
||||
name=whisper
|
||||
aliases=[
|
||||
w,
|
||||
message,
|
||||
msg,
|
||||
m,
|
||||
tell
|
||||
]
|
||||
}
|
||||
"carbon:continue" {
|
||||
enabled=true
|
||||
name=continue
|
||||
aliases=[
|
||||
c
|
||||
]
|
||||
}
|
||||
"carbon:togglemsg" {
|
||||
enabled=true
|
||||
name=togglemsg
|
||||
aliases=[
|
||||
togglepm
|
||||
]
|
||||
}
|
||||
"carbon:leave" {
|
||||
enabled=true
|
||||
name=leave
|
||||
aliases=[]
|
||||
}
|
||||
"carbon:clearchat" {
|
||||
enabled=true
|
||||
name=clearchat
|
||||
aliases=[
|
||||
chatclear,
|
||||
cc
|
||||
]
|
||||
}
|
||||
"carbon:debug" {
|
||||
enabled=true
|
||||
name=carbondebug
|
||||
aliases=[
|
||||
cdebug
|
||||
]
|
||||
}
|
||||
"carbon:muteinfo" {
|
||||
enabled=false
|
||||
name=muteinfo
|
||||
aliases=[
|
||||
muted
|
||||
]
|
||||
}
|
||||
"carbon:unignore" {
|
||||
enabled=true
|
||||
name=unignore
|
||||
aliases=[
|
||||
unblock
|
||||
]
|
||||
}
|
||||
"carbon:mute" {
|
||||
enabled=false
|
||||
name=mute
|
||||
aliases=[]
|
||||
}
|
||||
"carbon:nickname" {
|
||||
enabled=true
|
||||
name=nickname
|
||||
aliases=[
|
||||
nick
|
||||
]
|
||||
}
|
||||
}
|
137
src/plugins/CarbonChat/config.conf
Normal file
137
src/plugins/CarbonChat/config.conf
Normal file
@ -0,0 +1,137 @@
|
||||
# Used internally to track changes to the config. Do not edit manually!
|
||||
config-version=1
|
||||
# The default locale for plugin messages.
|
||||
default-locale="en_US"
|
||||
# The default channel that new players will be in when they join.
|
||||
# If the channel is not found or the player cannot use the channel, they will speak in basic non-channel chat.
|
||||
default-channel="carbon:local"
|
||||
# Returns you to the default channel when you use a channel's command while you have that channel active.
|
||||
return-to-default-channel=false
|
||||
# The service that will be used to store and load player information.
|
||||
# One of: JSON, H2, MYSQL, PSQL
|
||||
# Note: If you choose MYSQL or PSQL make sure you configure the "database-settings" section of this file!
|
||||
storage-type=JSON
|
||||
# When "storage-type" is set to MYSQL or PSQL, this section configures the database connection.
|
||||
# If JSON or H2 storage is used, this section can be ignored.
|
||||
database-settings {
|
||||
# JDBC URL. Suggested defaults for each DB:
|
||||
# MySQL: jdbc:mysql://host:3306/DB
|
||||
# MariaDB: jdbc:mariadb://host:3306/DB
|
||||
# PostgreSQL: jdbc:postgresql://host:5432/database
|
||||
url="jdbc:mysql://localhost:3306/carbon"
|
||||
# The connection username.
|
||||
username=username
|
||||
# The connection password.
|
||||
password=password
|
||||
# Settings for the connection pool. This is an advanced configuration that most users won't need to touch.
|
||||
connection-pool {
|
||||
maximum-pool-size=8
|
||||
minimum-idle=8
|
||||
maximum-lifetime=1800000
|
||||
keepalive-time=0
|
||||
connection-timeout=30000
|
||||
}
|
||||
}
|
||||
# Settings for cross-server messaging
|
||||
messaging-settings {
|
||||
# Whether cross-server messaging is enabled
|
||||
enabled=false
|
||||
# One of: RABBITMQ, NATS, REDIS
|
||||
broker-type=NONE
|
||||
url="127.0.0.1"
|
||||
port=5672
|
||||
# RabbitMQ VHost
|
||||
vhost="/"
|
||||
# NATS credentials file
|
||||
credentials-file=""
|
||||
# RabbitMQ username
|
||||
username=username
|
||||
# RabbitMQ and Redis password
|
||||
password=password
|
||||
}
|
||||
nickname-settings {
|
||||
# Whether Carbon's nickname management should be used. Disable this if you wish to have another plugin manage nicknames.
|
||||
use-carbon-nicknames=true
|
||||
# Paper only. Updates the player's display name in the tab list to match their nickname.
|
||||
update-tab-list=true
|
||||
# Minimum number of characters in nickname (excluding formatting).
|
||||
min-length=3
|
||||
# Maximum number of characters in nickname (excluding formatting).
|
||||
max-length=16
|
||||
black-list=[
|
||||
notch,
|
||||
admin
|
||||
]
|
||||
# Regex pattern nicknames must match in order to be applied, can be bypassed with the permission 'carbon.nickname.filter'.
|
||||
filter="^[a-zA-Z0-9_]*$"
|
||||
# Format used when displaying nicknames.
|
||||
format="<hover:show_text:'<gray>@</gray><username>'><gray>~</gray><nickname></hover>"
|
||||
# Whether to skip applying 'format' when a nickname matches a players username, only differing in decoration.
|
||||
skip-format-when-name-matches=true
|
||||
}
|
||||
# Plugin-wide custom placeholders.
|
||||
# These will be parsed in all messages rendered and sent by Carbon.
|
||||
# This includes chat, command feedback, and others.
|
||||
# Make sure to close your tags so they do not bleed into other formats.
|
||||
# Only a single pass is done so custom placeholders will not work within each other.
|
||||
custom-placeholders {}
|
||||
# The suggestions shown when using the TAB key in chat.
|
||||
custom-chat-suggestions=[]
|
||||
# The placeholders replaced in chat messages, this WILL work with chat previews.
|
||||
chat-placeholders {}
|
||||
# Basic regex based chat filter.
|
||||
chat-filter {}
|
||||
# Various settings related to pinging players in channels.
|
||||
ping-settings {
|
||||
# The color your name will be when another player mentions you.
|
||||
highlight-text-color="dark_purple"
|
||||
prefix="@"
|
||||
play-sound=true
|
||||
name="minecraft:block.amethyst_block.hit"
|
||||
source=master
|
||||
volume=1
|
||||
pitch=1
|
||||
}
|
||||
party-chat {
|
||||
# Whether party chat is enabled
|
||||
enabled=false
|
||||
expire-invites-after-seconds=45
|
||||
}
|
||||
# Sound for receiving a direct message
|
||||
message-sound {
|
||||
name="minecraft:entity.experience_orb.pickup"
|
||||
source=master
|
||||
volume=1
|
||||
pitch=1
|
||||
}
|
||||
# Settings for the clear chat command
|
||||
clear-chat-settings {
|
||||
# The message that will be sent to each player.
|
||||
message=""
|
||||
# The number of times the message will be sent to each player.
|
||||
iterations=50
|
||||
# The message to be sent after chat is cleared.
|
||||
broadcast="<gold>Chat has been cleared by </gold><green><display_name><green><gold>."
|
||||
}
|
||||
# Settings for integrations with other plugins/mods. Settings only apply when the relevant plugin/mod is present.
|
||||
integrations {
|
||||
factionsuuid {
|
||||
enabled=false
|
||||
faction-channel=false
|
||||
alliance-channel=false
|
||||
truce-channel=false
|
||||
}
|
||||
mcmmo {
|
||||
enabled=false
|
||||
# You will likely want to disable Carbon's built-in party system above when using mcMMO party chat.
|
||||
party-channel=false
|
||||
}
|
||||
towny {
|
||||
enabled=false
|
||||
town-channel=false
|
||||
nation-channel=false
|
||||
alliance-channel=false
|
||||
}
|
||||
}
|
||||
# Whether Carbon should check for updates using the GitHub API on startup.
|
||||
update-checker=true
|
162
src/plugins/CarbonChat/locale/messages-en_US.properties
Normal file
162
src/plugins/CarbonChat/locale/messages-en_US.properties
Normal file
@ -0,0 +1,162 @@
|
||||
#Sun Jul 13 19:11:13 EEST 2025
|
||||
channel.already_left=<red>You have already left this channel</red>
|
||||
channel.change=<green>You are now messaging </green><channel>
|
||||
channel.cooldown=<red>You may use chat again in <remaining> seconds\!
|
||||
channel.joined=<green>You have rejoined the channel</green>
|
||||
channel.left=<red>You have left the channel</red>
|
||||
channel.no_permission=<red>You do not have permission to use this channel</red>
|
||||
channel.not_found=<red>Channel not found</red>
|
||||
channel.not_left=<red>You have not left this channel</red>
|
||||
channel.radius.empty_recipients=<red>You're not close enough to anyone to send a message
|
||||
command.clearchat.description=Clears the chat window for all players.
|
||||
command.continue.argument.message=The message to send.
|
||||
command.continue.description=Sends a message to the last person you messaged.
|
||||
command.debug.argument.player=The player to check the groups of.
|
||||
command.debug.description=Shows the permission groups of players.
|
||||
command.help.argument.query=The search query.
|
||||
command.help.description=Carbon command list.
|
||||
command.help.misc.arguments=Arguments
|
||||
command.help.misc.available_commands=Available Commands
|
||||
command.help.misc.click_for_next_page=Click for next page
|
||||
command.help.misc.click_for_previous_page=Click for previous page
|
||||
command.help.misc.click_to_show_help=Click to show help for this command
|
||||
command.help.misc.command=Command
|
||||
command.help.misc.description=Description
|
||||
command.help.misc.help=Help
|
||||
command.help.misc.no_description=No description
|
||||
command.help.misc.no_results_for_query=No results for query
|
||||
command.help.misc.optional=Optional
|
||||
command.help.misc.page_out_of_range=Error\: Page <page> is not in range. Must be in range [1, <max_pages>]
|
||||
command.help.misc.showing_results_for_query=Showing search results for query
|
||||
command.ignore.argument.player=The name of the player to ignore.
|
||||
command.ignore.argument.uuid=The UUID of the player to ignore.
|
||||
command.ignore.description=Hides all incoming messages from ignored players.
|
||||
command.ignorelist.description=Displays a paginated list of who you are ignoring.
|
||||
command.ignorelist.none_ignored=<green>You are not ignoring any players.
|
||||
command.ignorelist.pagination_element=- <display_name> <click\:run_command\:'/unignore <username>'><hover\:show_text\:'Click to unignore <username>'><gray>[<white>unignore</white>]</gray>
|
||||
command.ignorelist.pagination_header=<bold>Ignored players
|
||||
command.join.description=Join a channel you have previously left.
|
||||
command.leave.description=Leave a channel that you currently have access to.
|
||||
command.mute.argument.player=The name of the player to mute.
|
||||
command.mute.argument.uuid=The UUID of the player to mute.
|
||||
command.mute.description=Mutes players, preventing them from using chat or whispering other players.
|
||||
command.muteinfo.argument.player=The name of the player.
|
||||
command.muteinfo.argument.uuid=The UUID of the player.
|
||||
command.muteinfo.description=Shows if players are muted or not.
|
||||
command.nickname.argument.nickname=The nickname to set.
|
||||
command.nickname.argument.player=The name of the target player.
|
||||
command.nickname.description=Shows your nickname.
|
||||
command.nickname.others.description=Shows player nicknames.
|
||||
command.nickname.others.reset.description=Removes any set nickname from the target.
|
||||
command.nickname.others.set.description=Sets player nicknames.
|
||||
command.nickname.reset.description=Removes your nickname.
|
||||
command.nickname.set.description=Sets your nickname.
|
||||
command.party.accept.description=Accept party invites.
|
||||
command.party.already_in_party=<display_name><red> is already in your party.
|
||||
command.party.cannot_disband_multiple_members=<red>Cannot disband party '</red><party_name><red>', you are not the last member.
|
||||
command.party.cannot_invite_self=<red>You cannot invite yourself.
|
||||
command.party.create.description=Create a new party.
|
||||
command.party.created=<green>Successfully created and joined party '</green><party_name><green>'\!
|
||||
command.party.current_party=<green>You are in party<white>\:</white></green> <party_name>
|
||||
command.party.description=Get info about and see members of your current party.
|
||||
command.party.disband.description=Disband your current party.
|
||||
command.party.disbanded=<green>Successfully disbanded party '</green><party_name><green>'.
|
||||
command.party.invite.description=Invite a player to your party.
|
||||
command.party.joined_party=<green>Successfully joined party '</green><party_name><green>'\!
|
||||
command.party.leave.description=Leave your current party.
|
||||
command.party.left_party=<green>Successfully left party '</green><party_name><green>'.
|
||||
command.party.must_be_in_party=<red>You must be in a party to use this command. Use '/party create' to create one, or '/party accept' to accept an invite.
|
||||
command.party.must_leave_current_first=<red>You must leave your current party first.
|
||||
command.party.must_specify_invite=<red>You must specify whose party invite to accept.
|
||||
command.party.name_too_long=<red>Party name is too long.
|
||||
command.party.no_invite_from=<red>You do not have a pending invite from </red><sender_display_name><red>.
|
||||
command.party.no_pending_invites=<red>You do not have any pending party invites.
|
||||
command.party.not_in_party=<red>You are not in a party. Use '/party create' to create one, or '/party accept' to accept an invite.
|
||||
command.party.pagination_element=<online\:'<green>'\:'<gray>'> -<reset> <display_name>
|
||||
command.party.pagination_header=<green>Party members</green>\:
|
||||
command.party.received_invite=<hover\:show_text\:'<green>Click to accept'><click\:run_command\:'/party accept <sender_username>'><green>You were invited to the party '</green><party_name><green>' by </green><sender_display_name><green>. Click this message to accept.
|
||||
command.party.sent_invite=<green>Sent party invite to </green><recipient_display_name><green>.
|
||||
command.reload.description=Reloads Carbon's config, channel settings, and translations. Will not load or unload any channels.
|
||||
command.reply.argument.message=The message to reply with.
|
||||
command.reply.description=Sends a message to the last player that messaged you.
|
||||
command.togglemsg.description=Allows and disallows other players from mesaging you.
|
||||
command.unignore.argument.player=The name of the player to unignore.
|
||||
command.unignore.argument.uuid=The UUID of the player to unignore.
|
||||
command.unignore.description=Stops hiding messages from the specified player.
|
||||
command.unmute.argument.player=The name of the player to unmute.
|
||||
command.unmute.argument.uuid=The UUID of the player to unmute.
|
||||
command.unmute.description=Unmutes players, allowing them to use chat and whisper other players.
|
||||
command.updateusername.argument.player=The name of the player to update.
|
||||
command.updateusername.argument.uuid=The uuid of the player to update.
|
||||
command.updateusername.description=Updates the player's username to match their mojang name.
|
||||
command.updateusername.fetching=Fetching username...
|
||||
command.updateusername.notupdated=Unable to fetch username.
|
||||
command.updateusername.updated=Updated <newname>'s username\!
|
||||
command.whisper.argument.message=The message to send.
|
||||
command.whisper.argument.player=The name of the player to message.
|
||||
command.whisper.description=Sends a private message to the specified player.
|
||||
config.reload.failed=<red>Config failed to reload
|
||||
config.reload.success=<green>Config reloaded successfully
|
||||
error.command.argument_parsing=<red>Invalid command argument\: <gray><throwable_message>
|
||||
error.command.command_execution=<hover\:show_text\:"<throwable_message>\n<stacktrace>\n<gray><italic> Click to copy"><click\:copy_to_clipboard\:'<stacktrace>'><red>An internal error occurred while attempting to perform this command.
|
||||
error.command.command_needs_player=<red>Non-players must provide the player argument to execute this command.
|
||||
error.command.invalid_player=No player found for input '<input>'
|
||||
error.command.invalid_sender=<red>Invalid command sender. You must be of type <gray><sender_type>
|
||||
error.command.invalid_syntax=<red>Invalid command syntax. Correct command syntax is\: <white>/</white><gray><syntax></gray>
|
||||
error.command.no_permission=<red>I'm sorry, but you do not have permission to perform this command.\nPlease contact the server administrators if you believe that this is in error.
|
||||
ignore.already_ignored=<red>You are already ignoring <target>
|
||||
ignore.exempt=<red>You cannot ignore <target>
|
||||
ignore.invalid_target=<red>No target found
|
||||
ignore.no_longer_ignoring=<green>You are no longer ignoring <target>
|
||||
ignore.not_ignored=<red>You are not ignoring <target>
|
||||
ignore.now_ignoring=<green>You are now ignoring <target>
|
||||
integrations.fuuid.cannot_use_alliance_channel=<red>You must join an alliance to use this channel.
|
||||
integrations.fuuid.cannot_use_faction_channel=<red>You must join a faction to use this channel.
|
||||
integrations.fuuid.cannot_use_truce_channel=<red>You must have a truce with another faction to use this channel.
|
||||
integrations.mcmmo.cannot_use_party_channel=<red>You must join an mcMMO party to use this channel.
|
||||
integrations.towny.cannot_use_alliance_channel=<red>You must join an alliance to use this channel.
|
||||
integrations.towny.cannot_use_nation_channel=<red>You must join a nation to use this channel.
|
||||
integrations.towny.cannot_use_town_channel=<red>You must join a town to use this channel.
|
||||
mute.alert.players=<red><target> <red>has been muted
|
||||
mute.alert.target=<red>You have been muted
|
||||
mute.cannot_speak=<red>You cannot speak when muted
|
||||
mute.exempt=<red>That player is exempt from being muted
|
||||
mute.info.muted=<red><target> <red>is muted
|
||||
mute.info.not_muted=<red><target> <gold>is not muted
|
||||
mute.info.self.muted=<red>You are muted
|
||||
mute.info.self.not_muted=<green>You are not muted
|
||||
mute.no_target=<red>No specified player to mute.
|
||||
mute.spy.prefix=<red><hover\:show_text\:'<red>Muted</red>'>M</hover></red>
|
||||
mute.unmute.alert.players=<green><target> <green>has been unmuted
|
||||
mute.unmute.alert.target=<green>You have been unmuted
|
||||
mute.unmute.no_target=<red>No specified player to unmute.
|
||||
nickname.error.blacklist=<red>Nickname "<nickname>" is not allowed. Please choose another name.
|
||||
nickname.error.character_limit=<red>Nickname "<nickname>" has exceeded the character limit. Must be set to <min_length>~<max_length> characters.
|
||||
nickname.error.filter=<red>Nicknames must be alphanumeric\!
|
||||
nickname.reset=<gold>Your nickname was reset
|
||||
nickname.reset.others=<green><target></green><gold>'s nickname was reset
|
||||
nickname.set=<green>Your nickname has been set to </green><nickname>
|
||||
nickname.set.others=<green>You set </green><target><green>'s nickname to </green><nickname>
|
||||
nickname.show=<green>Your nickname is </green><nickname>
|
||||
nickname.show.others=<target><green>'s nickname is </green><nickname>
|
||||
nickname.show.others.unset=<target><red> does not have a nickname set
|
||||
nickname.show.unset=<red>You do not have a nickname set
|
||||
pagination.click_for_next_page=Click for next page
|
||||
pagination.click_for_previous_page=Click for previous page
|
||||
pagination.footer=<gray>Page <page><white>/</white><pages> <aqua><buttons>
|
||||
pagination.page_out_of_range=<red>Page <page> is out of range\! There are only <pages> pages.
|
||||
party.cannot_use_channel=<red>You must join a party to use this channel.
|
||||
party.player_joined=<display_name><green> joined your party.
|
||||
party.player_left=<display_name><green> left your party.
|
||||
reply.target.missing=<red>You have no-one to reply to
|
||||
reply.target.self=<red>You cannot whisper to yourself
|
||||
whisper.console=<gold>[<green><sender_display_name></green>] -> [<green><recipient_display_name></green>] <message>
|
||||
whisper.continue.target_missing=<red>You have no one to whisper
|
||||
whisper.error=<red>Failed to send private message
|
||||
whisper.from=<click\:suggest_command\:'/whisper <sender_username> '><hover\:show_text\:'Click to start a reply'><dark_grey>[<grey><sender_display_name></grey>] -> [<grey>You</grey>] <grey>></grey> <message>
|
||||
whisper.ignored_by_target=<red><target> <red>is ignoring you
|
||||
whisper.ignoring_all=<red>You cannot send messages while they are ignored\!
|
||||
whisper.ignoring_target=<red>You are ignoring <target>
|
||||
whisper.to=<click\:suggest_command\:'/whisper <recipient_username> '><hover\:show_text\:'Click to start another message to <recipient_display_name>'><dark_grey>[<grey>You</grey>] -> [<grey><recipient_display_name></grey>] <grey>></grey> <message>
|
||||
whisper.toggled.off=No longer receiving private messages.
|
||||
whisper.toggled.on=Now receiving private messages.
|
160
src/plugins/CarbonChat/locale/messages-ja_JP.properties
Normal file
160
src/plugins/CarbonChat/locale/messages-ja_JP.properties
Normal file
@ -0,0 +1,160 @@
|
||||
#Sun Jul 13 19:11:13 EEST 2025
|
||||
channel.already_left=<red>あなたはすでにこのチャンネルから退出しています</red>
|
||||
channel.change=<green>メッセージを送信中</green><channel>
|
||||
channel.joined=<green>チャンネルに再加入しました</green>
|
||||
channel.left=<red>あなたはチャンネルから退出しました</red>
|
||||
channel.no_permission=<red>あなたにはこのチャンネルを使用する権限がありません</red>
|
||||
channel.not_found=<red>チャンネルが見つかりません</red>
|
||||
channel.not_left=<red>あなたはこのチャンネルから退出していません</red>
|
||||
channel.radius.empty_recipients=<red>メッセージを送信できる人が近くには誰もいません。
|
||||
command.clearchat.description=すべてのプレイヤーのチャットウィンドウをクリアします。
|
||||
command.continue.argument.message=送信するメッセージです。
|
||||
command.continue.description=最後にメッセージを送った人にメッセージを送信します。
|
||||
command.debug.argument.player=プレーヤーのグループをチェックする。
|
||||
command.debug.description=プレイヤーの権限グループを表示します。
|
||||
command.help.argument.query=検索クエリ。
|
||||
command.help.description=Carbonのコマンドリストです。
|
||||
command.help.misc.arguments=引数
|
||||
command.help.misc.available_commands=利用可能なコマンド一覧
|
||||
command.help.misc.click_for_next_page=クリックで次のページへ
|
||||
command.help.misc.click_for_previous_page=クリックで前のページへ
|
||||
command.help.misc.click_to_show_help=クリックしてこのコマンドのヘルプを表示
|
||||
command.help.misc.command=コマンド
|
||||
command.help.misc.description=説明
|
||||
command.help.misc.help=ヘルプ
|
||||
command.help.misc.no_description=説明なし
|
||||
command.help.misc.no_results_for_query=クエリの結果はありません
|
||||
command.help.misc.optional=オプション
|
||||
command.help.misc.page_out_of_range=エラー\: ページ <page> は範囲外です。[1, <max_pages>] の範囲内でなければなりません。
|
||||
command.help.misc.showing_results_for_query=クエリの検索結果を表示中
|
||||
command.ignore.argument.player=無視するプレーヤーの名前。
|
||||
command.ignore.argument.uuid=無視するプレーヤーのUUID。
|
||||
command.ignore.description=無視したプレイヤーからのすべてのメッセージを非表示にします。
|
||||
command.ignorelist.description=あなたが無視しているプレイヤーのリストをページ順に表示する。
|
||||
command.ignorelist.none_ignored=<green>あなたは他のプレイヤーを無視していません。
|
||||
command.ignorelist.pagination_element=- <display_name> <click\:run_command\:''/unignore <username>''><hover\:show_text\:''クリックして無視を解除する <username>''><gray>[<white>unignore</white>]</gray>
|
||||
command.ignorelist.pagination_header=<bold>無視したプレイヤー
|
||||
command.join.description=以前に退出したチャンネルに加入する。
|
||||
command.leave.description=現在アクセスしているチャンネルから退出する。
|
||||
command.mute.argument.player=ミュートするプレーヤーの名前。
|
||||
command.mute.argument.uuid=ミュートするプレーヤーのUUID。
|
||||
command.mute.description=プレイヤーをミュートし、チャットや他のプレイヤーへのプライベートメッセージを禁止します。
|
||||
command.muteinfo.argument.player=プレイヤーの名前。
|
||||
command.muteinfo.argument.uuid=プレイヤーのUUID。
|
||||
command.muteinfo.description=プレイヤーがミュートかどうかを表示します。
|
||||
command.nickname.argument.nickname=設定するニックネーム。
|
||||
command.nickname.argument.player=ターゲットプレイヤーの名前。このフラグがなければ、送信者がターゲットになります。
|
||||
command.nickname.description=プレイヤーのニックネームを設定および表示します。
|
||||
command.nickname.others.description=プレイヤーのニックネームを表示する。
|
||||
command.nickname.others.reset.description=ターゲットから設定されたニックネームを削除する。
|
||||
command.nickname.others.set.description=プレイヤーのニックネームを設定する。
|
||||
command.nickname.reset.description=あなたのニックネームを削除する。
|
||||
command.nickname.set.description=あなたのニックネームを設定する。
|
||||
command.party.accept.description=パーティーへの招待を承認する。
|
||||
command.party.already_in_party=<display_name><red>は既にあなたのパーティーに参加しています。
|
||||
command.party.cannot_disband_multiple_members=<red>あなたは最後のメンバーではないため、パーティー「</red><party_name><red>」を解散できません。
|
||||
command.party.cannot_invite_self=<red>自分を招待することはできません。
|
||||
command.party.create.description=新しいパーティーを作成する。
|
||||
command.party.created=<green>パーティー「</green><party_name><green>」の作成と参加に成功しました!
|
||||
command.party.current_party=<green>あなたが参加しているパーティー<white>\:</white></green> <party_name>
|
||||
command.party.description=現在参加しているパーティーのメンバー情報を確認する。
|
||||
command.party.disband.description=現在のパーティーを解散する。
|
||||
command.party.disbanded=<green>パーティー「</green><party_name><green>」の解散に成功しました!
|
||||
command.party.invite.description=プレイヤーをあなたのパーティーに招待する。
|
||||
command.party.joined_party=<green>パーティー「</green><party_name><green>」の参加に成功しました!
|
||||
command.party.leave.description=現在のパーティーから退出する。
|
||||
command.party.left_party=<green>パーティー「</green><party_name><green>」の退出に成功しました!
|
||||
command.party.must_be_in_party=<red>このコマンドを使うには、パーティーに入っていなければなりません。パーティを作成するには「/party create」を、招待を承認するには「/party accept」を使用して下さい。
|
||||
command.party.must_leave_current_first=<red>あなたはまず現在のパーティーから退出しなければなりません。
|
||||
command.party.must_specify_invite=<red>あなたは誰の招待を承認するか指定しなければなりません。
|
||||
command.party.name_too_long=<red>パーティー名が長すぎます。
|
||||
command.party.no_invite_from=<red>あなたは</red><sender_display_name><red>からの保留中の招待状はありません。
|
||||
command.party.no_pending_invites=<red>あなたには保留中のパーティー招待状はありません。
|
||||
command.party.not_in_party=<red>あなたはパーティーに参加していません。パーティを作成するには「/party create」を、招待を承認するには「/party accept」を使用して下さい。
|
||||
command.party.pagination_element=<online\:''<green>''\:''<gray>''> -<reset> <display_name>
|
||||
command.party.pagination_header=<green>パーティーメンバー</green>\:
|
||||
command.party.received_invite=<hover\:show_text\:''<green>クリックして承認''><click\:run_command\:''/party accept <sender_username>''><green>あなたは</green><sender_display_name><green>からパーティー「</green><party_name><green>」に招待されました。承認するにはこのメッセージをクリックして下さい。
|
||||
command.party.sent_invite=<recipient_display_name><green>にパーティーの招待状を送信しました。
|
||||
command.reload.description=Carbonの設定、チャンネル設定、翻訳をリロードします。チャンネルをロードしたり、アンロードしたりしません。
|
||||
command.reply.argument.message=返信するメッセージ。
|
||||
command.reply.description=最後にメッセージを送ったプレイヤーにメッセージを送信します。
|
||||
command.togglemsg.description=他のプレイヤーからあなたへのメッセージを許可/拒否する。
|
||||
command.unignore.argument.player=無視を解除するプレーヤーの名前。
|
||||
command.unignore.argument.uuid=無視を解除するプレイヤーのUUID。
|
||||
command.unignore.description=指定したプレイヤーからのメッセージの非表示を停止します。
|
||||
command.unmute.argument.player=ミュートを解除するプレーヤーの名前。
|
||||
command.unmute.argument.uuid=ミュートを解除するプレーヤーのUUID。
|
||||
command.unmute.description=プレイヤーのミュートを解除し、チャットや他のプレイヤーへのプライベートメッセージを使用できるようにします。
|
||||
command.updateusername.argument.player=更新するプレイヤーの名前。
|
||||
command.updateusername.argument.uuid=更新するプレーヤーのuuid。
|
||||
command.updateusername.description=プレイヤーのユーザー名をmojangの名前と一致するように更新する。
|
||||
command.updateusername.fetching=ユーザー名を取得中...
|
||||
command.updateusername.notupdated=ユーザー名を取得できません。
|
||||
command.updateusername.updated=<newname>のユーザー名を更新しました!
|
||||
command.whisper.argument.message=送信するメッセージ。
|
||||
command.whisper.argument.player=メッセージを送信するプレーヤーの名前。
|
||||
command.whisper.description=指定したプレーヤーにプライベートメッセージを送信します。
|
||||
config.reload.failed=<red>コンフィグのリロードに失敗
|
||||
config.reload.success=<green>コンフィグのリロードに成功
|
||||
error.command.argument_parsing=<red>無効なコマンド引数: <gray><throwable_message>
|
||||
error.command.command_execution=<hover\:show_text\:"<throwable_message>\n<stacktrace>\n<gray><italic> クリックしてコピー"><click\:copy_to_clipboard\:<stacktrace>><red>このコマンドの実行中に内部エラーが発生しました。
|
||||
error.command.command_needs_player=<red>非プレイヤーがこのコマンドを実行するには、プレーヤーの引数を指定しなければなりません。
|
||||
error.command.invalid_player=入力したプレイヤー''<input>''が見つかりません
|
||||
error.command.invalid_sender=<red>無効なコマンド送信者。<gray><sender_type> 型である必要があります
|
||||
error.command.invalid_syntax=<red>無効なコマンド構文です。正しいコマンド構文\: <white>/</white><gray><syntax></gray>
|
||||
error.command.no_permission=<red>申し訳ありませんが、このコマンドを実行する権限がありません。これがエラーだと思われる場合は、サーバー管理者にお問い合わせください。
|
||||
ignore.already_ignored=<red>あなたは既に<target>を無視しています
|
||||
ignore.exempt=<red>あなたは<target>を無視する事はできません
|
||||
ignore.invalid_target=<red>ターゲットが見つかりません
|
||||
ignore.no_longer_ignoring=<green>あなたは<target>を無視しなくなりました
|
||||
ignore.not_ignored=<red>あなたは<target>を無視していません
|
||||
ignore.now_ignoring=<green>あなたは<target>を無視しています
|
||||
integrations.fuuid.cannot_use_alliance_channel=<red>このチャンネルを利用するには、同盟に参加する必要があります。
|
||||
integrations.fuuid.cannot_use_faction_channel=<red>このチャンネルを利用するには、派閥に参加する必要があります。
|
||||
integrations.fuuid.cannot_use_truce_channel=<red>このチャンネルを利用するには、他の派閥と休戦する必要があります。
|
||||
integrations.mcmmo.cannot_use_party_channel=<red>このチャンネルを利用するには、mcMMOパーティーに参加する必要があります。
|
||||
integrations.towny.cannot_use_alliance_channel=<red>このチャンネルを利用するには、同盟に参加する必要があります。
|
||||
integrations.towny.cannot_use_nation_channel=<red>このチャンネルを利用するには、国家に参加する必要があります。
|
||||
integrations.towny.cannot_use_town_channel=<red>このチャンネルを利用するには、町に参加する必要があります。
|
||||
mute.alert.players=<red><target><red>がミュートされました
|
||||
mute.alert.target=<red>あなたはミュートされています
|
||||
mute.cannot_speak=<red>ミュート時は話すことができません
|
||||
mute.exempt=<red>そのプレイヤーはミュートされることを免除されています
|
||||
mute.info.muted=<red><target><red>はミュートされています。
|
||||
mute.info.not_muted=<red><target><gold>はミュートされていません
|
||||
mute.info.self.muted=<red>あなたはミュートされています
|
||||
mute.info.self.not_muted=<green>あなたはミュートされていません
|
||||
mute.no_target=<red>ミュートするプレイヤーが指定されていません。
|
||||
mute.spy.prefix=<red><hover\:show_text\:<red>ミュート</red>M</hover></red>
|
||||
mute.unmute.alert.players=<green><target><green>のミュートが解除されました
|
||||
mute.unmute.alert.target=<green>あなたのミュートが解除されました
|
||||
mute.unmute.no_target=<red>ミュート解除するプレイヤーが指定されていません。
|
||||
nickname.error.blacklist=<red>ニックネーム「</red><nickname></red>」は使用できません。他の名前を入力して下さい。
|
||||
nickname.error.character_limit=<red>ニックネーム「</red><nickname><red>」は文字数制限を超えています。 <min_length>〜<max_length> 文字に設定する必要があります。
|
||||
nickname.reset=<gold>あなたのニックネームがリセットされました
|
||||
nickname.reset.others=<green><target></green>の<gold>のニックネームがリセットされました
|
||||
nickname.set=<green>あなたのニックネームが</green><nickname><green>に設定されました
|
||||
nickname.set.others=<target><green>のニックネームを</green><nickname><green>に設定しました
|
||||
nickname.show=<green>あなたのニックネームは</green><nickname><green>です
|
||||
nickname.show.others=<target><green>のニックネームは</green><nickname><green>です
|
||||
nickname.show.others.unset=<target><red>にはニックネームが設定されていません
|
||||
nickname.show.unset=<red>あなたはニックネームが設定されていません
|
||||
pagination.click_for_next_page=クリックして次のページへ
|
||||
pagination.click_for_previous_page=クリックして前のページへ
|
||||
pagination.footer=<gray>ページ <page><white>/</white><pages> <aqua><buttons>
|
||||
pagination.page_out_of_range=<red><page> ページは範囲外です!<pages>ページまでです。
|
||||
party.cannot_use_channel=<red>このチャンネルを使用するには、あなたはパーティーに参加する必要があります。
|
||||
party.player_joined=<display_name><green>があなたのパーティーに参加しました。
|
||||
party.player_left=<display_name><green>があなたのパーティーを退出しました。
|
||||
reply.target.missing=<red>返信できる人がいません
|
||||
reply.target.self=<red>自分自身にプライベートメッセージを送信することはできません
|
||||
whisper.console=<gold>[<green><sender_display_name></green>] -> [<green><recipient_display_name></green>] <message>
|
||||
whisper.continue.target_missing=<red>プライベートメッセージを送る相手がいません
|
||||
whisper.error=<red>プライベートメッセージの送信に失敗しました。
|
||||
whisper.from=<gold>[<green><sender_display_name></green>] -> [<green>あなた</green>] <message>
|
||||
whisper.ignored_by_target=<red><target><red>はあなたを無視しています
|
||||
whisper.ignoring_all=<red>無視されている間はメッセージを送信できません!
|
||||
whisper.ignoring_target=<red>あなたは<target>を無視しています
|
||||
whisper.to=<gold>[<green>あなた</green>] -> [<green><recipient_display_name></green>] <message>
|
||||
whisper.toggled.off=プライベートメッセージを受信しなくなりました。
|
||||
whisper.toggled.on=プライベートメッセージを受信しています。
|
82
src/plugins/CarbonChat/locale/messages-nl_NL.properties
Normal file
82
src/plugins/CarbonChat/locale/messages-nl_NL.properties
Normal file
@ -0,0 +1,82 @@
|
||||
#Sun Jul 13 19:11:13 EEST 2025
|
||||
channel.change=<green>Je stuurt nu berichten naar </green><channel>
|
||||
command.clearchat.description=Wist het chatvenster voor alle spelers.
|
||||
command.continue.argument.message=Het te verzenden bericht.
|
||||
command.continue.description=Stuurt een bericht naar de laatste persoon die je een bericht hebt gestuurd.
|
||||
command.debug.argument.player=De speler om de groepen van te controleren.
|
||||
command.debug.description=Toont de groepen van de spelers.
|
||||
command.help.argument.query=De zoekopdracht.
|
||||
command.help.description=Carbon command lijst.
|
||||
command.help.misc.arguments=Argumenten
|
||||
command.help.misc.available_commands=Beschikbare command''s
|
||||
command.help.misc.click_for_next_page=Klik voor de volgende pagina
|
||||
command.help.misc.click_for_previous_page=Klik voor de vorige pagina
|
||||
command.help.misc.click_to_show_help=Klik om hulp voor deze command te tonen
|
||||
command.help.misc.description=Beschrijving
|
||||
command.help.misc.help=Hulp
|
||||
command.help.misc.no_description=Geen beschrijving
|
||||
command.help.misc.no_results_for_query=Geen zoekresultaten
|
||||
command.help.misc.optional=Optioneel
|
||||
command.help.misc.page_out_of_range=Fout\: Pagina <page> is niet in bereik. Moet tussen bereik [1, <max_pages>] zijn
|
||||
command.help.misc.showing_results_for_query=Zoekresultaten voor query weergeven
|
||||
command.ignore.argument.player=De naam van de speler om te negeren.
|
||||
command.ignore.argument.uuid=Het UUID van de speler om te negeren.
|
||||
command.ignore.description=Verbergt alle inkomende berichten van genegeerde spelers.
|
||||
command.mute.argument.player=De naam van de speler om te negeren.
|
||||
command.mute.argument.uuid=Het UUID van de speler om te negeren.
|
||||
command.mute.description=Mute spelers, vermijd dat ze chat gebruiken of andere spelers een prive bericht sturen.
|
||||
command.muteinfo.argument.player=De naam van de speler om te muten.
|
||||
command.muteinfo.argument.uuid=Het UUID van de speler om te negeren.
|
||||
command.muteinfo.description=Laat zien of spelers gemute zijn of niet.
|
||||
command.nickname.argument.nickname=De in te stellen bijnaam.
|
||||
command.nickname.description=Zet en laat speler bijnaam zien.
|
||||
command.reload.description=Herlaadt Carbon''s configuratie, kanaalinstellingen en vertalingen. Dit zal geen kanalen laden of ontladen.
|
||||
command.reply.argument.message=Het bericht waarmee u wilt antwoorden.
|
||||
command.reply.description=Stuurt een bericht naar de laatste persoon waar je een bericht van hebt ontvangen.
|
||||
command.unignore.argument.player=De naam van de speler om te stoppen met negeren.
|
||||
command.unignore.argument.uuid=Het UUID van de speler om te stoppen met negeren.
|
||||
command.unignore.description=Stopt het verbergen van berichten van de opgegeven speler.
|
||||
command.unmute.argument.player=De naam van de speler om te stoppen met negeren.
|
||||
command.unmute.argument.uuid=Het UUID van de speler om te stoppen met negeren.
|
||||
command.unmute.description=Un-mute spelers, geef ze toegang om chat te gebruiken en andere spelers een prive bericht te sturen.
|
||||
command.whisper.argument.message=Het te verzenden bericht.
|
||||
command.whisper.argument.player=De naam van de speler om een bericht naar te sturen.
|
||||
command.whisper.description=Stuurt een privébericht naar de opgegeven speler.
|
||||
config.reload.failed=<red>Configuratie kon niet herladen worden
|
||||
config.reload.success=<green>Configuratie herladen geslaagd
|
||||
error.command.argument_parsing=<red>Ongeldig command argument\: <gray><throwable_message>
|
||||
error.command.command_execution=<hover\:show_text\:"<throwable_message>\n<stacktrace>\n<gray><italic> Klik om te kopiëren "><click\:copy_to_clipboard\:<stacktrace>><red>Er is een interne fout opgetreden tijdens het proberen van deze command.
|
||||
error.command.invalid_player=Geen speler gevonden voor invoer ''<input>''
|
||||
error.command.invalid_sender=<red>Ongeldige command zender. Je moet van type <gray><senderType> zijn
|
||||
error.command.invalid_syntax=<red>Ongeldige command syntax. Het correcte command syntax\: <white>/</white><gray><syntax></gray>
|
||||
error.command.no_permission=<red>Sorry, maar je hebt geen toestemming om dit commando uit te voeren.\nNeem contact op met de server beheerders als je denkt dat dit een fout is.
|
||||
ignore.exempt=<red>Je kan <target> niet negeren
|
||||
ignore.invalid_target=<red>Geen doel gevonden
|
||||
ignore.no_longer_ignoring=<green>Je bent <target> niet langer aan het negeren
|
||||
ignore.now_ignoring=<green>Je bent nu <target> aan het negeren
|
||||
mute.alert.players=<red><target> <red>is gemute
|
||||
mute.alert.target=<red>Je bent gemute
|
||||
mute.cannot_speak=<red>Je kan niet praten wanneer je gemute bent
|
||||
mute.exempt=<red>Die speler is vrijgesteld van gemute te worden
|
||||
mute.info.muted=<red><target> <red>is gemute
|
||||
mute.info.not_muted=<red><target> <gold>is niet gemute
|
||||
mute.info.self.muted=<red>Je bent gemute
|
||||
mute.info.self.not_muted=<green>Je bent niet gemute
|
||||
mute.no_target=<red>Er is geen speler opgegeven om te muten.
|
||||
mute.spy.prefix=<red><hover\:show_text\:<red>Gemute</red>M</hover></red>
|
||||
mute.unmute.alert.players=<green><target> <green>is gemute
|
||||
mute.unmute.alert.target=<green>Je bent niet langer gemute
|
||||
mute.unmute.no_target=<red>Geen speler gespecifieerd om te umuten.
|
||||
nickname.reset=<gold>Jou bijnaam is opnieuw ingesteld
|
||||
nickname.reset.others=<green><target></green><gold>''s bijnaam is opnieuw ingesteld
|
||||
nickname.set=<green>Je bijnaam is ingesteld op </green><nickname>
|
||||
nickname.set.others=<green>Je hebt </green><target><green>''s bijnaam ingesteld op </green><nickname>
|
||||
nickname.show=<green>Je bijnaam is </green><nickname>
|
||||
nickname.show.others=<target><green>''s bijnaam is </green><nickname>
|
||||
nickname.show.others.unset=<target><red> heeft geen bijnaam ingesteld
|
||||
nickname.show.unset=<red>Je hebt geen bijnaam ingesteld
|
||||
reply.target.missing=<red>Je hebt niemand om te beantwoorden
|
||||
reply.target.self=<red>Je kan jezelf geen privebericht sturen
|
||||
whisper.continue.target_missing=<red>Je hebt niemand om een privebericht naar te sturen
|
||||
whisper.ignored_by_target=<red><target> <red>is je aan het negeren
|
||||
whisper.ignoring_target=<red>Jij negeert <target>
|
120
src/plugins/CarbonChat/locale/messages-tr_TR.properties
Normal file
120
src/plugins/CarbonChat/locale/messages-tr_TR.properties
Normal file
@ -0,0 +1,120 @@
|
||||
#Sun Jul 13 19:11:13 EEST 2025
|
||||
channel.already_left=<red>Zaten bu kanaldan ayrıldınız</red>.
|
||||
channel.change=<green>Artık <channel> ile iletişim kuruyorsunuz.</green>
|
||||
channel.joined=<green>Kanala tekrar katıldınız</green>.
|
||||
channel.left=<red>Kanaldan ayrıldınız</red>.
|
||||
channel.no_permission=<red>Bu kanalı kullanma izniniz yok</red>.
|
||||
channel.not_found=<red>Kanal bulunamadı</red>.
|
||||
channel.not_left=<red>Bu kanaldan ayrılmadınız</red>.
|
||||
channel.radius.empty_recipients=<red>Bir mesaj göndermek için kimseye yeterince yakın değilsiniz.</red>
|
||||
command.clearchat.description=Tüm oyuncuların sohbet penceresini temizler.
|
||||
command.continue.argument.message=Gönderilecek mesaj.
|
||||
command.continue.description=En son iletişim kurduğunuz kişiye bir mesaj gönderir.
|
||||
command.debug.argument.player=Gruplarını kontrol etmek istediğiniz oyuncu.
|
||||
command.debug.description=Oyuncuların izin gruplarını gösterir.
|
||||
command.help.argument.query=Arama sorgusu.
|
||||
command.help.description=Carbon komut listesi.
|
||||
command.help.misc.arguments=Argümanlar
|
||||
command.help.misc.available_commands=Kullanılabilir Komutlar
|
||||
command.help.misc.click_for_next_page=Sonraki sayfa için tıklayın
|
||||
command.help.misc.click_for_previous_page=Önceki sayfa için tıklayın
|
||||
command.help.misc.click_to_show_help=Bu komut için yardımı göstermek için tıklayın
|
||||
command.help.misc.command=Komut
|
||||
command.help.misc.description=Açıklama
|
||||
command.help.misc.help=Yardım
|
||||
command.help.misc.no_description=Açıklama yok
|
||||
command.help.misc.no_results_for_query=Sorgu için sonuç bulunamadı
|
||||
command.help.misc.optional=İsteğe bağlı
|
||||
command.help.misc.page_out_of_range=Hata\: Sayfa <page>, aralıkta değil. Aralık [1, <max_pages>] içinde olmalıdır.
|
||||
command.help.misc.showing_results_for_query=Sorgu için sonuçları gösteriliyor
|
||||
command.ignore.argument.player=Ignore edilecek oyuncunun adı.
|
||||
command.ignore.argument.uuid=Ignore edilecek oyuncunun UUID''si.
|
||||
command.ignore.description=Ignore edilen oyunculardan gelen tüm iletileri gizler.
|
||||
command.ignorelist.description=Ignore listesindeki oyuncuların sayfalandırılmış bir listesini gösterir.
|
||||
command.ignorelist.none_ignored=<green>Hiçbir oyuncuyu ignore etmiyorsunuz.
|
||||
command.ignorelist.pagination_element=- <hover\:show_text\:''Kullanıcı Adı\: <username>''><display_name></hover> <click\:run_command\:''/unignore <username>''><hover\:show_text\:''<username> kullanıcısını unignore etmek için tıklayın''><gray>[<white>unignore</white>]</gray>
|
||||
command.ignorelist.pagination_header=<bold>Ignore Edilen Oyuncular
|
||||
command.join.description=Daha önce ayrıldığınız bir kanala katılın.
|
||||
command.leave.description=Şu anda erişiminiz olan bir kanaldan ayrılın.
|
||||
command.mute.argument.player=Susturulacak oyuncunun adı.
|
||||
command.mute.argument.uuid=Susturulacak oyuncunun UUID''si.
|
||||
command.mute.description=Oyuncuları susturur, onların sohbeti kullanmalarını veya diğer oyunculara fısıltı göndermelerini engeller.
|
||||
command.muteinfo.argument.player=Oyuncunun adı.
|
||||
command.muteinfo.argument.uuid=Oyuncunun UUID''si.
|
||||
command.muteinfo.description=Oyuncuların susturulup susturulmadığını gösterir.
|
||||
command.nickname.argument.nickname=Ayarlanacak takma ad.
|
||||
command.nickname.argument.player=Hedef oyuncunun adı.
|
||||
command.nickname.description=Takma adınızı gösterir.
|
||||
command.nickname.others.description=Oyuncu takma adlarını gösterir.
|
||||
command.nickname.others.reset.description=Hedeften ayarlanmış herhangi bir takma adı kaldırır.
|
||||
command.nickname.others.set.description=Oyuncu takma adlarını ayarlar.
|
||||
command.nickname.reset.description=Takma adınızı kaldırır.
|
||||
command.nickname.set.description=Takma adınızı ayarlar.
|
||||
command.reload.description=Carbon''un yapılandırma, kanal ayarları ve çevirilerini yeniden yükler. Kanalları yüklemeye veya boşaltmaya gitmez.
|
||||
command.reply.argument.message=Yanıt olarak gönderilecek ileti.
|
||||
command.reply.description=Size en son mesaj gönderen oyuncuya bir ileti gönderir.
|
||||
command.togglemsg.description=Diğer oyuncuların size mesaj göndermesine izin verir veya engeller.
|
||||
command.unignore.argument.player=Ignore''un kaldırılacağı oyuncunun adı.
|
||||
command.unignore.argument.uuid=Ignore''un kaldırılacağı oyuncunun UUID''si.
|
||||
command.unignore.description=Belirtilen oyuncunun mesajlarını gizlemeyi bırakır.
|
||||
command.unmute.argument.player=Susturmanın kaldırılacağı oyuncunun adı.
|
||||
command.unmute.argument.uuid=Susturmanın kaldırılacağı oyuncunun UUID''si.
|
||||
command.unmute.description=Oyuncuların susturmasını kaldırır, onların sohbeti kullanmalarına ve diğer oyunculara fısıltı göndermelerine izin verir.
|
||||
command.updateusername.argument.player=Güncellenecek oyuncunun adı.
|
||||
command.updateusername.argument.uuid=Oyuncunun UUID''si.
|
||||
command.updateusername.description=Oyuncunun adını Mojang adıyla eşleşecek şekilde günceller.
|
||||
command.updateusername.fetching=Kullanıcı adı alınıyor...
|
||||
command.updateusername.notupdated=Kullanıcı adı alınamıyor.
|
||||
command.updateusername.updated=<newname>''nin kullanıcı adı güncellendi\!
|
||||
command.whisper.argument.message=Gönderilecek ileti.
|
||||
command.whisper.argument.player=İletişim kurmak istediğiniz oyuncunun adı.
|
||||
command.whisper.description=Belirtilen oyuncuya özel bir ileti gönderir.
|
||||
config.reload.failed=<red>Yapılandırma yeniden yüklenemedi.
|
||||
config.reload.success=<green>Yapılandırma başarıyla yeniden yüklendi.
|
||||
error.command.argument_parsing=<red>Geçersiz komut argümanı\: <gray><throwable_message>
|
||||
error.command.command_execution=<hover\:show_text\:"<throwable_message>\n<stacktrace>\n<gray><italic> Kopyalamak için tıklayın"><click\:copy_to_clipboard\:<stacktrace>><red>Komutu çalıştırmaya çalışırken içsel bir hata oluştu.
|
||||
error.command.command_needs_player=<red>Oyuncuların bu komutu çalıştırmak için oyuncu argümanı sağlaması gerekir.
|
||||
error.command.invalid_player=''<input>'' için oyuncu bulunamadı.
|
||||
error.command.invalid_sender=<red>Geçersiz komut gönderen. Tür <gray><sender_type> olmalıdır.
|
||||
error.command.invalid_syntax=<red>Geçersiz komut sözdizimi. Doğru komut sözdizimi\: <white>/</white><gray><syntax></gray>
|
||||
error.command.no_permission=<red>Üzgünüm, bu komutu gerçekleştirmek için izniniz yok.\nEğer bunun hata olduğuna inanıyorsanız lütfen sunucu yöneticileri ile iletişime geçin.
|
||||
ignore.already_ignored=<red>Zaten <target>''i ignore ediyorsunuz.
|
||||
ignore.exempt=<red>Bu hedef ignore edilemez.
|
||||
ignore.invalid_target=<red>Hedef bulunamadı.
|
||||
ignore.no_longer_ignoring=<green>Artık <target>''i ignore etmiyorsunuz.</green>
|
||||
ignore.not_ignored=<red><target>''i ignore etmiyorsunuz.
|
||||
ignore.now_ignoring=<green>Artık <target>''i ignore ediyorsunuz.</green>
|
||||
mute.alert.players=<red><target> <red>susturuldu.
|
||||
mute.alert.target=<red>Siz susturuldunuz.
|
||||
mute.cannot_speak=<red>Susturulduğunuzda konuşamazsınız.
|
||||
mute.exempt=<red>Bu oyuncunun susturulmasını engelleyemezsiniz.
|
||||
mute.info.muted=<red><target> <red>susturulmuş durumda.
|
||||
mute.info.not_muted=<red><target> <gold>susturulmamış durumda.
|
||||
mute.info.self.muted=<red>Siz susturuldunuz.
|
||||
mute.info.self.not_muted=<green>Siz susturulmamış durumdasınız.
|
||||
mute.no_target=<red>Susturulacak belirli bir oyuncu yok.
|
||||
mute.spy.prefix=<red><hover\:show_text\:''<red>Susturuldu</red>''>S</hover></red>
|
||||
mute.unmute.alert.players=<green><target> <green>susturulması kaldırıldı.
|
||||
mute.unmute.alert.target=<green>Siz artık susturulmamış durumdasınız.
|
||||
mute.unmute.no_target=<red>Susturulacak belirli bir oyuncu yok.
|
||||
nickname.reset=<gold>Takma adınız sıfırlandı.
|
||||
nickname.reset.others=<green><target></green><gold>''in takma adı sıfırlandı.
|
||||
nickname.set=<green>Takma adınız </green><nickname> olarak ayarlandı.
|
||||
nickname.set.others=<green>Siz </green><target><green>''in takma adını </green><nickname> olarak ayarladınız.
|
||||
nickname.show=<green>Takma adınız </green><nickname>.
|
||||
nickname.show.others=<target><green>''in takma adı </green><nickname>.
|
||||
nickname.show.others.unset=<target><red>''in ayarlanmış bir takma adı yok.</red>
|
||||
nickname.show.unset=<red>Sizin ayarlanmış bir takma adınız yok.</red>
|
||||
pagination.click_for_next_page=Sıradaki sayfa için tıklayın.
|
||||
pagination.click_for_previous_page=Önceki sayfa için tıklayın.
|
||||
pagination.footer=<gray>Sayfa <page><white>/</white><pages> <aqua><buttons></aqua></gray>.
|
||||
pagination.page_out_of_range=<red>Sayfa <page> aralık dışında\! Sadece <pages> sayfa var.</red>.
|
||||
reply.target.missing=<red>Cevap verecek kimse bulunmamaktadır.</red>
|
||||
reply.target.self=<red>Kendinize fısıltı gönderemezsiniz.</red>
|
||||
whisper.continue.target_missing=<red>Yanıt verecek kimse bulunmamaktadır.</red>
|
||||
whisper.error=<red>Özel ileti gönderme başarısız oldu.</red>
|
||||
whisper.ignored_by_target=<red><target></red> <red>sizin mesajlarınızı görmezden geliyor.</red>
|
||||
whisper.ignoring_all=<red>Ignore ediliyor durumdayken mesaj gönderemezsiniz\!</red>
|
||||
whisper.ignoring_target=<red><target> sizin mesajlarınızı görmezden geliyor.</red>
|
||||
whisper.toggled.off=Artık özel mesajlar almıyorsunuz.
|
||||
whisper.toggled.on=Artık özel mesajlar alıyorsunuz.
|
160
src/plugins/CarbonChat/locale/messages-zh_CN.properties
Normal file
160
src/plugins/CarbonChat/locale/messages-zh_CN.properties
Normal file
@ -0,0 +1,160 @@
|
||||
#Sun Jul 13 19:11:13 EEST 2025
|
||||
channel.already_left=<red>你已经离开了该频道</red>
|
||||
channel.change=<green>你正在 </green><channel><green> 频道上聊天</green>
|
||||
channel.joined=<green>你已重新加入该频道</green>
|
||||
channel.left=<red>你已离开该频道</red>
|
||||
channel.no_permission=<red>你没有权限进入该频道</red>
|
||||
channel.not_found=<red>找不到该频道</red>
|
||||
channel.not_left=<red>你还未离开该频道</red>
|
||||
channel.radius.empty_recipients=<red>你附近没有人, 无法发送消息.
|
||||
command.clearchat.description=清空所有玩家的聊天框.
|
||||
command.continue.argument.message=要发送的消息.
|
||||
command.continue.description=向你上次私信你的人发送消息.
|
||||
command.debug.argument.player=检查玩家的权限组.
|
||||
command.debug.description=显示玩家的权限组.
|
||||
command.help.argument.query=搜索查询.
|
||||
command.help.description=Carbon 命令列表.
|
||||
command.help.misc.arguments=参数
|
||||
command.help.misc.available_commands=可用命令
|
||||
command.help.misc.click_for_next_page=下一页
|
||||
command.help.misc.click_for_previous_page=上一页
|
||||
command.help.misc.click_to_show_help=点击显示此命令的帮助
|
||||
command.help.misc.command=命令
|
||||
command.help.misc.description=描述
|
||||
command.help.misc.help=帮助
|
||||
command.help.misc.no_description=无描述
|
||||
command.help.misc.no_results_for_query=没有结果
|
||||
command.help.misc.optional=可选
|
||||
command.help.misc.page_out_of_range=错误\: 页面 <page> 不在范围内.必须在范围 [1, <max_pages>] 内
|
||||
command.help.misc.showing_results_for_query=显示搜索结果\: <query>
|
||||
command.ignore.argument.player=要屏蔽的玩家名字.
|
||||
command.ignore.argument.uuid=要屏蔽的UUID.
|
||||
command.ignore.description=屏蔽指定玩家的消息.
|
||||
command.ignorelist.description=显示你屏蔽的玩家列表.
|
||||
command.ignorelist.none_ignored=<green>你没有屏蔽任何玩家.
|
||||
command.ignorelist.pagination_element=- <display_name> <click\:run_command\:''/unignore <username>''><hover\:show_text\:''单击取消屏蔽<username>''><gray>[<white>取消屏蔽</white>]</gray>
|
||||
command.ignorelist.pagination_header=<bold>屏蔽列表
|
||||
command.join.description=加入你上次离开的频道.
|
||||
command.leave.description=离开你当前的频道.
|
||||
command.mute.argument.player=要禁言的玩家.
|
||||
command.mute.argument.uuid=要禁言的UUID.
|
||||
command.mute.description=禁言指定玩家, 阻止指定玩家发送消息.
|
||||
command.muteinfo.argument.player=玩家.
|
||||
command.muteinfo.argument.uuid=UUID.
|
||||
command.muteinfo.description=显示玩家是否被禁言.
|
||||
command.nickname.argument.nickname=昵称.
|
||||
command.nickname.argument.player=玩家.
|
||||
command.nickname.description=显示你的昵称.
|
||||
command.nickname.others.description=显示玩家的昵称.
|
||||
command.nickname.others.reset.description=重置玩家的昵称.
|
||||
command.nickname.others.set.description=设置玩家的昵称.
|
||||
command.nickname.reset.description=删除你的昵称.
|
||||
command.nickname.set.description=设置你的昵称.
|
||||
command.party.accept.description=接受队伍邀请.
|
||||
command.party.already_in_party=<display_name> <red>已经在你的队伍中.
|
||||
command.party.cannot_disband_multiple_members=<red>无法解散队伍 ''</red><party_name><red>'' , 因为你不是最后一个成员.
|
||||
command.party.cannot_invite_self=<red>你不能邀请自己.
|
||||
command.party.create.description=创建一个新的队伍.
|
||||
command.party.created=<green>成功创建并加入队伍''</green><party_name><green>''\!
|
||||
command.party.current_party=<green>你在队伍<white>\: </white></green><party_name>
|
||||
command.party.description=查看当前队伍的信息.
|
||||
command.party.disband.description=解散当前队伍.
|
||||
command.party.disbanded=<green>成功解散了队伍 ''</green><party_name><green>'' .
|
||||
command.party.invite.description=邀请玩家加入你的队伍.
|
||||
command.party.joined_party=<green>成功加入了队伍 ''</green><party_name><green>'' \!
|
||||
command.party.leave.description=离开当前队伍.
|
||||
command.party.left_party=<green>成功离开了队伍 ''</green><party_name><green>'' .
|
||||
command.party.must_be_in_party=<red>你必须加入一个队伍才能使用该指令.使用 ''/party create'' 创建一个队伍, 或使用 ''/party accept'' 接受邀请.
|
||||
command.party.must_leave_current_first=<red>你必须先离开当前的队伍.
|
||||
command.party.must_specify_invite=<red>你必须指定邀请的人.
|
||||
command.party.name_too_long=<red>队伍名称太长.
|
||||
command.party.no_invite_from=<red>你没有来自 </red><sender_display_name><red> 的待处理邀请.
|
||||
command.party.no_pending_invites=<red>你没有任何待处理的组队邀请.
|
||||
command.party.not_in_party=<red>你不在任何队伍中.使用''/party create''创建一个队伍, 或使用''/party accept''接受邀请.
|
||||
command.party.pagination_element=<online\:''<green>''\:''<gray>''> -<reset> <display_name>
|
||||
command.party.pagination_header=<green>队伍成员</green>\:
|
||||
command.party.received_invite=<hover\:show_text\:''<green>单击接受''><click\:run_command\:''/party accept <sender_username>''><green>你收到来自队伍''</green><party_name><green>''的邀请, 由</green><sender_display_name><green>发送.点击此消息以接受.
|
||||
command.party.sent_invite=<green>已向 </green><recipient_display_name><green> 发送队伍邀请.
|
||||
command.reload.description=重载配置.
|
||||
command.reply.argument.message=要回复的消息.
|
||||
command.reply.description=向最近私信你的玩家发送消息.
|
||||
command.togglemsg.description=允许或禁止其他玩家向你发送消息.
|
||||
command.unignore.argument.player=要取消屏蔽的玩家.
|
||||
command.unignore.argument.uuid=要取消屏蔽的UUID.
|
||||
command.unignore.description=取消屏蔽指定玩家的消息.
|
||||
command.unmute.argument.player=要取消禁言的玩家.
|
||||
command.unmute.argument.uuid=要取消禁言的UUID.
|
||||
command.unmute.description=取消禁言指定玩家.
|
||||
command.updateusername.argument.player=要更新的玩家名称.
|
||||
command.updateusername.argument.uuid=要更新的玩家的 UUID.
|
||||
command.updateusername.description=更新玩家的用户名以匹配其正版名称.
|
||||
command.updateusername.fetching=获取用户名中...
|
||||
command.updateusername.notupdated=无法获取用户名.
|
||||
command.updateusername.updated=已更新 <newname> 的用户名\!
|
||||
command.whisper.argument.message=要发送的私聊消息.
|
||||
command.whisper.argument.player=要发送消息的玩家名称.
|
||||
command.whisper.description=向指定玩家发送私聊消息.
|
||||
config.reload.failed=<red>配置加载失败
|
||||
config.reload.success=<green>配置加载成功
|
||||
error.command.argument_parsing=<red>无效的命令参数\: <gray><throwable_message>
|
||||
error.command.command_execution=<hover\:show_text\:"<throwable_message>\n<stacktrace>\n<gray><italic> 点击复制"><click\:copy_to_clipboard\:''<stacktrace>''><red>执行此命令时发生内部错误.
|
||||
error.command.command_needs_player=<red>需要提供玩家参数才能执行此命令.
|
||||
error.command.invalid_player=未找到名为 ''<input>'' 的玩家
|
||||
error.command.invalid_sender=<red>无效的命令发送者.你必须是类型为 <gray><sender_type> <red>的用户
|
||||
error.command.invalid_syntax=<red>无效命令, 正确用法\: <white>/</white><gray><syntax></gray>
|
||||
error.command.no_permission=<red>你没有执行此命令的权限.
|
||||
ignore.already_ignored=<red>你已经在屏蔽<target>
|
||||
ignore.exempt=<red>你不能屏蔽<target>
|
||||
ignore.invalid_target=<red>未找到玩家
|
||||
ignore.no_longer_ignoring=<green>你不再屏蔽<target>
|
||||
ignore.not_ignored=<red>你没有屏蔽<target>
|
||||
ignore.now_ignoring=<green>你现在正在屏蔽<target>
|
||||
integrations.fuuid.cannot_use_alliance_channel=<red>你必须加入一个联盟才能使用该频道.
|
||||
integrations.fuuid.cannot_use_faction_channel=<red>你必须加入一个派系才能使用该频道.
|
||||
integrations.fuuid.cannot_use_truce_channel=<red>你必须与另一个派系结成停战协议才能使用该频道.
|
||||
integrations.mcmmo.cannot_use_party_channel=<red>你必须加入一个 mcMMO 队伍才能使用该频道.
|
||||
integrations.towny.cannot_use_alliance_channel=<red>你必须加入一个联盟才能使用该频道.
|
||||
integrations.towny.cannot_use_nation_channel=<red>你必须加入一个国家才能使用该频道.
|
||||
integrations.towny.cannot_use_town_channel=<red>你必须加入一个城镇才能使用该频道.
|
||||
mute.alert.players=<red><target> <red>已被禁言
|
||||
mute.alert.target=<red>你已被禁言
|
||||
mute.cannot_speak=<red>你被禁言时不能发言
|
||||
mute.exempt=<red>该玩家不受禁言限制
|
||||
mute.info.muted=<red><target> <red>被禁言了
|
||||
mute.info.not_muted=<red><target> <gold>没有被禁言
|
||||
mute.info.self.muted=<red>你被禁言了
|
||||
mute.info.self.not_muted=<green>你没有被禁言
|
||||
mute.no_target=<red>没有指定要禁言的玩家.
|
||||
mute.spy.prefix=<red><hover\:show_text\:''<red>禁言</red>''>M</hover></red>
|
||||
mute.unmute.alert.players=<green><target> <green>已被取消禁言
|
||||
mute.unmute.alert.target=<green>你已被取消禁言
|
||||
mute.unmute.no_target=<red>没有指定要解除禁言的玩家.
|
||||
nickname.error.blacklist=<red>昵称"<nickname>" 不允许使用, 请选择其他昵称.
|
||||
nickname.error.character_limit=<red>昵称 ''<nickname>'' 超过了字符限制, 必须设置为 <min_length>~<max_length> 个字符.
|
||||
nickname.reset=<gold>你已重置自己的昵称
|
||||
nickname.reset.others=<green>你已重置 <target> 的昵称</green>
|
||||
nickname.set=<green>你的昵称已设置为 </green><nickname>
|
||||
nickname.set.others=<green>你将 <target> 的昵称设置为 <nickname></green>
|
||||
nickname.show=<green>你的昵称是</green> <nickname>
|
||||
nickname.show.others=<target> <green>的昵称是 </green><nickname>
|
||||
nickname.show.others.unset=<target> <red>未设置昵称
|
||||
nickname.show.unset=<red>你未设置昵称
|
||||
pagination.click_for_next_page=下一页
|
||||
pagination.click_for_previous_page=上一页
|
||||
pagination.footer=<gray>第 <page><white>/</white><pages> 页 <aqua><buttons>
|
||||
pagination.page_out_of_range=<red>第 <page> 页超出范围, 总共只有 <pages> 页.
|
||||
party.cannot_use_channel=<red>你必须加入一个队伍才能使用该频道.
|
||||
party.player_joined=<display_name><green>加入了你的队伍.
|
||||
party.player_left=<display_name><green>离开了你的队伍.
|
||||
reply.target.missing=<red>没有回复
|
||||
reply.target.self=<red>你不能给自己发送私信
|
||||
whisper.console=<gold>[<green><sender_display_name></green>] -> [<green><recipient_display_name></green>] <message>
|
||||
whisper.continue.target_missing=<red>无法继续发送私信
|
||||
whisper.error=<red>发送私信失败
|
||||
whisper.from=<click\:suggest_command\:''/whisper <sender_username> ''>hover\:show_text\:''单击开始回复''<gold>[<green><sender_display_name></green>] -> [<green>你</green>] <message>
|
||||
whisper.ignored_by_target=<red><target> <red>已经屏蔽你的私信
|
||||
whisper.ignoring_all=<red>无法在他们被你屏蔽时发送消息\!
|
||||
whisper.ignoring_target=<red>你正在屏蔽 <target>
|
||||
whisper.to=<click\:suggest_command\:''/whisper <recipient_username> ''><hover\:show_text\:''点击开始给<recipient_display_name>发送消息''><gold>[<green>你</green>] -> [<green><recipient_display_name></green>] <message>
|
||||
whisper.toggled.off=你关闭了私信的接收.
|
||||
whisper.toggled.on=你开启了私信的接收.
|
160
src/plugins/CarbonChat/locale/messages-zh_TW.properties
Normal file
160
src/plugins/CarbonChat/locale/messages-zh_TW.properties
Normal file
@ -0,0 +1,160 @@
|
||||
#Sun Jul 13 19:11:13 EEST 2025
|
||||
channel.already_left=<red>你已經離開了該頻道</red>
|
||||
channel.change=<green>你現在正在屏蔽 </green><channel>
|
||||
channel.joined=<green>你已重新加入該頻道</green>
|
||||
channel.left=<red>你已離開該頻道</red>
|
||||
channel.no_permission=<red>你冇有權限進入該頻道</red>
|
||||
channel.not_found=<red>找不到該頻道</red>
|
||||
channel.not_left=<red>你還未離開該頻道</red>
|
||||
channel.radius.empty_recipients=<red>你附近冇有人, 無法發送消息.
|
||||
command.clearchat.description=清空所有玩家的聊天框.
|
||||
command.continue.argument.message=要發送的消息.
|
||||
command.continue.description=嚮你上次私信你的人發送消息.
|
||||
command.debug.argument.player=檢查玩家的權限組.
|
||||
command.debug.description=顯示玩家的權限組.
|
||||
command.help.argument.query=搜索查詢.
|
||||
command.help.description=Carbon 命令列錶.
|
||||
command.help.misc.arguments=參數
|
||||
command.help.misc.available_commands=可用命令
|
||||
command.help.misc.click_for_next_page=下一頁
|
||||
command.help.misc.click_for_previous_page=上一頁
|
||||
command.help.misc.click_to_show_help=點選顯示此命令的幫助
|
||||
command.help.misc.command=命令
|
||||
command.help.misc.description=描述
|
||||
command.help.misc.help=幫助
|
||||
command.help.misc.no_description=無描述
|
||||
command.help.misc.no_results_for_query=冇有結果
|
||||
command.help.misc.optional=可選
|
||||
command.help.misc.page_out_of_range=錯誤\: 頁麵 <page> 不在範圍內.必須在範圍 [1, <max_pages>] 內
|
||||
command.help.misc.showing_results_for_query=顯示搜索結果\: <query>
|
||||
command.ignore.argument.player=要屏蔽的玩家名字.
|
||||
command.ignore.argument.uuid=要屏蔽的UUID.
|
||||
command.ignore.description=屏蔽指定玩家的消息.
|
||||
command.ignorelist.description=顯示你屏蔽的玩家列錶.
|
||||
command.ignorelist.none_ignored=<green>你冇有屏蔽任何玩家.
|
||||
command.ignorelist.pagination_element=- <display_name> <click\:run_command\:''/unignore <username>''><hover\:show_text\:''單擊取消屏蔽<username>''><gray>[<white>取消屏蔽</white>]</gray>
|
||||
command.ignorelist.pagination_header=<bold>屏蔽列錶
|
||||
command.join.description=加入你上次離開的頻道.
|
||||
command.leave.description=離開你當前的頻道.
|
||||
command.mute.argument.player=要禁言的玩家.
|
||||
command.mute.argument.uuid=要禁言的UUID.
|
||||
command.mute.description=禁言指定玩家, 阻止指定玩家發送消息.
|
||||
command.muteinfo.argument.player=玩家.
|
||||
command.muteinfo.argument.uuid=UUID.
|
||||
command.muteinfo.description=顯示玩家是否被禁言.
|
||||
command.nickname.argument.nickname=昵稱.
|
||||
command.nickname.argument.player=玩家.
|
||||
command.nickname.description=顯示你的昵稱.
|
||||
command.nickname.others.description=顯示玩家的昵稱.
|
||||
command.nickname.others.reset.description=重置玩家的昵稱.
|
||||
command.nickname.others.set.description=設定玩家的昵稱.
|
||||
command.nickname.reset.description=刪除你的昵稱.
|
||||
command.nickname.set.description=設定你的昵稱.
|
||||
command.party.accept.description=接受隊伍邀請.
|
||||
command.party.already_in_party=<display_name> <red>已經在你的隊伍中.
|
||||
command.party.cannot_disband_multiple_members=<red>無法解散隊伍 ''</red><party_name><red>'' , 因為你不是最後一個成員.
|
||||
command.party.cannot_invite_self=<red>你不能邀請自己.
|
||||
command.party.create.description=創建一個新的隊伍.
|
||||
command.party.created=<green>成功創建並加入隊伍''</green><party_name><green>''\!
|
||||
command.party.current_party=<green>你在隊伍<white>\: </white></green><party_name>
|
||||
command.party.description=檢視當前隊伍的信息.
|
||||
command.party.disband.description=解散當前隊伍.
|
||||
command.party.disbanded=<green>成功解散了隊伍 ''</green><party_name><green>'' .
|
||||
command.party.invite.description=邀請玩家加入你的隊伍.
|
||||
command.party.joined_party=<green>成功加入了隊伍 ''</green><party_name><green>'' \!
|
||||
command.party.leave.description=離開當前隊伍.
|
||||
command.party.left_party=<green>成功離開了隊伍 ''</green><party_name><green>'' .
|
||||
command.party.must_be_in_party=<red>你必須加入一個隊伍才能使用該指令.使用 ''/party create'' 創建一個隊伍, 或使用 ''/party accept'' 接受邀請.
|
||||
command.party.must_leave_current_first=<red>你必須先離開當前的隊伍.
|
||||
command.party.must_specify_invite=<red>你必須指定邀請的人.
|
||||
command.party.name_too_long=<red>隊伍名稱太長.
|
||||
command.party.no_invite_from=<red>你冇有來自 </red><sender_display_name><red> 的待處理邀請.
|
||||
command.party.no_pending_invites=<red>你冇有任何待處理的組隊邀請.
|
||||
command.party.not_in_party=<red>你不在任何隊伍中.使用''/party create''創建一個隊伍, 或使用''/party accept''接受邀請.
|
||||
command.party.pagination_element=<online\:''<green>''\:''<gray>''> -<reset> <display_name>
|
||||
command.party.pagination_header=<green>隊伍成員</green>\:
|
||||
command.party.received_invite=<hover\:show_text\:''<green>單擊接受''><click\:run_command\:''/party accept <sender_username>''><green>你收到來自隊伍''</green><party_name><green>''的邀請, 由</green><sender_display_name><green>發送.點選此消息以接受.
|
||||
command.party.sent_invite=<green>已嚮 </green><recipient_display_name><green> 發送隊伍邀請.
|
||||
command.reload.description=重載配置.
|
||||
command.reply.argument.message=要回複的消息.
|
||||
command.reply.description=嚮最近私信你的玩家發送消息.
|
||||
command.togglemsg.description=允許或禁止其他玩家嚮你發送消息.
|
||||
command.unignore.argument.player=要取消屏蔽的玩家.
|
||||
command.unignore.argument.uuid=要取消屏蔽的UUID.
|
||||
command.unignore.description=取消屏蔽指定玩家的消息.
|
||||
command.unmute.argument.player=要取消禁言的玩家.
|
||||
command.unmute.argument.uuid=要取消禁言的UUID.
|
||||
command.unmute.description=取消禁言指定玩家.
|
||||
command.updateusername.argument.player=要更新的玩家名稱.
|
||||
command.updateusername.argument.uuid=要更新的玩家的 UUID.
|
||||
command.updateusername.description=更新玩家的用戶名以匹配其正版名稱.
|
||||
command.updateusername.fetching=獲取用戶名中...
|
||||
command.updateusername.notupdated=無法獲取用戶名.
|
||||
command.updateusername.updated=已更新 <newname> 的用戶名\!
|
||||
command.whisper.argument.message=要發送的私聊消息.
|
||||
command.whisper.argument.player=要發送消息的玩家名稱.
|
||||
command.whisper.description=嚮指定玩家發送私聊消息.
|
||||
config.reload.failed=<red>配置加載失敗
|
||||
config.reload.success=<green>配置加載成功
|
||||
error.command.argument_parsing=<red>無效的命令參數\: <gray><throwable_message>
|
||||
error.command.command_execution=<hover\:show_text\:"<throwable_message>\n<stacktrace>\n<gray><italic> 點選複製"><click\:copy_to_clipboard\:''<stacktrace>''><red>執行此命令時發生內部錯誤.
|
||||
error.command.command_needs_player=<red>需要提供玩家參數才能執行此命令.
|
||||
error.command.invalid_player=未找到名為 ''<input>'' 的玩家
|
||||
error.command.invalid_sender=<red>無效的命令發送者.你必須是類型為 <gray><sender_type> <red>的用戶
|
||||
error.command.invalid_syntax=<red>無效命令, 正確用法\: <white>/</white><gray><syntax></gray>
|
||||
error.command.no_permission=<red>你冇有執行此命令的權限.
|
||||
ignore.already_ignored=<red>你已經在屏蔽<target>
|
||||
ignore.exempt=<red>你不能屏蔽<target>
|
||||
ignore.invalid_target=<red>未找到玩家
|
||||
ignore.no_longer_ignoring=<green>你不再屏蔽<target>
|
||||
ignore.not_ignored=<red>你冇有屏蔽<target>
|
||||
ignore.now_ignoring=<green>你現在正在屏蔽<target>
|
||||
integrations.fuuid.cannot_use_alliance_channel=<red>你必須加入一個聯盟才能使用該頻道.
|
||||
integrations.fuuid.cannot_use_faction_channel=<red>你必須加入一個派係才能使用該頻道.
|
||||
integrations.fuuid.cannot_use_truce_channel=<red>你必須與另一個派係結成停戰協議才能使用該頻道.
|
||||
integrations.mcmmo.cannot_use_party_channel=<red>你必須加入一個 mcMMO 隊伍才能使用該頻道.
|
||||
integrations.towny.cannot_use_alliance_channel=<red>你必須加入一個聯盟才能使用該頻道.
|
||||
integrations.towny.cannot_use_nation_channel=<red>你必須加入一個國家才能使用該頻道.
|
||||
integrations.towny.cannot_use_town_channel=<red>你必須加入一個城鎮才能使用該頻道.
|
||||
mute.alert.players=<red><target> <red>已被禁言
|
||||
mute.alert.target=<red>你已被禁言
|
||||
mute.cannot_speak=<red>你被禁言時不能發言
|
||||
mute.exempt=<red>該玩家不受禁言限製
|
||||
mute.info.muted=<red><target> <red>被禁言了
|
||||
mute.info.not_muted=<red><target> <gold>冇有被禁言
|
||||
mute.info.self.muted=<red>你被禁言了
|
||||
mute.info.self.not_muted=<green>你冇有被禁言
|
||||
mute.no_target=<red>冇有指定要禁言的玩家.
|
||||
mute.spy.prefix=<red><hover\:show_text\:''<red>禁言</red>''>M</hover></red>
|
||||
mute.unmute.alert.players=<green><target> <green>已被取消禁言
|
||||
mute.unmute.alert.target=<green>你已被取消禁言
|
||||
mute.unmute.no_target=<red>冇有指定要解除禁言的玩家.
|
||||
nickname.error.blacklist=<red>昵稱"<nickname>" 不允許使用, 請選擇其他昵稱.
|
||||
nickname.error.character_limit=<red>昵稱 ''<nickname>'' 超過了字符限製, 必須設定為 <min_length>~<max_length> 個字符.
|
||||
nickname.reset=<gold>你已重置自己的昵稱
|
||||
nickname.reset.others=<green>你已重置 <target> 的昵稱</green>
|
||||
nickname.set=<green>你的昵稱已設定為 </green><nickname>
|
||||
nickname.set.others=<green>你將 <target> 的昵稱設定為 <nickname></green>
|
||||
nickname.show=<green>你的昵稱是</green> <nickname>
|
||||
nickname.show.others=<target> <green>的昵稱是 </green><nickname>
|
||||
nickname.show.others.unset=<target> <red>未設定昵稱
|
||||
nickname.show.unset=<red>你未設定昵稱
|
||||
pagination.click_for_next_page=下一頁
|
||||
pagination.click_for_previous_page=上一頁
|
||||
pagination.footer=<gray>第 <page><white>/</white><pages> 頁 <aqua><buttons>
|
||||
pagination.page_out_of_range=<red>第 <page> 頁超出範圍, 總共隻有 <pages> 頁.
|
||||
party.cannot_use_channel=<red>你必須加入一個隊伍才能使用該頻道.
|
||||
party.player_joined=<display_name><green>加入了你的隊伍.
|
||||
party.player_left=<display_name><green>離開了你的隊伍.
|
||||
reply.target.missing=<red>冇有回複
|
||||
reply.target.self=<red>你不能給自己發送私信
|
||||
whisper.console=<gold>[<green><sender_display_name></green>] -> [<green><recipient_display_name></green>] <message>
|
||||
whisper.continue.target_missing=<red>無法繼續發送私信
|
||||
whisper.error=<red>發送私信失敗
|
||||
whisper.from=<click\:suggest_command\:''/whisper <sender_username> ''>hover\:show_text\:''單擊開始回複''<gold>[<green><sender_display_name></green>] -> [<green>你</green>] <message>
|
||||
whisper.ignored_by_target=<red><target> <red>已經屏蔽你的私信
|
||||
whisper.ignoring_all=<red>無法在他們被你屏蔽時發送消息\!
|
||||
whisper.ignoring_target=<red>你正在屏蔽 <target>
|
||||
whisper.to=<click\:suggest_command\:''/whisper <recipient_username> ''><hover\:show_text\:''點選開始給<recipient_display_name>發送消息''><gold>[<green>你</green>] -> [<green><recipient_display_name></green>] <message>
|
||||
whisper.toggled.off=你關閉了私信的接收.
|
||||
whisper.toggled.on=你開啓了私信的接收.
|
BIN
src/plugins/Chunky-Bukkit-1.4.40.jar
(Stored with Git LFS)
Normal file
BIN
src/plugins/Chunky-Bukkit-1.4.40.jar
(Stored with Git LFS)
Normal file
Binary file not shown.
9
src/plugins/Chunky/config.yml
Normal file
9
src/plugins/Chunky/config.yml
Normal file
@ -0,0 +1,9 @@
|
||||
# Chunky Configuration
|
||||
# https://github.com/pop4959/Chunky/wiki/Configuration
|
||||
|
||||
version: 2
|
||||
language: en
|
||||
continue-on-restart: false
|
||||
force-load-existing-chunks: false
|
||||
silent: false
|
||||
update-interval: 5
|
BIN
src/plugins/CommandWhitelist-Bukkit-2.12.0.jar
(Stored with Git LFS)
Normal file
BIN
src/plugins/CommandWhitelist-Bukkit-2.12.0.jar
(Stored with Git LFS)
Normal file
Binary file not shown.
81
src/plugins/CommandWhitelist/config.yml
Normal file
81
src/plugins/CommandWhitelist/config.yml
Normal file
@ -0,0 +1,81 @@
|
||||
|
||||
# Messages use MiniMessage formatting (https://docs.adventure.kyori.net/minimessage/format)
|
||||
messages:
|
||||
prefix: ''
|
||||
command_denied: ''
|
||||
subcommand_denied: ''
|
||||
no_permission: ''
|
||||
no_such_subcommand: ''
|
||||
config_reloaded: <yellow>Configuration reloaded.
|
||||
added_to_whitelist: <yellow>Whitelisted command <gold>%s <yellow>for permission
|
||||
<gold>%s
|
||||
removed_from_whitelist: <yellow>Removed command <gold>%s <yellow>from permission
|
||||
<gold>%s
|
||||
group_doesnt_exist: <red>Group doesn't exist or error occured
|
||||
|
||||
# Do not enable if you don't have issues with aliased commands.
|
||||
# This requires server restart to take effect.
|
||||
use_protocollib: false
|
||||
|
||||
# Valid message types are CHAT and ACTIONBAR. Does nothing on velocity.
|
||||
message_type: CHAT
|
||||
groups:
|
||||
default:
|
||||
commands:
|
||||
- tell
|
||||
- reply
|
||||
- ignore
|
||||
- unignore
|
||||
- discord
|
||||
- imageframe
|
||||
subcommands:
|
||||
- discord ?
|
||||
- discord help
|
||||
- discord link
|
||||
- discord linked
|
||||
- discord clearlinked
|
||||
role_moder:
|
||||
commands:
|
||||
- ban
|
||||
- unban
|
||||
- ipban
|
||||
- unbanip
|
||||
- banlist
|
||||
- mute
|
||||
- unmute
|
||||
- ipmute
|
||||
- unmuteip
|
||||
- mutelist
|
||||
- warn
|
||||
- unwarn
|
||||
- ipwarn
|
||||
- unwarnip
|
||||
- warns
|
||||
- history
|
||||
- alts
|
||||
- kick
|
||||
- ipkick
|
||||
- blame
|
||||
- vanish
|
||||
- openender
|
||||
- openinv
|
||||
- grim
|
||||
- coreprotect
|
||||
- vmute
|
||||
- vunmute
|
||||
- vmutelist
|
||||
- gamemode
|
||||
- tp
|
||||
subcommands:
|
||||
- gamemode adventure
|
||||
- gamemode creative
|
||||
role_admin:
|
||||
commands:
|
||||
- luckperms
|
||||
- searchender
|
||||
- searchenchant
|
||||
- searchcontainer
|
||||
- bmarker
|
||||
- bmarker-setup
|
||||
- bmarker-setup-set
|
||||
subcommands: []
|
BIN
src/plugins/CoreProtect-22.4.jar
(Stored with Git LFS)
Normal file
BIN
src/plugins/CoreProtect-22.4.jar
(Stored with Git LFS)
Normal file
Binary file not shown.
0
src/plugins/CoreProtect/.license
Normal file
0
src/plugins/CoreProtect/.license
Normal file
148
src/plugins/CoreProtect/config.yml
Normal file
148
src/plugins/CoreProtect/config.yml
Normal file
@ -0,0 +1,148 @@
|
||||
# CoreProtect Config
|
||||
|
||||
# CoreProtect is donationware. Obtain a donation key from coreprotect.net/donate/
|
||||
donation-key:
|
||||
|
||||
# MySQL is optional and not required.
|
||||
# If you prefer to use MySQL, enable the following and fill out the fields.
|
||||
use-mysql: true
|
||||
table-prefix: co_
|
||||
mysql-host: _COREPROTECT_DB_HOST_
|
||||
mysql-port: _COREPROTECT_DB_PORT_
|
||||
mysql-database: _COREPROTECT_DB_NAME_
|
||||
mysql-username: _COREPROTECT_DB_USERNAME_
|
||||
mysql-password: '_COREPROTECT_DB_PASSWORD_'
|
||||
|
||||
# If modified, will automatically attempt to translate languages phrases.
|
||||
# List of language codes: https://coreprotect.net/languages/
|
||||
language: en
|
||||
|
||||
# If enabled, CoreProtect will check for updates when your server starts up.
|
||||
# If an update is available, you'll be notified via your server console.
|
||||
check-updates: true
|
||||
|
||||
# If enabled, other plugins will be able to utilize the CoreProtect API.
|
||||
api-enabled: true
|
||||
|
||||
# If enabled, extra data is displayed during rollbacks and restores.
|
||||
# Can be manually triggered by adding "#verbose" to your rollback command.
|
||||
verbose: true
|
||||
|
||||
# If no radius is specified in a rollback or restore, this value will be
|
||||
# used as the radius. Set to "0" to disable automatically adding a radius.
|
||||
default-radius: 10
|
||||
|
||||
# The maximum radius that can be used in a command. Set to "0" to disable.
|
||||
# To run a rollback or restore without a radius, you can use "r:#global".
|
||||
max-radius: 100
|
||||
|
||||
# If enabled, items taken from containers (etc) will be included in rollbacks.
|
||||
rollback-items: true
|
||||
|
||||
# If enabled, entities, such as killed animals, will be included in rollbacks.
|
||||
rollback-entities: true
|
||||
|
||||
# If enabled, generic data, like zombies burning in daylight, won't be logged.
|
||||
skip-generic-data: true
|
||||
|
||||
# Logs blocks placed by players.
|
||||
block-place: true
|
||||
|
||||
# Logs blocks broken by players.
|
||||
block-break: true
|
||||
|
||||
# Logs blocks that break off of other blocks; for example, a sign or torch
|
||||
# falling off of a dirt block that a player breaks. This is required for
|
||||
# beds/doors to properly rollback.
|
||||
natural-break: true
|
||||
|
||||
# Properly track block movement, such as sand or gravel falling.
|
||||
block-movement: true
|
||||
|
||||
# Properly track blocks moved by pistons.
|
||||
pistons: true
|
||||
|
||||
# Logs blocks that burn up in a fire.
|
||||
block-burn: true
|
||||
|
||||
# Logs when a block naturally ignites, such as from fire spreading.
|
||||
block-ignite: true
|
||||
|
||||
# Logs explosions, such as TNT and Creepers.
|
||||
explosions: true
|
||||
|
||||
# Track when an entity changes a block, such as an Enderman destroying blocks.
|
||||
entity-change: true
|
||||
|
||||
# Logs killed entities, such as killed cows and enderman.
|
||||
entity-kills: true
|
||||
|
||||
# Logs text on signs. If disabled, signs will be blank when rolled back.
|
||||
sign-text: true
|
||||
|
||||
# Logs lava and water sources placed/removed by players who are using buckets.
|
||||
buckets: true
|
||||
|
||||
# Logs natural tree leaf decay.
|
||||
leaf-decay: true
|
||||
|
||||
# Logs tree growth. Trees are linked to the player who planted the sapling.
|
||||
tree-growth: true
|
||||
|
||||
# Logs mushroom growth.
|
||||
mushroom-growth: true
|
||||
|
||||
# Logs natural vine growth.
|
||||
vine-growth: true
|
||||
|
||||
# Logs the spread of sculk blocks from sculk catalysts.
|
||||
sculk-spread: true
|
||||
|
||||
# Logs when portals such as Nether portals generate naturally.
|
||||
portals: true
|
||||
|
||||
# Logs water flow. If water destroys other blocks, such as torches,
|
||||
# this allows it to be properly rolled back.
|
||||
water-flow: true
|
||||
|
||||
# Logs lava flow. If lava destroys other blocks, such as torches,
|
||||
# this allows it to be properly rolled back.
|
||||
lava-flow: true
|
||||
|
||||
# Allows liquid to be properly tracked and linked to players.
|
||||
# For example, if a player places water which flows and destroys torches,
|
||||
# it can all be properly restored by rolling back that single player.
|
||||
liquid-tracking: true
|
||||
|
||||
# Track item transactions, such as when a player takes items from
|
||||
# a chest, furnace, or dispenser.
|
||||
item-transactions: true
|
||||
|
||||
# Logs items dropped by players.
|
||||
item-drops: true
|
||||
|
||||
# Logs items picked up by players.
|
||||
item-pickups: true
|
||||
|
||||
# Track all hopper transactions, such as when a hopper removes items from a
|
||||
# chest, furnace, or dispenser.
|
||||
hopper-transactions: true
|
||||
|
||||
# Track player interactions, such as when a player opens a door, presses
|
||||
# a button, or opens a chest. Player interactions can't be rolled back.
|
||||
player-interactions: true
|
||||
|
||||
# Logs messages that players send in the chat.
|
||||
player-messages: true
|
||||
|
||||
# Logs all commands used by players.
|
||||
player-commands: true
|
||||
|
||||
# Logs the logins and logouts of players.
|
||||
player-sessions: true
|
||||
|
||||
# Logs when a player changes their Minecraft username.
|
||||
username-changes: true
|
||||
|
||||
# Logs changes made via the plugin "WorldEdit" if it's in use on your server.
|
||||
worldedit: true
|
203
src/plugins/CoreProtect/language.yml
Normal file
203
src/plugins/CoreProtect/language.yml
Normal file
@ -0,0 +1,203 @@
|
||||
# CoreProtect Language File (en)
|
||||
|
||||
ACTION_NOT_SUPPORTED: "That action is not supported by the command."
|
||||
AMOUNT_BLOCK: "{0} {block|blocks}"
|
||||
AMOUNT_CHUNK: "{0} {chunk|chunks}"
|
||||
AMOUNT_ENTITY: "{0} {entity|entities}"
|
||||
AMOUNT_ITEM: "{0} {item|items}"
|
||||
API_TEST: "API test successful."
|
||||
CACHE_ERROR: "WARNING: Error while validating {0} cache."
|
||||
CACHE_RELOAD: "Forcing reload of {mapping|world} caches from database."
|
||||
CHECK_CONFIG: "Please check config.yml"
|
||||
COMMAND_CONSOLE: "Please run the command from the console."
|
||||
COMMAND_NOT_FOUND: "Command \"{0}\" not found."
|
||||
COMMAND_THROTTLED: "Please wait a moment and try again."
|
||||
CONSUMER_ERROR: "Consumer queue processing already {paused|resumed}."
|
||||
CONSUMER_TOGGLED: "Consumer queue processing has been {paused|resumed}."
|
||||
CONTAINER_HEADER: "Container Transactions"
|
||||
DATABASE_BUSY: "Database busy. Please try again later."
|
||||
DATABASE_INDEX_ERROR: "Unable to validate database indexes."
|
||||
DATABASE_LOCKED_1: "Database locked. Waiting up to 15 seconds..."
|
||||
DATABASE_LOCKED_2: "Database is already in use. Please try again."
|
||||
DATABASE_LOCKED_3: "To disable database locking, set \"database-lock: false\"."
|
||||
DATABASE_LOCKED_4: "Disabling database locking can result in data corruption."
|
||||
DATABASE_UNREACHABLE: "Database is unreachable. Discarding data and shutting down."
|
||||
DEVELOPMENT_BRANCH: "Development branch detected, skipping patch scripts."
|
||||
DIRT_BLOCK: "Placed a dirt block under you."
|
||||
DISABLE_SUCCESS: "Success! Disabled {0}"
|
||||
ENABLE_FAILED: "{0} was unable to start."
|
||||
ENABLE_SUCCESS: "{0} has been successfully enabled!"
|
||||
ENJOY_COREPROTECT: "Enjoy {0}? Join our Discord!"
|
||||
FINISHING_CONVERSION: "Finishing up data conversion. Please wait..."
|
||||
FINISHING_LOGGING: "Finishing up data logging. Please wait..."
|
||||
FIRST_VERSION: "Initial DB: {0}"
|
||||
GLOBAL_LOOKUP: "Don't specify a radius to do a global lookup."
|
||||
GLOBAL_ROLLBACK: "Use \"{0}\" to do a global {rollback|restore}"
|
||||
HELP_ACTION_1: "Restrict the lookup to a certain action."
|
||||
HELP_ACTION_2: "Examples: [a:block], [a:+block], [a:-block] [a:click], [a:container], [a:inventory], [a:item], [a:kill], [a:chat], [a:command], [a:sign], [a:session], [a:username]"
|
||||
HELP_COMMAND: "Display more info for that command."
|
||||
HELP_EXCLUDE_1: "Exclude blocks/users."
|
||||
HELP_EXCLUDE_2: "Examples: [e:stone], [e:Notch], [e:stone,Notch]"
|
||||
HELP_HEADER: "{0} Help"
|
||||
HELP_INCLUDE_1: "Include specific blocks/entities."
|
||||
HELP_INCLUDE_2: "Examples: [i:stone], [i:zombie], [i:stone,wood,bedrock]"
|
||||
HELP_INSPECT_1: "With the inspector enabled, you can do the following:"
|
||||
HELP_INSPECT_2: "Left-click a block to see who placed that block."
|
||||
HELP_INSPECT_3: "Right-click a block to see what adjacent block was broken."
|
||||
HELP_INSPECT_4: "Place a block to see what block was broken at that location."
|
||||
HELP_INSPECT_5: "Place a block in liquid (etc) to see who placed it."
|
||||
HELP_INSPECT_6: "Right-click on a door, chest, etc, to see who last used it."
|
||||
HELP_INSPECT_7: "Tip: You can use just \"/co i\" for quicker access."
|
||||
HELP_INSPECT_COMMAND: "Turns the block inspector on or off."
|
||||
HELP_LIST: "Displays a list of all commands."
|
||||
HELP_LOOKUP_1: "Command shortcut."
|
||||
HELP_LOOKUP_2: "Use after inspecting a block to view logs."
|
||||
HELP_LOOKUP_COMMAND: "Advanced block data lookup."
|
||||
HELP_NO_INFO: "Information for command \"{0}\" not found."
|
||||
HELP_PARAMETER: "Please see \"{0}\" for detailed parameter info."
|
||||
HELP_PARAMS_1: "Perform the {lookup|rollback|restore}."
|
||||
HELP_PARAMS_2: "Specify the user(s) to {lookup|rollback|restore}."
|
||||
HELP_PARAMS_3: "Specify the amount of time to {lookup|rollback|restore}."
|
||||
HELP_PARAMS_4: "Specify a radius area to limit the {lookup|rollback|restore} to."
|
||||
HELP_PARAMS_5: "Restrict the {lookup|rollback|restore} to a certain action."
|
||||
HELP_PARAMS_6: "Include specific blocks/entities in the {lookup|rollback|restore}."
|
||||
HELP_PARAMS_7: "Exclude blocks/users from the {lookup|rollback|restore}."
|
||||
HELP_PURGE_1: "Delete data older than specified time."
|
||||
HELP_PURGE_2: "For example, \"{0}\" will delete all data older than one month, and only keep the last 30 days of data."
|
||||
HELP_PURGE_COMMAND: "Delete old block data."
|
||||
HELP_RADIUS_1: "Specify a radius area."
|
||||
HELP_RADIUS_2: "Examples: [r:10] (Only make changes within 10 blocks of you)"
|
||||
HELP_RELOAD_COMMAND: "Reloads the configuration file."
|
||||
HELP_RESTORE_COMMAND: "Restore block data."
|
||||
HELP_ROLLBACK_COMMAND: "Rollback block data."
|
||||
HELP_STATUS: "View the plugin status and version information."
|
||||
HELP_STATUS_COMMAND: "Displays the plugin status."
|
||||
HELP_TELEPORT: "Teleport to a location."
|
||||
HELP_TIME_1: "Specify the amount of time to lookup."
|
||||
HELP_TIME_2: "Examples: [t:2w,5d,7h,2m,10s], [t:5d2h], [t:2.50h]"
|
||||
HELP_USER_1: "Specify the user(s) to lookup."
|
||||
HELP_USER_2: "Examples: [u:Notch], [u:Notch,#enderman]"
|
||||
INCOMPATIBLE_ACTION: "\"{0}\" can't be used with that action."
|
||||
INSPECTOR_ERROR: "Inspector already {enabled|disabled}."
|
||||
INSPECTOR_TOGGLED: "Inspector now {enabled|disabled}."
|
||||
INTEGRATION_ERROR: "Unable to {initialize|disable} {0} logging."
|
||||
INTEGRATION_SUCCESS: "{0} logging successfully {initialized|disabled}."
|
||||
INTEGRATION_VERSION: "Invalid {0} version found."
|
||||
INTERACTIONS_HEADER: "Player Interactions"
|
||||
INVALID_ACTION: "That is not a valid action."
|
||||
INVALID_BRANCH_1: "Invalid plugin version (branch has not been set)."
|
||||
INVALID_BRANCH_2: "To continue, set project branch to \"development\"."
|
||||
INVALID_BRANCH_3: "Running development code may result in data corruption."
|
||||
INVALID_CONTAINER: "Please inspect a valid container first."
|
||||
INVALID_DONATION_KEY: "Invalid donation key."
|
||||
INVALID_INCLUDE: "\"{0}\" is an invalid block/entity name."
|
||||
INVALID_INCLUDE_COMBO: "That is an invalid block/entity combination."
|
||||
INVALID_RADIUS: "Please enter a valid radius."
|
||||
INVALID_SELECTION: "{0} selection not found."
|
||||
INVALID_USERNAME: "\"{0}\" is an invalid username."
|
||||
INVALID_WORLD: "Please specify a valid world."
|
||||
LATEST_VERSION: "Latest Version: {0}"
|
||||
LINK_DISCORD: "Discord: {0}"
|
||||
LINK_DOWNLOAD: "Download: {0}"
|
||||
LINK_PATREON: "Patreon: {0}"
|
||||
LINK_WIKI_BLOCK: "Block Names: {0}"
|
||||
LINK_WIKI_ENTITY: "Entity Names: {0}"
|
||||
LOGGING_ITEMS: "{0} items left to log. Please wait..."
|
||||
LOGGING_TIME_LIMIT: "Logging time limit reached. Discarding data and shutting down."
|
||||
LOOKUP_BLOCK: "{0} {placed|broke} {1}."
|
||||
LOOKUP_CONTAINER: "{0} {added|removed} {1} {2}."
|
||||
LOOKUP_HEADER: "{0} Lookup Results"
|
||||
LOOKUP_INTERACTION: "{0} {clicked|killed} {1}."
|
||||
LOOKUP_ITEM: "{0} {picked up|dropped} {1} {2}."
|
||||
LOOKUP_LOGIN: "{0} logged {in|out}."
|
||||
LOOKUP_PAGE: "Page {0}"
|
||||
LOOKUP_PROJECTILE: "{0} {threw|shot} {1} {2}."
|
||||
LOOKUP_ROWS_FOUND: "{0} {row|rows} found."
|
||||
LOOKUP_SEARCHING: "Lookup searching. Please wait..."
|
||||
LOOKUP_STORAGE: "{0} {deposited|withdrew} {1} {2}."
|
||||
LOOKUP_TIME: "{0} ago"
|
||||
LOOKUP_USERNAME: "{0} logged in as {1}."
|
||||
MAXIMUM_RADIUS: "The maximum {lookup|rollback|restore} radius is {0}."
|
||||
MISSING_ACTION_USER: "To use that action, please specify a user."
|
||||
MISSING_LOOKUP_TIME: "Please specify the amount of time to {lookup|rollback|restore}."
|
||||
MISSING_LOOKUP_USER: "Please specify a user or {block|radius} to lookup."
|
||||
MISSING_PARAMETERS: "Please use \"{0}\"."
|
||||
MISSING_ROLLBACK_RADIUS: "You did not specify a {rollback|restore} radius."
|
||||
MISSING_ROLLBACK_USER: "You did not specify a {rollback|restore} user."
|
||||
MYSQL_UNAVAILABLE: "Unable to connect to MySQL server."
|
||||
NETWORK_CONNECTION: "Connection by {0} {successful|failed}. Using {1} {2}."
|
||||
NETWORK_TEST: "Network test data has been successful sent."
|
||||
NO_DATA: "No data found at {0}."
|
||||
NO_DATA_LOCATION: "No {data|transactions|interactions|messages} found at this location."
|
||||
NO_PERMISSION: "You do not have permission to do that."
|
||||
NO_RESULTS: "No results found."
|
||||
NO_RESULTS_PAGE: "No {results|data} found for that page."
|
||||
NO_ROLLBACK: "No {pending|previous} rollback/restore found."
|
||||
PATCH_INTERRUPTED: "Upgrade interrupted. Will try again on restart."
|
||||
PATCH_OUTDATED_1: "Unable to upgrade databases older than {0}."
|
||||
PATCH_OUTDATED_2: "Please upgrade with a supported version of CoreProtect."
|
||||
PATCH_PROCESSING: "Processing new data. Please wait..."
|
||||
PATCH_SKIP_UPDATE: "Skipping {table|index} {update|creation|removal} on {0}."
|
||||
PATCH_STARTED: "Performing {0} upgrade. Please wait..."
|
||||
PATCH_SUCCESS: "Successfully upgraded to {0}."
|
||||
PATCH_UPGRADING: "Database upgrade in progress. Please wait..."
|
||||
PLEASE_SELECT: "Please select: \"{0}\" or \"{1}\"."
|
||||
PREVIEW_CANCELLED: "Preview cancelled."
|
||||
PREVIEW_CANCELLING: "Cancelling preview..."
|
||||
PREVIEW_IN_GAME: "You can only preview rollbacks in-game."
|
||||
PREVIEW_TRANSACTION: "You can't preview {container|inventory} transactions."
|
||||
PURGE_ABORTED: "Purge failed. Database may be corrupt."
|
||||
PURGE_ERROR: "Unable to process {0} data!"
|
||||
PURGE_FAILED: "Purge failed. Please try again later."
|
||||
PURGE_IN_PROGRESS: "Purge in progress. Please try again later."
|
||||
PURGE_MINIMUM_TIME: "You can only purge data older than {0} {days|hours}."
|
||||
PURGE_NOTICE_1: "Please note that this may take some time."
|
||||
PURGE_NOTICE_2: "Do not restart your server until completed."
|
||||
PURGE_OPTIMIZING: "Optimizing database. Please wait..."
|
||||
PURGE_PROCESSING: "Processing {0} data..."
|
||||
PURGE_REPAIRING: "Attempting to repair. This may take some time..."
|
||||
PURGE_ROWS: "{0} {row|rows} of data deleted."
|
||||
PURGE_STARTED: "Data purge started on \"{0}\"."
|
||||
PURGE_SUCCESS: "Data purge successful."
|
||||
RELOAD_STARTED: "Reloading configuration - please wait."
|
||||
RELOAD_SUCCESS: "Configuration successfully reloaded."
|
||||
ROLLBACK_ABORTED: "Rollback or restore aborted."
|
||||
ROLLBACK_CHUNKS_FOUND: "Found {0} {chunk|chunks} to modify."
|
||||
ROLLBACK_CHUNKS_MODIFIED: "Modified {0}/{1} {chunk|chunks}."
|
||||
ROLLBACK_COMPLETED: "{Rollback|Restore|Preview} completed for \"{0}\"."
|
||||
ROLLBACK_EXCLUDED_USERS: "Excluded {user|users}: \"{0}\"."
|
||||
ROLLBACK_INCLUDE: "{Included|Excluded} {block|entity|target} {type|types}: \"{0}\"."
|
||||
ROLLBACK_IN_PROGRESS: "A rollback/restore is already in progress."
|
||||
ROLLBACK_LENGTH: "Time taken: {0} {second|seconds}."
|
||||
ROLLBACK_MODIFIED: "{Modified|Modifying} {0}."
|
||||
ROLLBACK_RADIUS: "Radius: {0} {block|blocks}."
|
||||
ROLLBACK_SELECTION: "Radius set to \"{0}\"."
|
||||
ROLLBACK_STARTED: "{Rollback|Restore|Preview} started on \"{0}\"."
|
||||
ROLLBACK_TIME: "Time range: {0}."
|
||||
ROLLBACK_WORLD_ACTION: "Restricted to {world|action} \"{0}\"."
|
||||
SIGN_HEADER: "Sign Messages"
|
||||
STATUS_CONSUMER: "Consumer: {0} {item|items} in queue."
|
||||
STATUS_DATABASE: "Database: Using {0}."
|
||||
STATUS_INTEGRATION: "{0}: Integration {enabled|disabled}."
|
||||
STATUS_LICENSE: "License: {0}"
|
||||
STATUS_VERSION: "Version: {0}"
|
||||
TELEPORTED: "Teleported to {0}."
|
||||
TELEPORTED_SAFETY: "Teleported you to safety."
|
||||
TELEPORT_PLAYERS: "Teleport command can only be used by players."
|
||||
TIME_DAYS: "{0} {day|days}"
|
||||
TIME_HOURS: "{0} {hour|hours}"
|
||||
TIME_MINUTES: "{0} {minute|minutes}"
|
||||
TIME_SECONDS: "{0} {second|seconds}"
|
||||
TIME_WEEKS: "{0} {week|weeks}"
|
||||
UPDATE_ERROR: "An error occurred while checking for updates."
|
||||
UPDATE_HEADER: "{0} Update"
|
||||
UPDATE_NOTICE: "Notice: {0} is now available."
|
||||
UPGRADE_IN_PROGRESS: "Upgrade in progress. Please try again later."
|
||||
USER_NOT_FOUND: "User \"{0}\" not found."
|
||||
USER_OFFLINE: "The user \"{0}\" is not online."
|
||||
USING_MYSQL: "Using MySQL for data storage."
|
||||
USING_SQLITE: "Using SQLite for data storage."
|
||||
VALID_DONATION_KEY: "Valid donation key."
|
||||
VERSION_NOTICE: "Version {0} is now available."
|
||||
VERSION_REQUIRED: "{0} {1} or higher is required."
|
||||
WORLD_NOT_FOUND: "World \"{0}\" not found."
|
BIN
src/plugins/CustomPlayerModels-Bukkit-0.6.22a.jar
(Stored with Git LFS)
Normal file
BIN
src/plugins/CustomPlayerModels-Bukkit-0.6.22a.jar
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
src/plugins/DiscordSRV-Build-1.29.0.jar
(Stored with Git LFS)
Normal file
BIN
src/plugins/DiscordSRV-Build-1.29.0.jar
(Stored with Git LFS)
Normal file
Binary file not shown.
122
src/plugins/DiscordSRV/alerts.yml
Normal file
122
src/plugins/DiscordSRV/alerts.yml
Normal file
@ -0,0 +1,122 @@
|
||||
# Это - продвинутый функционал DiscordSRV, позволяющий отправлять сообщения в дискорд при каком-либо событии / вводе команды.
|
||||
# Вам нужно знать, как работают события в Bukkit.
|
||||
# Если вы не уверены в том, как это использовать - можете спросить знакомого разработчика, или присоединиться на наш дискорд-сервер @ discordsrv.com/discord
|
||||
# Made something you'd like to share? You can do so in our Discord server's #alerts forum (invite above)
|
||||
#
|
||||
# Ссылка на документацию Bukkit API:
|
||||
# https://hub.spigotmc.org/javadocs/bukkit
|
||||
# Полезные штуки, которые помогут понять как работает SpEL:
|
||||
# https://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/expressions.html
|
||||
# https://dzone.com/articles/learn-spring-expression-language-with-examples
|
||||
#
|
||||
# Вы можете использовать следующие заполнители:
|
||||
# {tps} - Средний TPS серверп
|
||||
# {time} - Текущее время
|
||||
# {date} - Текущая дата
|
||||
# {name} - (для PlayerEvent) имя игрока
|
||||
# {ping} - (для PlayerEvent) пинг игрока
|
||||
# {username} - (для PlayerEvent) имя игрока
|
||||
# {displayname} - (для PlayerEvent) ник игрока
|
||||
# {usernamenoescapes} - if alert is for a player event, the username of the player without escaping discord format (for use in inline code & code block markdown)
|
||||
# {displaynamenoescapes} - if alert is for a player event, the display name of the player without escaping discord format (for use in inline code & code block markdown)
|
||||
# {world} - (для PlayerEvent) мир, в котором находится игрок
|
||||
# {embedavatarurl} - если PlayerEvent, то ссылка на аватар игрока, иначе на аватар бота
|
||||
# {botavatarurl} - ссылка на аватар бота
|
||||
# {botname} - имя бота
|
||||
# %placeholder% - любые шаблоны PlaceholderAPI
|
||||
#
|
||||
# Вы также можете использовать выражения SpEL через ${expression...}, например...
|
||||
# - Получить IP игрока: ${#player.address.address.hostAddress}
|
||||
# - Получить игровой режим игрока: ${#player.gameMode.name()}
|
||||
# - Получить id привязанного аккаунта в Discord у игрока: ${#discordsrv.accountLinkManager.getDiscordId(#player.uniqueId)}
|
||||
# - Получить количество игроков на сервере: ${#server.onlinePlayers.size()}
|
||||
# - Проверить статус DiscordSRV: ${#jda.status.name()}
|
||||
# - Проверить, находится ли игрок в определённом мире: ${#player.world.name == 'world_the_end'}
|
||||
# - Проверить, светит ли солнце в том мире, в котором сейчас игрок: ${#player.world.time > 0 && #player.world.time < 13000}
|
||||
# Вы можете использовать следующие плейсхолдеры:
|
||||
# #plugins.<plugin> - указанный плагин (null, если не существует)
|
||||
# #event - Событие, которое отправит уведомление (если это уведомление действительно отправляется событием)
|
||||
# #server - Эквивалент Bukkit#getServer
|
||||
# #discordsrv - объект плагина DiscordSRV
|
||||
# #player - игрок, который вызвал событие / отправил команду
|
||||
# #sender - отправитель команды
|
||||
# #command - полная команда (без слеша в начале)
|
||||
# #args - аргументы команды
|
||||
# #allArgs - аргументы команды как единая строка
|
||||
# #channel - канал, в который будет отправлено это уведомление
|
||||
# #jda - объект DiscordSRV JDA, нужен чтобы общаться с дискордом
|
||||
#
|
||||
# Синтаксис/стандартное:
|
||||
# - Trigger: <название события либо /команда>
|
||||
# Conditions:
|
||||
# - property == < > <= >= value и т. д.
|
||||
# Channel: <discordsrv channel name>
|
||||
# IgnoreCancelled: true # Только для событий
|
||||
# Content: ""
|
||||
# Webhook:
|
||||
# Enabled: false
|
||||
# AvatarUrl: "{botavatarurl}"
|
||||
# Name: "{botname}"
|
||||
# Embed:
|
||||
# Enabled: true
|
||||
# Color: "#00ff00" # принимает шестнадцатеричный цветовой код (напр. "#ffffff") либо RGB-число (напр. 0)
|
||||
# Author:
|
||||
# ImageUrl: "{embedavatarurl}"
|
||||
# Name: "{username} сделал... Что-то."
|
||||
# Url: ""
|
||||
# ThumbnailUrl: ""
|
||||
# Title:
|
||||
# Text: ""
|
||||
# Url: ""
|
||||
# Description: ""
|
||||
# Fields: [] # Формат - "title;value;inline" (напр. "Кто вошёл?;%displayname%;true") либо "blank", чтобы добавить пустое поле
|
||||
# ImageUrl: ""
|
||||
# Footer:
|
||||
# Text: ""
|
||||
# IconUrl: ""
|
||||
# Timestamp: false # поставьте на true, чтобы использовать время, в которое было отправлено сообщение, иначе будет использоваться unix-timestamp для конкретного времени (https://www.epochconverter.com/)
|
||||
#
|
||||
Alerts:
|
||||
# Конфиг-образец, отправляет сообщение в канал "fish", когда игрок ловит рыбу
|
||||
#- Trigger: PlayerFishEvent
|
||||
# Channel: fish
|
||||
# Conditions:
|
||||
# - state.name() == 'CAUGHT_FISH'
|
||||
# Embed:
|
||||
# Color: "#00ff00"
|
||||
# Author:
|
||||
# ImageUrl: "{embedavatarurl}"
|
||||
# Name: "{name} поймал ${caught.itemStack.type.name()}!"
|
||||
|
||||
# Конфиг-образец, чтобы отправлять уведомления античита Matrix
|
||||
#- Trigger: PlayerViolationEvent
|
||||
# Channel: matrix
|
||||
# Conditions:
|
||||
# - violations >= 5 # Не отправлять инфу про тех, у кого меньше 5 нарушений
|
||||
# Embed:
|
||||
# Color: "#ff0000"
|
||||
# Author:
|
||||
# ImageUrl: "{embedavatarurl}"
|
||||
# Name: "{username} попался на проверке ${hackType.name().toLowerCase()} | ${component} | vl:${violations} ping:${player.handle.ping} tps:{tps}"
|
||||
|
||||
# Конфиг-образец, отправляет сообщение всякий раз, когда кто-то использует /gamemode
|
||||
#- Trigger: /gamemode
|
||||
# Channel: gamemode
|
||||
# Conditions:
|
||||
# - '#player.hasPermission("minecraft.command.gamemode") == true'
|
||||
# Embed:
|
||||
# Color: "#ff0000"
|
||||
# Author:
|
||||
# ImageUrl: "{embedavatarurl}"
|
||||
# Name: "{username} изменил игровой режим на ${#args.get(0)}"
|
||||
|
||||
# Конфиг-образец, отправляет сообщение всякий раз, когда кто-то использует /me
|
||||
#- Trigger: /me
|
||||
# Channel: me
|
||||
# Conditions:
|
||||
# - '#player.hasPermission("minecraft.command.me") == true || #player.hasPermission("essentials.me") == true'
|
||||
# Embed:
|
||||
# Color: "#00ff00"
|
||||
# Author:
|
||||
# ImageUrl: "{embedavatarurl}"
|
||||
# Name: "* {username} ${#allArgs}"
|
354
src/plugins/DiscordSRV/config.yml
Normal file
354
src/plugins/DiscordSRV/config.yml
Normal file
@ -0,0 +1,354 @@
|
||||
# DiscordSRV Configuration
|
||||
# Нужна помощь? Присоединяйтесь к нашему Discord, https://discordsrv.com/discord
|
||||
|
||||
# Не трогайте это пожалуйста!
|
||||
ConfigVersion: 1.29.0
|
||||
|
||||
# Токен бота; не знаете что это? Просмотрите видео по установке и настройке плагина
|
||||
# После изменения этого параметра необходимо перезагрузить сервер.
|
||||
BotToken: "_DISCORDSRV_BOT_TOKEN_"
|
||||
|
||||
# Ссылки на каналы из игры в Discord
|
||||
# синтаксис: Channels: {"название внутриигрового канала из Minecraft": "числовой идентификатор канала из Discord", "другое название внутриигрового канала из Minecraft": "другой числовой идентификатор канала из Discord"}
|
||||
#
|
||||
# Все сообщения DiscordSRV будут идти на первый канал, если не определен канал для этого типа сообщений:
|
||||
# при использовании совместимого плагина чата имя канала будет тем же, что и в этом плагине (для сообщений чата)
|
||||
# - Если вы используете TownyChat, канал по умолчанию обычно называется "general", а не "global".
|
||||
# для сообщений в чате игрока (если не используется плагин чата): global
|
||||
# для сообщений о запуске / остановке сервера: status
|
||||
# для сообщений о достижении / продвижении: awards
|
||||
# для сообщений о смерти: deaths
|
||||
# для сообщений о присоединении: join
|
||||
# для сообщений о выходе: leave
|
||||
# для сообщений dynmap: dynmap
|
||||
# для сообщений сторожевого таймера: watchdog
|
||||
# для /discord broadcast: broadcasts (если не указано в команде)
|
||||
# Ссылка на аккаунт: link
|
||||
#
|
||||
# Первая часть пар каналов не является названием канала Discord!
|
||||
# Выполните "/discord reload" после изменения этого опции для применения
|
||||
Channels: {"carbon:global": "1401248428087836803"}
|
||||
|
||||
# Канал для вывода сообщений Консоли (НЕ ИМЯ); оставьте пустым, чтобы отключить консольный канал
|
||||
DiscordConsoleChannelId: ""
|
||||
|
||||
# Ссылка на приглашение, отображаемая игрокам при использовании /discord, и в сообщении, отображаемом несвязанным игрокам при обязательной привязке.
|
||||
DiscordInviteLink: "https://discord.gg/5ZnJD4yDBq"
|
||||
|
||||
# Эксперименты
|
||||
# Эти функции не полностью оптимизированы; Используйте на свой риск
|
||||
|
||||
# JDBC (MySQL/MariaDB)
|
||||
Experiment_JdbcAccountLinkBackend: "jdbc:mysql://_DISCORDSRV_DB_HOST_:_DISCORDSRV_DB_PORT_/_DISCORDSRV_DB_NAME_?autoReconnect=true&useSSL=false"
|
||||
Experiment_JdbcTablePrefix: "discordsrv"
|
||||
Experiment_JdbcUsername: "_DISCORDSRV_DB_USERNAME_"
|
||||
Experiment_JdbcPassword: "_DISCORDSRV_DB_PASSWORD_"
|
||||
|
||||
# Webhook Delivery
|
||||
Experiment_WebhookChatMessageDelivery: false
|
||||
Experiment_WebhookChatMessageUsernameFormat: "%displayname%"
|
||||
Experiment_WebhookChatMessageFormat: "%message%"
|
||||
Experiment_WebhookChatMessageUsernameFromDiscord: false
|
||||
Experiment_WebhookChatMessageAvatarFromDiscord: false
|
||||
Experiment_WebhookChatMessageUsernameFilters: {}
|
||||
|
||||
# Встраивание и формат URL-адреса изображения / аватара веб-перехватчика
|
||||
# Оставьте пустым, чтобы использовать значение по умолчанию
|
||||
# Доступные заполнители: {texture} {username} {uuid} {uuid-nodashes} {size}
|
||||
AvatarUrl: "https://mc-heads.net/avatar/%skinsrestorer_texture_id_or_steve%.png#{username}"
|
||||
|
||||
# Reserializer
|
||||
# Преобразует форматирование (жирный, курсив, подчеркивание) между Minecraft и Discord
|
||||
Experiment_MCDiscordReserializer_ToDiscord: true
|
||||
Experiment_MCDiscordReserializer_ToMinecraft: true
|
||||
Experiment_MCDiscordReserializer_InBroadcast: false
|
||||
|
||||
# Другие
|
||||
CancelConsoleCommandIfLoggingFailed: true
|
||||
ForcedLanguage: none
|
||||
ForceTLSv12: true
|
||||
NoopHostnameVerifier: false
|
||||
MaximumAttemptsForSystemDNSBeforeUsingFallbackDNS: 3
|
||||
TimestampFormat: EEE, d. MMM yyyy HH:mm:ss z
|
||||
DateFormat: yyyy-MM-dd
|
||||
# https://docs.discordsrv.com/config/#Timezone
|
||||
Timezone: Europe/Kiev
|
||||
# MinecraftMentionSound: Должен ли звук посылаться игроку в Minecraft при упоминании из Discord
|
||||
MinecraftMentionSound: true
|
||||
|
||||
# Подключаемые модули
|
||||
# После изменения этих параметров необходимо перезагрузить сервер.
|
||||
#
|
||||
# DisabledPluginHooks: отключить модули (обычно это названия плагинов).
|
||||
# VentureChatBungee: включает BungeeCord-функционал модуля VentureChat (сообщения принимаются с каждого сервера, требуется, чтобы по крайней мере 1 игрок был в сети)
|
||||
# EnablePresenceInformation: enabled presence information, which is required for some of our PlaceholderAPI placeholders. Keep in mind this requires the "Presence Intent" from the Discord developer portal
|
||||
# UseModernPaperChatEvent: only use this if you have a chat plugins that SPECIFICALLY utilizes Paper's "AsyncChatEvent"
|
||||
DisabledPluginHooks: []
|
||||
VentureChatBungee: false
|
||||
EnablePresenceInformation: false
|
||||
UseModernPaperChatEvent: false
|
||||
|
||||
# Информация в статусе бота в Discord
|
||||
# Устанавливает боту статус
|
||||
# Может быть как одним статическим значением, так и несколькими (сменяющимися друг за другом).
|
||||
# Вы можете добавить в начало "playing", "watching", "listening to" или "competing", чтобы установить тип активности (играет, смотрит, слушает, соревнуется)
|
||||
# Также вы можете поставить свой кастомный статус без префикса
|
||||
# %online%: number of online players
|
||||
# Поддерживает шаблоны PlaceholderAPI
|
||||
#
|
||||
# DiscordGameStatus: Отображаемый текст. Может быть как одним значением, например "Minecraft", так и несколькими: ["Minecraft", "yourip.changeme.com"]
|
||||
# DiscordOnlineStatus: Статус отображаемого действия. Он должен быть одним из следующих: ONLINE, DND, IDLE или INVISIBLE.
|
||||
# StatusUpdateRateInMinutes: Как часто (в минутах) менять статус (если их несколько)
|
||||
DiscordGameStatus: ["Синхронизирует Бебру"]
|
||||
DiscordOnlineStatus: ONLINE
|
||||
StatusUpdateRateInMinutes: 1
|
||||
|
||||
# Настройка канала чата
|
||||
# Канал чата предназначен для вывода всех внутриигровых сообщений, а также всех публичных сообщений, которыми обмениваются игроки
|
||||
# вашего сервера
|
||||
#
|
||||
# DiscordChatChannelDiscordToMinecraft: отправлять или не отправлять сообщения из канала чата в чат Minecraft (Discord -> Minecraft)
|
||||
# DiscordChatChannelMinecraftToDiscord: отправлять или не отправлять сообщения из чата Minecraft в канал чата (Minecraft -> Discord)
|
||||
# DiscordChatChannelTruncateLength: максимальная длина сообщений из Discord для отправки в чат Minecraft
|
||||
# DiscordChatChannelTranslateMentions: переводить или не переводить упоминания такие как @Person для сообщений Minecraft в Discord
|
||||
# DiscordChatChannelAllowedMentions: типы упоминаний, разрешенные в сообщениях Minecraft to Discord; типы, отсутствующие в значении по умолчанию: "роль", "здесь" и "все"
|
||||
# DiscordChatChannelEmojiBehavior: как смайлики должны быть отправлены в Минекрафт. Может быть "show", "name" или "hide".
|
||||
# DiscordChatChannelEmoteBehavior: как эмоты должны быть отправлены в Минекрафт. Может быть "name" или "hide".
|
||||
# DiscordChatChannelPrefixRequiredToProcessMessage: символ(ы), необходимые как префикс сообщений для их отправки из Minecraft в Discord (например, «!»)
|
||||
# DiscordChatChannelPrefixActsAsBlacklist: Должен ли префикс действовать как черный список.
|
||||
# DiscordChatChannelRolesAllowedToUseColorCodesInChat: список ролей, которым разрешено использовать цвета/форматирование в чате Discord в Minecraft
|
||||
# DiscordChatChannelBroadcastDiscordMessagesToConsole: выводить или нет обработанные Discord сообщения в игровую консоль
|
||||
# DiscordChatChannelRequireLinkedAccount: требовать ли привязку аккаунта при отправке сообщения из Discord в Minecraft
|
||||
# DiscordChatChannelBlockBots: блокировать ли ботам возможность отправлять сообщения из Discord в Minecraft
|
||||
# DiscordChatChannelBlockWebhooks: следует ли блокировать ботов в чате Discord -> MC
|
||||
# DiscordChatChannelBlockedIds: идентификаторы пользователей (или ботов), заблокированных для отсылки сообщений из Discord в Minecraft
|
||||
# DiscordChatChannelBlockedRolesAsWhitelist: если следующий список следует рассматривать как белый список (true) или черный список (false)
|
||||
# DiscordChatChannelBlockedRolesIds: идентификаторы ролей Discord, сообщения которых не должны обрабатываться и отправляться в MC
|
||||
# DiscordChatChannelRolesSelectionAsWhitelist: если следующий список следует рассматривать как белый список (true) или черный список (false)
|
||||
# DiscordChatChannelRolesSelection: список ролей, которые должны быть отфильтрованы по всем ролям пользователя.
|
||||
# DiscordChatChannelRoleAliases: список псевдонимов ролей (альтернативные имена для ролей для использования в сообщениях Minecraft)
|
||||
#
|
||||
DiscordChatChannelDiscordToMinecraft: false
|
||||
DiscordChatChannelMinecraftToDiscord: false
|
||||
DiscordChatChannelTruncateLength: 256
|
||||
DiscordChatChannelTranslateMentions: true
|
||||
DiscordChatChannelAllowedMentions: [user, channel, emote]
|
||||
DiscordChatChannelEmojiBehavior: "name"
|
||||
DiscordChatChannelEmoteBehavior: "name"
|
||||
DiscordChatChannelPrefixRequiredToProcessMessage: "#"
|
||||
DiscordChatChannelPrefixActsAsBlacklist: false
|
||||
DiscordChatChannelRolesAllowedToUseColorCodesInChat: ["Developer", "Owner", "Admin", "Moderator"]
|
||||
DiscordChatChannelBroadcastDiscordMessagesToConsole: true
|
||||
DiscordChatChannelRequireLinkedAccount: false
|
||||
DiscordChatChannelBlockBots: false
|
||||
DiscordChatChannelBlockWebhooks: true
|
||||
DiscordChatChannelBlockedIds: ["000000000000000000", "000000000000000000", "000000000000000000"]
|
||||
DiscordChatChannelBlockedRolesAsWhitelist: false
|
||||
DiscordChatChannelBlockedRolesIds: ["000000000000000000", "000000000000000000", "000000000000000000"]
|
||||
DiscordChatChannelRolesSelectionAsWhitelist: false
|
||||
DiscordChatChannelRolesSelection: ["Don't show me!", "Misc role"]
|
||||
DiscordChatChannelRoleAliases: {"Developer": "Dev"}
|
||||
|
||||
# Настройка чата консоли
|
||||
# Канал или чат консоли - это текстовый канал, который интерпретирует все отслылаемые из Discord сообщения как команды консоли,
|
||||
# а также транслирует все события, сообщения и команды консоли сервера в Discord
|
||||
#
|
||||
# Вы можете настроить формат всех сообщений (включая удаление временных меток) в конфигурационном файле messages.yml
|
||||
#
|
||||
# DiscordConsoleChannelLogRefreshRateInSeconds: скорость в секундах между отправкой сообщений из консоли
|
||||
# DiscordConsoleChannelUsageLog:
|
||||
# %date%: текущая дата
|
||||
# пример: 2017-01-01
|
||||
# PlaceholderAPI заполнители поддерживаются
|
||||
# DiscordConsoleChannelBlacklistActsAsWhitelist: инвертировать ли "чёрный" список команд, превращая его в "белый"
|
||||
# DiscordConsoleChannelBlacklistedCommands: фразы, заключенные в кавычки, которые пользователи не могут отправлять в виде команд в консоль
|
||||
# DiscordConsoleChannelFilters: фильтры регулярных выражений, которые будут применяться к консольным строкам, отправляемым в Discord, если результат пуст, сообщение не будет отправлено вообще
|
||||
# DiscordConsoleChannelLevels: типы логов, которые отправляются в консольный канал
|
||||
# DiscordConsoleChannelUseCodeBlocks: если консоль должна быть завернута в блоки кода и окрашена
|
||||
# DiscordConsoleChannelBlockBots: разрешить ли ботам отправлять команды в канале консоли
|
||||
#
|
||||
DiscordConsoleChannelLogRefreshRateInSeconds: 5
|
||||
DiscordConsoleChannelUsageLog: "Console-%date%.log"
|
||||
DiscordConsoleChannelBlacklistActsAsWhitelist: false
|
||||
DiscordConsoleChannelBlacklistedCommands: ["?", "op", "deop", "execute"]
|
||||
DiscordConsoleChannelFilters: {".*(?i)async chat thread.*": "", ".*There are \\d+ (?:of a max of|out of maximum) \\d+ players online.*": ""}
|
||||
DiscordConsoleChannelLevels: [info, warn, error]
|
||||
DiscordConsoleChannelUseCodeBlocks: true
|
||||
DiscordConsoleChannelBlockBots: true
|
||||
|
||||
# Настройка выполнения команд в канале чата
|
||||
# Эти опции позволяют настроить выполнение определённых команды на серверной консоли
|
||||
# скажем, вот так "!c kick Notch"
|
||||
#
|
||||
# DiscordChatChannelConsoleCommandEnabled: разрешать или запрещать консольные команды из канала чата.
|
||||
# DiscordChatChannelConsoleCommandNotifyErrors: отправлять или не отправлять сообщение об ошибке при попытке использовать команду, не имея прав
|
||||
# DiscordChatChannelConsoleCommandPrefix: префикс для использования в консольных командах. например "!c tps"
|
||||
# DiscordChatChannelConsoleCommandRolesAllowed: роли, которым разрешено выполнять команды сервера из канала чата
|
||||
# DiscordChatChannelConsoleCommandWhitelist: список команд, которые могут быть запущены с помощью DiscordChatChannelConsoleCommandPrefix
|
||||
# DiscordChatChannelConsoleCommandWhitelistBypassRoles: список ролей, которые обходят белый список
|
||||
# DiscordChatChannelConsoleCommandWhitelistActsAsBlacklist: должен ли командный белый список действовать как черный список
|
||||
# DiscordChatChannelConsoleCommandExpiration: время в секундах до тех пор, пока результат команды будет удален ботом. Установите значение 0, чтобы отключить истечение срока действия.
|
||||
# DiscordChatChannelConsoleCommandExpirationDeleteRequest: удалить или не удалять сообщение игрока, который выполнил команду
|
||||
#
|
||||
DiscordChatChannelConsoleCommandEnabled: false
|
||||
DiscordChatChannelConsoleCommandNotifyErrors: false
|
||||
DiscordChatChannelConsoleCommandPrefix: "!c"
|
||||
DiscordChatChannelConsoleCommandRolesAllowed: ["Protektor", "Developer"]
|
||||
DiscordChatChannelConsoleCommandWhitelist: ["say", "lag", "tps"]
|
||||
DiscordChatChannelConsoleCommandWhitelistBypassRoles: ["Owner", "Developer"]
|
||||
DiscordChatChannelConsoleCommandWhitelistActsAsBlacklist: false
|
||||
DiscordChatChannelConsoleCommandExpiration: 0
|
||||
DiscordChatChannelConsoleCommandExpirationDeleteRequest: true
|
||||
|
||||
# Особая команда вывода списка игроков в канале чата
|
||||
# Да-да, все эти опции только для одной безобидной команды "playerlist"
|
||||
#
|
||||
# DiscordChatChannelListCommandEnabled: включена ли команда
|
||||
# DiscordChatChannelListCommandMessage: команда, которую могут использовать игроки, чтобы вывести список игроков на сервере
|
||||
# DiscordChatChannelListCommandExpiration: время в секундах, пока выведенный список пользователей не будет удалён ботом. установите значение 0, чтобы отключить истечение срока действия.
|
||||
# DiscordChatChannelListCommandExpirationDeleteRequest: удалять ли сообщение игрока, который изначально запросил вывод списока игроков
|
||||
#
|
||||
DiscordChatChannelListCommandEnabled: true
|
||||
DiscordChatChannelListCommandMessage: "playerlist"
|
||||
DiscordChatChannelListCommandExpiration: 10
|
||||
DiscordChatChannelListCommandExpirationDeleteRequest: true
|
||||
|
||||
# Чёрный список фраз и регулярных выражений для канала чата
|
||||
#
|
||||
# DiscordChatChannelGameFilters: фильтры регулярных выражений, которые будут применяться к сообщениям чата, отправляемым в Discord, если результат пуст, сообщение не будет отправлено вообще
|
||||
# DiscordChatChannelDiscordFilters: фильтры регулярных выражений, которые будут применяться к сообщениям чата, отправляемым в Minecraft, если результат пуст, сообщение не будет отправлено вообще
|
||||
#
|
||||
DiscordChatChannelGameFilters: {}
|
||||
DiscordChatChannelDiscordFilters: {".*Online players \\(.*": "", ".*\\*\\*No online players\\*\\*.*": ""}
|
||||
|
||||
# Настройки обновления темы канала
|
||||
#
|
||||
# ChannelTopicUpdaterChannelTopicsAtShutdownEnabled: должны ли темы канала быть вообще изменены при завершении работы сервера
|
||||
# ChannelTopicUpdaterRateInMinutes: число минут между автоматическим обновлением тем канала со свежей информацией
|
||||
#
|
||||
ChannelTopicUpdaterChannelTopicsAtShutdownEnabled: false
|
||||
ChannelTopicUpdaterRateInMinutes: 10
|
||||
|
||||
# Обновление канала
|
||||
# Эта функция изменяет название указанных каналов, чтобы они соответствовали внутриигровым заполнителям.
|
||||
# Опции:
|
||||
# ChannelId: идентификатор канала для изменения (обязательно)
|
||||
# Format: формат канала (обязательно). Доступные заполнители:
|
||||
# %playercount%: текущее количество игроков
|
||||
# %playermax%: максимальное количество игроков
|
||||
# %date%: текущая дата и время
|
||||
# %totalplayers%: общее количество игроков, когда-либо присоединившихся к основному миру
|
||||
# %uptimemins%: количество минут с момента запуска DiscordSRV
|
||||
# %uptimehours%: количество часов с момента запуска DiscordSRV
|
||||
# %motd%: motd сервера
|
||||
# %serverversion%: версия сервера, например Spigot-1.9.
|
||||
# %freememory%: свободная память JVM в МБ
|
||||
# %usedmemory%: используемая память JVM в МБ
|
||||
# %totalmemory%: общий объем памяти JVM в МБ
|
||||
# %maxmemory%: максимальная память JVM в МБ
|
||||
# %freememorygb%: свободная память JVM в ГБ
|
||||
# %usedmemorygb%: используемая память JVM в ГБ
|
||||
# %totalmemorygb%: общий объем памяти JVM в ГБ
|
||||
# %maxmemorygb%: максимальная память JVM в ГБ
|
||||
# %tps%: среднее значение TPS сервера
|
||||
# Заполнители PlaceholderAPI также поддерживаются
|
||||
# ShutdownFormat: Формат, который должен принимать канал после выключения сервера. Доступные заполнители:
|
||||
# %time% или %date%: текущая дата и время
|
||||
# %serverversion%: версия сервера
|
||||
# %totalplayers%: общее количество игроков, когда-либо присоединившихся к основному миру
|
||||
# %timestamp%: текущая временная метка unix
|
||||
# UpdateInterval: Время в минутах ожидания между обновлением имени канала (минимум 10 из-за ограничений скорости)
|
||||
ChannelUpdater:
|
||||
- ChannelId: "000"
|
||||
Format: "%playercount% игроков онлайн"
|
||||
ShutdownFormat: "Сервер отключен"
|
||||
UpdateInterval: 10
|
||||
- ChannelId: "000"
|
||||
Format: "Текущий показатель TPS: %tps%"
|
||||
ShutdownFormat: "Сервер отключен"
|
||||
UpdateInterval: 10
|
||||
|
||||
# Заготовленные ответы
|
||||
# Эти триггеры (команды в некотором роде), которые будут отправлять «заготовленный ответ» в ответ на них
|
||||
# Возможно, вы захотите изменить их или добавить свои собственные
|
||||
#
|
||||
# Синтаксис {"TRIGGER": "RESPONSE", "TRIGGER": "RESPONSE", ...}
|
||||
# Если вы не хотите использовать эту опцию, просто оставьте {}
|
||||
# Кстати, доступны шаблоны PlaceholderAPI
|
||||
#
|
||||
DiscordCannedResponses: {"!ip": "bebrashield.net", "!site": "https://bebrashield.net"}
|
||||
|
||||
# Подключение аккаунта Minecraft к Discord
|
||||
# Эти опции относятся к настройке связывания игрового аккаунта Minecraft с учётной записью Discord
|
||||
#
|
||||
# MinecraftDiscordAccountLinkedConsoleCommands: команды, подлежащие выполнению при связывании аккаунтов (см. ниже все возможные шаблоны)
|
||||
# MinecraftDiscordAccountUnlinkedConsoleCommands: команды, подлежащие выполнению при разрыве связанных аккаунтов (см. ниже все возможные шаблоны)
|
||||
# %minecraftplayername%: ник игрока Minecraft
|
||||
# пример: Notch
|
||||
# %minecraftuuid%: uuid игрока
|
||||
# пример: вы знаете как выглядит uuid
|
||||
# %discordid%: связанный ID аккаунта Discord
|
||||
# пример: 12345678901234567890
|
||||
# %discordname%: привязанный ник аакаунта Discord
|
||||
# пример: Notch
|
||||
#
|
||||
# MinecraftDiscordAccountLinkedRoleNameToAddUserTo: имя или ID Discord роли, в которую будут добавлены пользователи, после того как привяжут свои аккаунты
|
||||
# MinecraftDiscordAccountLinkedAllowRelinkBySendingANewCode: можно ли отправить новый код боту, чтобы перепривязать аккаунт
|
||||
# MinecraftDiscordAccountLinkedUsePM: Связывание счетов с помощью PMs
|
||||
# MinecraftDiscordAccountLinkedMessageDeleteSeconds: Время (в секундах) до удаления сообщения при связывании в текстовом канале. Установите значение 0, если вы не хотите удалять сообщение.
|
||||
#
|
||||
MinecraftDiscordAccountLinkedConsoleCommands: ["", "", ""]
|
||||
MinecraftDiscordAccountUnlinkedConsoleCommands: ["", "", ""]
|
||||
MinecraftDiscordAccountLinkedRoleNameToAddUserTo: "1399136491090739210"
|
||||
MinecraftDiscordAccountLinkedAllowRelinkBySendingANewCode: true
|
||||
MinecraftDiscordAccountLinkedUsePM: true
|
||||
MinecraftDiscordAccountLinkedMessageDeleteSeconds: 0
|
||||
|
||||
# Мониторинг сервера
|
||||
#
|
||||
# Мониторинг отслеживает состояние вашего сервера с момента последнего игрового такта (тика)
|
||||
# Если время, прошедшее с момента последнего тика, превышает установленный таймаут в секундах, в чат Discord будет отправлено соответствующее сообщение
|
||||
#
|
||||
# ServerWatchdogEnabled: включён или нет мониторинг сервера в принципе
|
||||
# ServerWatchdogTimeout: время в секундах, которое должно пройти с момента последнего тика, прежде чем будет отправлено сообщение (к примеру, Spigot использует 60 секунд)
|
||||
# минимум для этого значения - 10 секунд
|
||||
# ServerWatchdogMessageCount: количество раз отправки ServerWatchdogMessage. Полезно, если вы *действительно* хотите убедиться что что-то пошло не так
|
||||
#
|
||||
ServerWatchdogEnabled: true
|
||||
ServerWatchdogTimeout: 30
|
||||
ServerWatchdogMessageCount: 3
|
||||
|
||||
# HTTP proxy used for connecting to the Discord API
|
||||
# Leave this alone if you don't understand what it does
|
||||
ProxyHost: "example.com"
|
||||
ProxyPort: 1234
|
||||
ProxyUser: "USERNAME"
|
||||
ProxyPassword: "PASSWORD"
|
||||
|
||||
# Отладочная информация
|
||||
# Не включайте их, если вы не пытаетесь найти проблему
|
||||
#
|
||||
# Доступные категории отладки:
|
||||
# MINECRAFT_TO_DISCORD - Сообщения из Minecraft
|
||||
# DISCORD_TO_MINECRAFT - Сообщения из Discord
|
||||
# GROUP_SYNC - Групповая синхронизация
|
||||
# PRESENCE - Статус игры или присутствие бота
|
||||
# VOICE - Голосовой модуль (см. voice.yml)
|
||||
# REQUIRE_LINK - Требуемая ссылка для присоединения модуля (см. linking.yml)
|
||||
# NICKNAME_SYNC - Псевдоним синхронизации
|
||||
# ALERTS - Оповещения (см. alerts.yml)
|
||||
# WATCHDOG - Мониторинг сервера
|
||||
# BAN_SYNCHRONIZATION - Синхронизация банов
|
||||
# LP_CONTEXTS - Контексты LuckPerm
|
||||
# ACCOUNT_LINKING - привязка учетной записи Discord/Minecraft
|
||||
#
|
||||
# UNCATEGORIZED - Все, что не относится ни к одной из вышеуказанных категорий
|
||||
# ALL - Все вышеперечисленные категории (включая UNCATEGORIZED)
|
||||
#
|
||||
# JDA - Отладочные сообщения JDA
|
||||
# JDA_REST_ACTIONS - Для отладки остальных действий JDA
|
||||
# CALLSTACKS - Отображает трассировку стека для вызовов отладки DiscordSRV
|
||||
#
|
||||
# Ex. "Debug: [GROUP_SYNC, PRESENCE]"
|
||||
#
|
||||
Debug: []
|
57
src/plugins/DiscordSRV/linking.yml
Normal file
57
src/plugins/DiscordSRV/linking.yml
Normal file
@ -0,0 +1,57 @@
|
||||
Require linked account to play:
|
||||
Enabled: true
|
||||
|
||||
# Если вы не знаете, что это такое - не трогайте.
|
||||
#
|
||||
# Приоритет слушателя соединения
|
||||
# В порядке от первого до последнего доступны следующие значения: LOWEST, LOW, NORMAL, HIGH, HIGHEST
|
||||
# Возможно, вам придется изменить это на более поздний приоритет, чтобы плагин банов отключил игрока, прежде чем DiscordSRV откажет им
|
||||
Listener priority: LOWEST
|
||||
# Событие, когда модуль связи должен прослушивать и запрещать вход в систему
|
||||
# Некоторые плагины белого списка используют AsyncPlayerPreLoginEvent (хорошо), некоторые используют PlayerLoginEvent (не так хорошо)
|
||||
Listener event: AsyncPlayerPreLoginEvent
|
||||
|
||||
# Если вы не знаете, что это такое - не трогайте.
|
||||
|
||||
# Ники в Minecraft, которые могут заходить на сервер без подписки/привязки?
|
||||
Bypass names: []
|
||||
# Имеют ли люди из ванильного вайтлиста право входить на сервер без подписки/привязки?
|
||||
Whitelisted players bypass check: true
|
||||
# Разрешить или запретить игрокам из бан-листа VANILLA связывать свои аккаунты
|
||||
Check banned players: false
|
||||
# Независимо от того, будут ли игроки, не включенные в банлист VANILLA, обходить необходимость связывать свои учетные записи / иметь дополнительную роль
|
||||
Only check banned players: false
|
||||
|
||||
# Сообщение при кике игроков с просьбой связать их учетные записи
|
||||
# Используйте {BOT} в качестве заполнителя для имени бота
|
||||
# Используйте {CODE} в качестве заполнителя для кода, который надо отправить боту
|
||||
# Используйте {INVITE} в качестве заполнителя для ссылки-приглашения, которая необходима людям для присоединения к серверу Discord (использует DiscordInviteLink, настроенный в config.yml)
|
||||
Not linked message: "&7Вы должны связать свою учетную запись &9Discord&7, чтобы играть.\n\n&7Отправьте сообщение боту &#e6c67a{BOT}&7 на сервере Discord с кодом &#e6c67a{CODE}&7, чтобы привязать аккаунт."
|
||||
|
||||
# Если включено, игрокам нужно будет не только связать свои аккаунты, но и потребуется
|
||||
# быть участником сервера Discord, на котором находится бот.
|
||||
#
|
||||
# Допустимые форматы:
|
||||
# true/false: связанная учетная запись должна быть хотя бы на одном сервере Discord, на котором находится бот
|
||||
# например: true
|
||||
# <идентификатор сервера>: связанная учетная запись должна находиться на данном сервере Discord
|
||||
# например: 135634590575493120
|
||||
# [<идентификатор сервера>, <идентификатор сервера>, ...]: связанная учетная запись должна быть на ВСЕХ указанных серверах Discord
|
||||
# например: [135634590575493120, 690411863766466590]
|
||||
#
|
||||
# Значение этой опции заменяется, если ниже указаны обязательные для вас роли подписчика.
|
||||
Must be in Discord server: true
|
||||
|
||||
# Можно требовать не только привязку аккаунта, но и наличие специальной роли, например Twitch
|
||||
Subscriber role:
|
||||
Require subscriber role to join: true
|
||||
Subscriber roles: ["1399048944482259135", "1399048955291111495", "1399048958147301407", "1371492083281563728", ""]
|
||||
Require all of the listed roles: false # при значении false требуется только одна из указанных выше ролей, при true - все роли.
|
||||
Kick message: "&cВы должны пройти верификацию модерации на сервере Discord, чтобы иметь возможность играть."
|
||||
|
||||
Messages:
|
||||
DiscordSRV still starting: "&cВ настоящее время невозможно проверить состояние ссылки, поскольку сервер все еще подключается к Discord.\n\nПопробуйте еще раз через минуту."
|
||||
Not in server: "&cВ настоящее время вы не являетесь частью нашего сервера Discord.\n\nПрисоединяйтесь на {INVITE}!"
|
||||
Failed to find subscriber role: "&cНе удалось найти какую-либо роль подписчика на Discord.\n\nСвяжитесь с администраторами вашего сервера по этому вопросу."
|
||||
Failed for unknown reason: "&cПроизошла ошибка при попытке подтвердить ваш аккаунт.\n\nОбратитесь к администратору сервера по этому вопросу."
|
||||
Kicked for unlinking: "&cВы были кикнуты с сервера из-за отвязки аккаунта Discord.\n\nПожалуйста, перезайдите, чтобы снова связать аккаунты."
|
449
src/plugins/DiscordSRV/messages.yml
Normal file
449
src/plugins/DiscordSRV/messages.yml
Normal file
@ -0,0 +1,449 @@
|
||||
# Discord -> Minecraft сообщения
|
||||
#
|
||||
# DiscordToMinecraftChatMessageFormat: формат, используемый при отправке сообщений из Discord в Minecraft
|
||||
# DiscordToMinecraftChatMessageFormatNoRole: формат, используемый при отправке сообщений из Discord в Minecraft, когда игроку не назначена роль
|
||||
#
|
||||
# Вы можете указать другой формат для каждого канала. Допустим, у вас есть канал с именем «mychannel».
|
||||
# Если вы хотите, чтобы форматирование отличалось от глобального, вы можете добавить следующие свойства:
|
||||
#
|
||||
# DiscordToMinecraftChatMessageFormat_mychannel: "[&bDiscord From MyChannel &r| %toprolecolor%%toprole%&r] %name% » %message%"
|
||||
# DiscordToMinecraftChatMessageFormatNoRole_mychannel: "[&bDiscord From MyChannel&r] %name% » %message%"
|
||||
#
|
||||
# Доступные шаблоны:
|
||||
# %allroles%: все роли пользователя скомбинированные с помощью DiscordToMinecraftAllRolesSeparator между ними
|
||||
# пример: Owner | Developer | Boss man
|
||||
# %message%: содержимое сообщения
|
||||
# пример: Hello!
|
||||
# %toprole%: самая высокая роль пользователя
|
||||
# пример: Owner
|
||||
# %toprolealias%: псевдоним роли из DiscordChatChannelRoleAliases, в противном случае имя роли
|
||||
# пример: Dev
|
||||
# %toproleinitial%: первая буква высшей роли
|
||||
# example: O
|
||||
# %toprolecolor%: приблизительный цвет самой высокой роли пользователя
|
||||
# пример: &4
|
||||
# %name%: действующее имя человека на Discord (псевдоним, если присутствует, имя пользователя в противном случае)
|
||||
# пример: NotchIsMe
|
||||
# %username%: пользователя в Discord
|
||||
# пример: Notch
|
||||
# %userid%: person's ID on Discord
|
||||
# example: 1081004946872352958
|
||||
# %channelname%: имя канала, из которого поступает сообщение
|
||||
# пример: server-chat
|
||||
# %reply%: сообщение, отображаемое, когда сообщение является ответом на другое сообщение.
|
||||
# Формат сообщения можно настроить с помощью DiscordToMinecraftMessageReplyFormat,
|
||||
# это будет пусто, если сообщение не является ответом на другое сообщение
|
||||
#
|
||||
# DiscordToMinecraftAllRolesSeparator: разделитель между ролями в шаблоне %allroles%
|
||||
#
|
||||
# DiscordToMinecraftMessageReplyFormat: формат отображаемого сообщения, указывающего, что сообщение является ответом.
|
||||
#
|
||||
# Доступные заполнители:
|
||||
# %name%: эффективное имя пользователя, которому отвечает в Discord (псевдоним, если присутствует, в противном случае имя пользователя)
|
||||
# example: NotchIsMe
|
||||
# %username%: имя пользователя, которому отвечают в Discord.
|
||||
# пример: Notch
|
||||
# %userid%: the ID of the user that is being replied to on Discord
|
||||
# example: 1081004946872352958
|
||||
# %message%: содержание сообщения, на которое идет ответ
|
||||
#
|
||||
# ПРИМЕЧАНИЕ: Заполнитель %reply% должен присутствовать в формате, если вы хотите, чтобы DiscordToMinecraftMessageReplyFormat отображался в вашем сообщении.
|
||||
#
|
||||
DiscordToMinecraftChatMessageFormat: "[<aqua>Discord</aqua> | %toprolecolor%%toprolealias%<reset>] %name%%reply% » %message%"
|
||||
DiscordToMinecraftChatMessageFormatNoRole: "[<aqua>Discord</aqua>] %name%%reply% » %message%"
|
||||
DiscordToMinecraftAllRolesSeparator: " | "
|
||||
DiscordToMinecraftMessageReplyFormat: " (отвечая на %name%)"
|
||||
|
||||
# Minecraft -> Discord сообщения
|
||||
#
|
||||
# MinecraftChatToDiscordMessageFormat: формат, используемый при отправке сообщений из Minecraft в Discord
|
||||
# MinecraftChatToDiscordMessageFormatNoPrimaryGroup: используется вместо MinecraftChatToDiscordMessageFormat
|
||||
# когда основная группа игрока не задана или не найдена
|
||||
#
|
||||
# Доступные шаблоны:
|
||||
# %username%: исходное имя игрока
|
||||
# пример: jeb_
|
||||
# %displayname%: отображаемое имя игрока, по типу ника
|
||||
# пример: BigBossManJeb
|
||||
# %usernamenoescapes%: исходное имя игрока без экранирования формата Discord (для использования во встроенном коде и уценке блока кода)
|
||||
# example: jeb_
|
||||
# %displaynamenoescapes%: отображаемое имя игрока, по типу ника без экранирования формата Discord (для использования во встроенном коде и уценке блока кода)
|
||||
# example: BigBossManJeb
|
||||
# %message%: содержимое сообщения
|
||||
# пример: Hello!
|
||||
# %primarygroup%: имя основной группы игрока
|
||||
# %world%: названия мира, где сейчас находится игрок
|
||||
# пример: world
|
||||
# %worldalias%: псевдоним к названию мира игрока, используемый в Multiverse-Core
|
||||
# пример: Mainland
|
||||
# %date%: текущие время и дата
|
||||
# пример: Sun Jan 1 15:30:45 PDT 2017
|
||||
# %channelname%: имя канала, в которое было отправлено сообщение, если сообщение было отправлено в канал вообще
|
||||
# пример: Global
|
||||
# Также поддерживаются PlaceholderAPI шаблоны
|
||||
#
|
||||
MinecraftChatToDiscordMessageFormat: "**%primarygroup%** %displayname% » %message%"
|
||||
MinecraftChatToDiscordMessageFormatNoPrimaryGroup: "%displayname% » %message%"
|
||||
|
||||
# Плагины для обработки канала чата
|
||||
# Это специальное сообщение, которое используется только тогда, когда подключен поддерживаемый плагин канала чата
|
||||
# Модифицирует внутри-игровые сообщения, добавляя туда полезную информацию
|
||||
#
|
||||
# Доступные шаблоны:
|
||||
# %channelcolor%: цвет символов, соответствующий каналу
|
||||
# пример: Если цвет данного канала чата - красный, то это превратится в &c
|
||||
# %channelname%: символьное имя канала - техническое имя которое видно только серверу
|
||||
# пример: staff
|
||||
# %channelnickname%: формальный ник канала, который видят игроки
|
||||
# пример: Staff
|
||||
# %message%: сообщение после обработки посредством DiscordToMinecraftChatMessageFormat / DiscordToMinecraftChatMessageFormatNoRole
|
||||
# пример: jeb_ > Hello from the server!
|
||||
#
|
||||
ChatChannelHookMessageFormat: "%channelcolor%[%channelnickname%]&r %message%"
|
||||
|
||||
# Dynmap сообщения
|
||||
#
|
||||
# DynmapNameFormat: формат ника, отправляемого в Dynmap (это может быть скрыто в зависимости от настроек dynmap)
|
||||
# DynmapChatFormat: формат сообщения, отправляемого в Dynmap
|
||||
#
|
||||
# Доступные шаблоны:
|
||||
# Те же, что в Discord -> Minecraft
|
||||
#
|
||||
# DynmapDiscordFormat: формат сообщений Dynmap, идущих в Discord
|
||||
#
|
||||
# Доступные шаблоны:
|
||||
# %message%: содержимое сообщения
|
||||
# пример: Hello!
|
||||
# %name%: имя пользователя для сообщения, отправленного в веб-чате Dynmap (может быть пустым)
|
||||
# пример: Notch
|
||||
# Также поддерживаются PlaceholderAPI шаблоны
|
||||
#
|
||||
DynmapNameFormat: "[Discord | %toprolealias%] %username%"
|
||||
DynmapChatFormat: "%message%"
|
||||
DynmapDiscordFormat: "[Dynmap] %name% » %message%"
|
||||
|
||||
# Канал консоли Discord
|
||||
# Формат вывода серверной консоли в канал консоли (если тот включён)
|
||||
#
|
||||
# Доступные шаблоны:
|
||||
# {level}: тип логов
|
||||
# пример: INFO, WARN, ERROR
|
||||
# {name}: имя регистратора
|
||||
# пример: Server
|
||||
# {datetime}: текущие время и дата
|
||||
# пример: Sun 15:30:45
|
||||
# Также поддерживаются PlaceholderAPI шаблоны
|
||||
#
|
||||
# DiscordConsoleChannelPrefix: Префикс для добавления перед сообщениями журнала.
|
||||
# DiscordConsoleChannelSuffix: Суффикс для добавления после сообщений журнала.
|
||||
#
|
||||
DiscordConsoleChannelTimestampFormat: "EEE HH:mm:ss"
|
||||
DiscordConsoleChannelPrefix: "[{date} {level}{name}] "
|
||||
DiscordConsoleChannelSuffix: ""
|
||||
DiscordConsoleChannelPadding: 0
|
||||
|
||||
# Канал чата Discord, обработка ошибок команд !c
|
||||
# Используется в случае нехватки у пользователя прав.
|
||||
#
|
||||
# Доступные шаблоны:
|
||||
# %user%: имя пользователя, который пытался исполнить команду
|
||||
# пример: Notch
|
||||
# %error%: причина ошибки
|
||||
# пример: no permission
|
||||
#
|
||||
DiscordChatChannelConsoleCommandNotifyErrorsFormat: "**%user%**, ты пытался исполнить команду. К сожалению, произошла ошибка: %error%"
|
||||
|
||||
# Канал чата Discord, команда отображающая список пользователей
|
||||
# Сообщения, отправляемые при запросе списка текущих пользователей на сервере
|
||||
#
|
||||
# DiscordChatChannelListCommandFormatOnlinePlayers: сообщение перед списком пользователей
|
||||
# DiscordChatChannelListCommandFormatNoOnlinePlayers: сообщение на случай, если в онлайне нет ни одного пользователя
|
||||
# DiscordChatChannelListCommandPlayerFormat: формат вывода отдельного игрока в списке
|
||||
# Доступные шаблоны:
|
||||
# %username%: исходное имя игрока
|
||||
# %displayname%: отображаемое имя игрока, по типу ника
|
||||
# %primarygroup%: имя основной группы игрока
|
||||
# %world%: название мира, в котором находится игрок
|
||||
# %worldalias%: псевдоним к названию мира игрока, используемый в Multiverse-Core
|
||||
# Также поддерживаются PlaceholderAPI шаблоны
|
||||
# DiscordChatChannelListCommandAllPlayersSeparator: разделитель списка игроков
|
||||
#
|
||||
DiscordChatChannelListCommandFormatOnlinePlayers: "**Игроков онлайн (%playercount%):**"
|
||||
DiscordChatChannelListCommandFormatNoOnlinePlayers: "**Нет никого онлайн**"
|
||||
DiscordChatChannelListCommandPlayerFormat: "%displayname%"
|
||||
DiscordChatChannelListCommandAllPlayersSeparator: ", "
|
||||
|
||||
# Minecraft -> Discord notification messages
|
||||
#
|
||||
#
|
||||
# Вложенные свойства:
|
||||
# Color: принимает шестнадцатеричный цветовой код (напр. "#ffffff") или целое число RGB (напр. 0)
|
||||
# Fields: формат "заглавие;стоимость;inline" (e.c. "Кто присоединился?;%displayname%;true") или "пусто", чтобы добавить пустое поле
|
||||
# Timestamp: установите значение true, чтобы использовать время, когда было отправлено, или использовать отметку времени эпохи (https://www.epochconverter.com/)
|
||||
#
|
||||
# Доступные заполнители для PlayerJoin/PlayerFirstJoin/PlayerLeave/PlayerDeath/PlayerAchievement:
|
||||
# %displayname%: отображаемое имя игрока, по типу ника
|
||||
# %username%: исходное имя игрока
|
||||
# %displaynamenoescapes%: отображаемое имя игрока, по типу ника без экранирования формата Discord (для использования во встроенном коде и уценке блока кода)
|
||||
# %usernamenoescapes%: исходное имя игрока без экранирования формата Discord (для использования во встроенном коде и уценке блока кода)
|
||||
# %date%: текущие время и дата
|
||||
# %embedavatarurl%: аватар пользователя
|
||||
# %botavatarurl%: аватар бота
|
||||
# %botname%: имя бота
|
||||
# Также поддерживаются PlaceholderAPI шаблоны
|
||||
#
|
||||
# Доступные заполнители для PlayerJoin:
|
||||
# %message%: сообщение о входе в игру (Так, как оно отображается в Minecraft)
|
||||
#
|
||||
MinecraftPlayerJoinMessage:
|
||||
Enabled: true
|
||||
Webhook:
|
||||
Enable: false
|
||||
AvatarUrl: "%botavatarurl%"
|
||||
Name: "%botname%"
|
||||
Content: ""
|
||||
Embed:
|
||||
Enabled: true
|
||||
Color: "#00ff00"
|
||||
Author:
|
||||
ImageUrl: "%embedavatarurl%"
|
||||
Name: "%username% присоединился"
|
||||
Url: ""
|
||||
ThumbnailUrl: ""
|
||||
Title:
|
||||
Text: ""
|
||||
Url: ""
|
||||
Description: ""
|
||||
Fields: []
|
||||
ImageUrl: ""
|
||||
Footer:
|
||||
Text: ""
|
||||
IconUrl: ""
|
||||
Timestamp: false
|
||||
#
|
||||
# Доступные заполнители для PlayerFirstJoin:
|
||||
# %message%: сообщение о входе в игру (Так, как оно отображается в Minecraft)
|
||||
#
|
||||
MinecraftPlayerFirstJoinMessage:
|
||||
Enabled: true
|
||||
Webhook:
|
||||
Enable: false
|
||||
AvatarUrl: "%botavatarurl%"
|
||||
Name: "%botname%"
|
||||
Content: ""
|
||||
Embed:
|
||||
Enabled: true
|
||||
Color: "#ffd700"
|
||||
Author:
|
||||
ImageUrl: "%embedavatarurl%"
|
||||
Name: "%username% впервые присоединился к нашему серверу"
|
||||
Url: ""
|
||||
ThumbnailUrl: ""
|
||||
Title:
|
||||
Text: ""
|
||||
Url: ""
|
||||
Description: ""
|
||||
Fields: []
|
||||
ImageUrl: ""
|
||||
Footer:
|
||||
Text: ""
|
||||
IconUrl: ""
|
||||
Timestamp: false
|
||||
#
|
||||
# Доступные заполнители для PlayerLeave:
|
||||
# %message%: сообщение о выходе из игры (Так, как оно отображается в Minecraft)
|
||||
#
|
||||
MinecraftPlayerLeaveMessage:
|
||||
Enabled: true
|
||||
Webhook:
|
||||
Enable: false
|
||||
AvatarUrl: "%botavatarurl%"
|
||||
Name: "%botname%"
|
||||
Content: ""
|
||||
Embed:
|
||||
Enabled: true
|
||||
Color: "#ff0000"
|
||||
Author:
|
||||
ImageUrl: "%embedavatarurl%"
|
||||
Name: "%username% отключился"
|
||||
Url: ""
|
||||
ThumbnailUrl: ""
|
||||
Title:
|
||||
Text: ""
|
||||
Url: ""
|
||||
Description: ""
|
||||
Fields: []
|
||||
ImageUrl: ""
|
||||
Footer:
|
||||
Text: ""
|
||||
IconUrl: ""
|
||||
Timestamp: false
|
||||
#
|
||||
# Доступные заполнители для PlayerDeath:
|
||||
# %deathmessage%: сообщение о смерти (Так, как оно отображается в Minecraft)
|
||||
# %world%: название мира, в котором умер игрок
|
||||
#
|
||||
MinecraftPlayerDeathMessage:
|
||||
Enabled: true
|
||||
Webhook:
|
||||
Enable: false
|
||||
AvatarUrl: "%botavatarurl%"
|
||||
Name: "%botname%"
|
||||
Content: ""
|
||||
Embed:
|
||||
Enabled: true
|
||||
Color: "#000000"
|
||||
Author:
|
||||
ImageUrl: "%embedavatarurl%"
|
||||
Name: "%deathmessage%"
|
||||
Url: ""
|
||||
ThumbnailUrl: ""
|
||||
Title:
|
||||
Text: ""
|
||||
Url: ""
|
||||
Description: ""
|
||||
Fields: []
|
||||
ImageUrl: ""
|
||||
Footer:
|
||||
Text: ""
|
||||
IconUrl: ""
|
||||
Timestamp: false
|
||||
#
|
||||
# Доступные заполнители для сообщений PlayerAchievement:
|
||||
# %achievement%: сообщение о достижении (Так, как оно отображается в Minecraft)
|
||||
# %world%: название мира, в котором находится игрок
|
||||
# Также поддерживаются PlaceholderAPI шаблоны
|
||||
#
|
||||
MinecraftPlayerAchievementMessage:
|
||||
Enabled: true
|
||||
Webhook:
|
||||
Enable: false
|
||||
AvatarUrl: "%botavatarurl%"
|
||||
Name: "%botname%"
|
||||
Content: ""
|
||||
Embed:
|
||||
Enabled: true
|
||||
Color: "#ffd700"
|
||||
Author:
|
||||
ImageUrl: "%embedavatarurl%"
|
||||
Name: "%username% получил достижение %achievement%!"
|
||||
Url: ""
|
||||
ThumbnailUrl: ""
|
||||
Title:
|
||||
Text: ""
|
||||
Url: ""
|
||||
Description: ""
|
||||
Fields: []
|
||||
ImageUrl: ""
|
||||
Footer:
|
||||
Text: ""
|
||||
IconUrl: ""
|
||||
Timestamp: false
|
||||
|
||||
# Сообщения тем каналов
|
||||
# Все эти опции нужны, чтобы автоматически устанавливать темы каналов чата и консоли,
|
||||
# Наполняя их всевозможной серверной информацией
|
||||
#
|
||||
# ChannelTopicUpdater______ChannelTopicFormat: сообщение, которое будет установлено как тема канала, каждые X секунд
|
||||
# ChannelTopicUpdater______ChannelTopicAtShutdownFormat: сообщение, которое будет установлено как тема канала, когда сервер выключен
|
||||
#
|
||||
# Доступные шаблоны:
|
||||
# %playercount%: текущее число игроков
|
||||
# %playermax%: максимальное число игроков
|
||||
# %date%: текущая дата
|
||||
# %totalplayers%: общее число игроков, когда-либо подключавшееся к серверу
|
||||
# %uptimemins%: число минут с момента запуска DiscordSRV
|
||||
# %uptimehours%: число часов с момента запуска DiscordSRV
|
||||
# %motd%: описание сервера в меню выбора серверов
|
||||
# %serverversion%: версия серверной платформы (например Spigot-1.9)
|
||||
# %freememory%: свободная память в МБ, согласно данным JVM
|
||||
# %usedmemory%: используемая память в МБ, согласно данным JVM
|
||||
# %totalmemory%: общая память в МБ, согласно данным JVM
|
||||
# %maxmemory%: максимально выделенная память в МБ, согласно данным JVM
|
||||
# %freememorygb%: свободная память в ГБ, согласно данным JVM
|
||||
# %usedmemorygb%: используемая память в ГБ, согласно данным JVM
|
||||
# %totalmemorygb%: общая память в ГБ, согласно данным JVM
|
||||
# %maxmemorygb%: максимально выделенная память в ГБ, согласно данным JVM
|
||||
# %tps%: средний TPS сервера
|
||||
# Также поддерживаются PlaceholderAPI шаблоны
|
||||
#
|
||||
ChannelTopicUpdaterChatChannelTopicFormat: "%playercount% игроков онлайн | %totalplayers% игроков было всего | Сервер запущен уже %uptimemins% минут | Обновлено: %date%"
|
||||
ChannelTopicUpdaterConsoleChannelTopicFormat: "TPS: %tps% | Mem: %usedmemorygb%GB исп/%freememorygb%GB своб/%maxmemorygb%GB макс | %serverversion%"
|
||||
# AtServerShutdownFormats поддерживает только %totalplayers%, %serverversion%, & %date% / %time%
|
||||
ChannelTopicUpdaterChatChannelTopicAtServerShutdownFormat: "Сервер отключён | %totalplayers% уникальных игроков"
|
||||
ChannelTopicUpdaterConsoleChannelTopicAtServerShutdownFormat: "Сервер отключён | %serverversion%"
|
||||
|
||||
# Сообщения команды /discord
|
||||
# Это сообщение отсылается игрокам, когда они выполняют команду "/discord". Рекомендуется сохранить такой же синтаксис, как ниже
|
||||
# Используйте {INVITE} в качестве заполнителя для ссылки приглашения, которая необходима людям для присоединения к серверу Discord
|
||||
# (Использует DiscordInviteLink, настроенный в config.yml)
|
||||
#
|
||||
DiscordCommandFormat: "&bПрисоединяйся к нам в Discord по ссылке {INVITE}&b. Иcпользуй \"/discord ?\" чтобы узнать больше"
|
||||
|
||||
# Нет формата сообщения разрешения
|
||||
NoPermissionMessage: "&cУ вас нет прав выполнения такой команды."
|
||||
|
||||
# Неизвестное командное сообщение
|
||||
UnknownCommandMessage: "&bТакой команды не существует!"
|
||||
|
||||
# Сообщения запуска/остановки сервера
|
||||
# DiscordChatChannelServerStartupMessage: сообщение, отправляемое при старте сервера; оставьте пустым, чтобы отключить
|
||||
# DiscordChatChannelServerShutdownMessage: сообщение, отправляемое при остановке сервера; оставьте пустым, чтобы отключить
|
||||
#
|
||||
DiscordChatChannelServerStartupMessage: ":white_check_mark: **Сервер успешно запущен**"
|
||||
DiscordChatChannelServerShutdownMessage: ":octagonal_sign: **Сервер остановлен**"
|
||||
|
||||
# Сообщения мониторинга (детектор лагов)
|
||||
#
|
||||
# Служба мониторинга отслеживает состояние сервера с момента последнего исполненного тика
|
||||
# В случае превышения заданного таймаута, отсылаются сообщения
|
||||
#
|
||||
# ServerWatchdogMessage: сообщение, которое будет отправлено в главный канал.
|
||||
# вы можете упоминать пользователей, используя "<@USERID>", i.e. "<@12345678901234567890>"
|
||||
# вы можете упоминать роли, используя "<@&ROLEID>", i.e. "<@&12345678901234567890>"; see console when discordsrv loads for role ids
|
||||
# вы можете упоминать владельца сервера, используя "%guildowner%"
|
||||
# вы можете вставить дату и время падения сервера в сообщение, используя %date%
|
||||
# вы можете использовать ServerWatchdogTimeout в качестве заполнителя, используя %timeout%
|
||||
# вы можете использовать заполнитель %timestamp% для использования в формате метки времени Discord
|
||||
#
|
||||
ServerWatchdogMessage: "<t:%timestamp%:R> %guildowner%, сервер не ответил через %timeout% секунд :fire::bangbang:"
|
||||
|
||||
# Сообщения привязки аккаунта
|
||||
# Эти сообщения используются при связывании аккаунтов Discord и Minecraft
|
||||
#
|
||||
# Доступные шаблоны:
|
||||
# UnknownCode/InvalidCode: %code%: одноразовый код, сгенерированный для пользователя, для привязки аккаунта
|
||||
# %mention%: упоминание учетной записи Discord
|
||||
# DiscordAccountLinked: %name%: имя игрока Minecraft, с которым связан аккаунт Discord
|
||||
# %displayname%: отображаемое имя игрока Minecraft, с которым связан аккаунт Discord
|
||||
# %uuid%: uuid игрока Minecraft, с которым связан аккаунт Discord
|
||||
# %mention%: упоминание учетной записи Discord
|
||||
# DiscordAccountAlreadyLinked: %uuid%: uuid Minecraft связанной учетной записи Minecraft пользователя
|
||||
# %username%: имя пользователя Minecraft связанной учетной записи Minecraft пользователя
|
||||
# %mention%: упоминание учетной записи Discord
|
||||
# DiscordLinkedAccountRequired %message%: сообщение, которое пользователь не смог отправить, потому что они не были связаны
|
||||
# CodeGenerated: %code%: одноразовый код, сгенерированный для пользователя, для привязки аккаунта
|
||||
# %botname%: имя бота Discord
|
||||
# MinecraftAccountLinked: %id%: идентификатор пользователя Discord, с которым была связана учетная запись Minecraft
|
||||
# %username%: имя пользователя Discord, с которым была связана учетная запись Minecraft
|
||||
# LinkedCommandSuccess: %name%: имя пользователя Discord в Discord, с которым была связана учетная запись Minecraft.
|
||||
# UnlinkCommandSuccess: %name%: имя пользователя Discord в Discord, с которым была связана учетная запись Minecraft.
|
||||
# MinecraftNobodyFound: %target%: ввод, который привел к отсутствию результатов
|
||||
#
|
||||
# Discord
|
||||
UnknownCode: "Я не знаю такого кода, попробуйте снова."
|
||||
InvalidCode: "Вы уверены, что это ваш код? Обычно код выглядит как 4 цифры."
|
||||
DiscordAccountLinked: "Ваш Discord аккаунт был успешно привязан к Minecraft-аккаунту %name% (%uuid%)"
|
||||
DiscordAccountAlreadyLinked: "Вы уже связаны с %username% (%uuid%)"
|
||||
DiscordLinkedAccountRequired: "Вы попытались отправить сообщение в игровой чат из клиента Discord, однако сервер требует, чтобы вы привязали ваш Майнкрафт аккаунт к вашей учётной записи Discord. Чтобы связать эти аккаунты, используйте команду `/discord link` в игре. \n```%message%```"
|
||||
DiscordLinkedAccountCheckFailed: "Не удалось проверить, связан ли ваш аккаунт, повторите попытку позже."
|
||||
# Minecraft
|
||||
CodeGenerated: "Ваш привязочный код - %code%. Отправьте личное сообщение боту (%botname%) с этим кодом, чтобы привязать свой аккаунт."
|
||||
ClickToCopyCode: "Нажмите, чтобы скопировать"
|
||||
MinecraftAccountLinked: "&bВаш UUID был связан с пользователем Discord %username% (%id%)"
|
||||
MinecraftAccountAlreadyLinked: "&bВаш Майнкрафт аккаунт уже связан с учётной записью Discord. Вы можете отвязать его командой /discord unlink, если у вас есть соответсвующие права."
|
||||
LinkedCommandSuccess: "&bВаш Майнкрафт аккаунт успешно связан с %name%."
|
||||
UnlinkCommandSuccess: "&bВаш Майнкрафт аккаунт больше не связан с %name%."
|
||||
MinecraftNoLinkedAccount: "&cВаш Майнкрафт аккаунт не привязан к аккаунту Discord."
|
||||
LinkingError: "&cК сожалению, мы не можем связать ваши аккаунты из-за внутренней ошибки. Свяжитесь с администратором сервера."
|
||||
MinecraftNobodyFound: "&cНикого с такими Discord ID/Discord ник/Minecraft ник/Minecraft UUID подходящего \"%target%\" не найдено."
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user