Compare commits

...

52 Commits

Author SHA1 Message Date
f7f078580f Merge pull request 'feature-23-fix-luckperms-server-name' (#32) from feature-23 into develop
All checks were successful
/ build-docker (push) Successful in 7m58s
Reviewed-on: #32
2025-07-31 12:26:42 +00:00
eefbd02291
fix: change LuckPerms server name from lobby to survival 2025-07-31 15:25:02 +03:00
dd989b0ad6
Merge branch 'develop' into feature-23 2025-07-31 15:24:31 +03:00
7c36f42e08 Merge pull request 'feature-24-chat-whisper-formatting' (#31) from carbonchat-config into develop
All checks were successful
/ build-docker (push) Successful in 7m13s
Reviewed-on: #31
Reviewed-by: cuqmbr <me@cuqmbr.xyz>
2025-07-30 17:09:25 +00:00
2217532da3 whisper config 2025-07-30 20:02:50 +03:00
24b85ba095 Merge pull request 'chat-role-clan-tags' (#30) from carbonchat-config into develop
All checks were successful
/ build-docker (push) Successful in 7m24s
Reviewed-on: #30
Reviewed-by: cuqmbr <me@cuqmbr.xyz>
2025-07-28 21:51:51 +00:00
dfb2d46036 add tags for chat 2025-07-29 00:49:16 +03:00
d5dbcac5fb Merge pull request 'chunky' (#29) from chunky into develop
Some checks failed
/ build-docker (push) Has been cancelled
Reviewed-on: #29
2025-07-28 21:47:37 +00:00
dedfcf542f
add Chunky symlinking to Dockerfile 2025-07-29 00:46:27 +03:00
9e9b3d2bef Merge pull request 'chunky' (#28) from chunky into develop
Some checks failed
/ build-docker (push) Failing after 3m59s
Reviewed-on: #28
2025-07-28 20:56:34 +00:00
77fe0950b2
add Chunky symlinking to Dockerfile 2025-07-28 21:36:18 +03:00
9ac1f451c0
add and configure Chunky plugin 2025-07-28 21:34:39 +03:00
69105ba34f Merge pull request 'max-players-to-50' (#27) from feature-63 into develop
All checks were successful
/ build-docker (push) Successful in 7m56s
Reviewed-on: #27
2025-07-27 19:16:07 +00:00
11ad282ebe
change max players to 50 2025-07-27 22:14:47 +03:00
f1681d14b4 Merge pull request 'fix-mob-cap' (#26) from feature-63 into develop
All checks were successful
/ build-docker (push) Successful in 6m50s
Reviewed-on: #26
2025-07-27 18:40:38 +00:00
38769b1c59
fix: set mob spawn cap per player to vanilla values 2025-07-27 21:39:41 +03:00
a4fe107708 Merge pull request 'fix-skinsrestorer-db' (#25) from fix-skinsrestorer-db into develop
All checks were successful
/ build-docker (push) Successful in 7m21s
Reviewed-on: #25
2025-07-27 17:54:01 +00:00
1f826781a9
enable database use by SkinsRestorer 2025-07-27 20:52:57 +03:00
1097bd297c
fix formatting in Dockerfile 2025-07-27 20:51:06 +03:00
37fc716efa Merge pull request 'new-chat-formatting' (#24) from carbonchat-config into develop
All checks were successful
/ build-docker (push) Successful in 7m5s
Reviewed-on: #24
Reviewed-by: cuqmbr <me@cuqmbr.xyz>
2025-07-26 18:38:05 +00:00
790806d3a9 new format 2025-07-26 20:02:52 +03:00
7f400d9965 Merge pull request 'feature-46-unifiedmetrics' (#23) from feature-46 into develop
All checks were successful
/ build-docker (push) Successful in 7m11s
Reviewed-on: #23
2025-07-25 18:22:10 +00:00
f93afc1709
add and configure UnifiedMetrics prometheus exporter 2025-07-25 17:58:51 +03:00
f12993b85a Merge pull request 'feature-63-core-settings' (#22) from feature-63 into develop
All checks were successful
/ build-docker (push) Successful in 5m37s
Reviewed-on: #22
2025-07-24 19:34:00 +00:00
f5dbe68a4c
configure server to be as vanilla as possible 2025-07-24 20:11:10 +03:00
d2cf6753fb Merge pull request 'disable-nether-end' (#21) from disable-nether-end into develop
All checks were successful
/ build-docker (push) Successful in 6m51s
Reviewed-on: #21
2025-07-24 16:32:16 +00:00
84bda15088
disabled nether in server.properties and end in bukkit.yml 2025-07-23 23:59:26 +03:00
cddab7bca4 Merge pull request 'feature-34-anticheat' (#9) from feature-34 into develop
All checks were successful
/ build-docker (push) Successful in 6m4s
Reviewed-on: #9
2025-07-22 19:23:25 +00:00
aa8fcae03f
Merge branch 'develop' into feature-34 2025-07-22 22:22:47 +03:00
5b947a0a8b Merge pull request 'feature-27-moderation' (#20) from feature-27 into develop
Some checks failed
/ build-docker (push) Has been cancelled
Reviewed-on: #20
Reviewed-by: cuqmbr <services@cuqmbr.xyz>
2025-07-22 19:20:02 +00:00
27c45fac56
Merge branch 'develop' into feature-27 2025-07-22 22:18:00 +03:00
f1ba8bb552
add LibertyBans secret substitution 2025-07-22 22:14:58 +03:00
a41d43cf19 feature-27-LibertyBans 2025-07-21 23:05:59 +03:00
f5b61aeb23 feature-27-LibertyBans 2025-07-21 23:02:41 +03:00
afac6ba448 Merge pull request 'feature-61-no-chat-signing' (#17) from feature-61 into develop
All checks were successful
/ build-docker (push) Successful in 5m27s
Reviewed-on: #17
Reviewed-by: apathy <zloiyudin@gmail.com>
2025-07-21 14:57:06 +00:00
6e190d8569 Merge pull request 'feature-62-ViaVersion' (#19) from feature-62 into develop
Some checks failed
/ build-docker (push) Has been cancelled
Reviewed-on: #19
Reviewed-by: apathy <zloiyudin@gmail.com>
2025-07-21 14:55:45 +00:00
c204973963 Merge pull request 'patpat' (#18) from patpat into develop
All checks were successful
/ build-docker (push) Successful in 5m14s
Reviewed-on: #18
Reviewed-by: apathy <zloiyudin@gmail.com>
2025-07-21 14:37:35 +00:00
0033bd0f11
add and configure ViaVersion 2025-07-20 23:25:04 +03:00
a8da779add
add and configure FreedomChat 2025-07-20 22:12:45 +03:00
fd3e06a456
add patpat 2025-07-20 21:48:02 +03:00
a87c3cd1c9 Merge pull request 'feature-55-worldmap' (#16) from feature-55 into develop
All checks were successful
/ build-docker (push) Successful in 7m43s
Reviewed-on: #16
Reviewed-by: apathy <zloiyudin@gmail.com>
2025-07-19 21:16:34 +00:00
f25aec9c8a Merge pull request 'feature-40-armor-poser' (#15) from feature-40 into develop
Some checks failed
/ build-docker (push) Has been cancelled
Reviewed-on: #15
Reviewed-by: apathy <zloiyudin@gmail.com>
2025-07-19 21:13:49 +00:00
7c321773ef
add BlueMap expose port in Dockerfile 2025-07-19 21:29:28 +03:00
ab6d571fcd
add and configure BlueMap 2025-07-19 21:27:47 +03:00
b5880e43de
add ArmorPoser 2025-07-19 14:37:35 +03:00
3b880eea8b Merge pull request 'feature-25-TAB' (#14) from feature-25 into develop
All checks were successful
/ build-docker (push) Successful in 19m47s
Reviewed-on: #14
Reviewed-by: cuqmbr <services@cuqmbr.xyz>
2025-07-16 19:10:54 +00:00
d807fb5248 feature-25-moved tab to proxy 2025-07-15 23:34:17 +03:00
e335979b36 add plugin TAB by neznamy check docker 2025-07-15 18:20:43 +03:00
a49bf4c27a Merge pull request 'feature-32-discordsrv' (#13) from feature-32 into develop
All checks were successful
/ build-docker (push) Successful in 5m46s
Reviewed-on: #13
Reviewed-by: cuqmbr <me@cuqmbr.xyz>
2025-07-14 19:18:06 +00:00
59090de3b3
add and configure LightningGrim anticheat 2025-07-07 14:41:54 +03:00
3c7e1b1146
add and configure orebfuscator anti x-ray 2025-07-07 14:40:56 +03:00
bc98bef7f8
add and configure luckperms 2025-06-17 14:52:43 +03:00
107 changed files with 13330 additions and 94 deletions

View File

@ -18,6 +18,12 @@
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
@ -25,9 +31,6 @@ src/plugins/ImageFrame/players
src/plugins/ImageFrame/upload
src/map-color-cache.dat
.crowdin
src/plugins/PlasmoVoice/voice_mutes.json
src/plugins/SuperVanish/data.yml
src/plugins/CustomizablePlayerModels
@ -36,3 +39,12 @@ 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

18
.gitignore vendored
View File

@ -18,6 +18,12 @@
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
@ -25,9 +31,6 @@ src/plugins/ImageFrame/players
src/plugins/ImageFrame/upload
src/map-color-cache.dat
.crowdin
src/plugins/PlasmoVoice/voice_mutes.json
src/plugins/SuperVanish/data.yml
src/plugins/CustomizablePlayerModels
@ -36,3 +39,12 @@ 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

View File

@ -9,31 +9,38 @@ 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}
RUN touch ${DATA_PATH}/banned-players.json && \
ln -sf ${DATA_PATH}/banned-players.json ${CONFIG_PATH}
RUN mkdir ${DATA_PATH}/logs && \
ln -sf ${DATA_PATH}/logs ${CONFIG_PATH}
RUN touch ${DATA_PATH}/ops.json && \
ln -sf ${DATA_PATH}/ops.json ${CONFIG_PATH}
RUN touch ${DATA_PATH}/usercache.json && \
ln -sf ${DATA_PATH}/usercache.json ${CONFIG_PATH}
RUN touch ${DATA_PATH}/whitelist.json && \
ln -sf ${DATA_PATH}/whitelist.json ${CONFIG_PATH}
RUN mkdir ${DATA_PATH}/world && \
ln -sf ${DATA_PATH}/world ${CONFIG_PATH}
RUN mkdir ${DATA_PATH}/world_nether && \
ln -sf ${DATA_PATH}/world_nether ${CONFIG_PATH}
RUN mkdir ${DATA_PATH}/world_the_end && \
ln -sf ${DATA_PATH}/world_the_end ${CONFIG_PATH}
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
@ -54,13 +61,29 @@ RUN mkdir -p ${DATA_PATH}/CustomizablePlayerModels && \
ln -sf ${DATA_PATH}/CustomizablePlayerModels/ \
${CONFIG_PATH}/plugins/CustomizablePlayerModels
# Add symlinks to DiscordSRV files
RUN mkdir -p ${DATA_PATH}/DiscordSRV && \
touch ${DATA_PATH}/DiscordSRV/accounts.aof && \
ln -sf ${DATA_PATH}/DiscordSRV/accounts.aof \
${CONFIG_PATH}/plugins/DiscordSRV/accounts.aof
# 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
VOLUME ${DATA_PATH}
@ -69,23 +92,51 @@ 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 LUCKPERMS_DB_HOST=127.0.0.1
ENV LUCKPERMS_DB_PORT=3306
ENV LUCKPERMS_DB_NAME=luckperms
ENV LUCKPERMS_DB_USERNAME=luckperms
ENV LUCKPERMS_DB_PASSWORD=0000
ENV DISCORDSRV_BOT_TOKEN=dummy-token
WORKDIR ${WORKDIR_PATH}/config
# Minecraft
EXPOSE 25565/tcp
# BlueMap
EXPOSE 8100/tcp
CMD \
# Add proxy secret
@ -101,6 +152,13 @@ CMD \
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 && \
@ -108,6 +166,20 @@ CMD \
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 && \

View File

@ -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

View File

@ -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

View File

@ -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

Binary file not shown.

View 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"

View 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"

View File

@ -0,0 +1,5 @@
{
"language": "en",
"maxUserSets": 1,
"maxUserMarker": 5
}

View 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
}

View 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":[]}

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

View File

@ -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"
}]
}

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 844 B

View 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>

View 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 &#9829; pomocí <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
</p>
"""
}
}

View 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 &uarr;</kbd>/<kbd>Bild &darr;</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 &#9829; von <a href="https://bluecolo.red/bluemap">BlueMap</a> {version} generiert
</p>
"""
}
}

View 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 &#9829; using <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
</p>
"""
}
}

View 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 &#9829; usando <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
</p>
"""
}
}

View 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 &#9829; käyttäen <a href="https://bluecolo.red/bluemap">BlueMap</a> {version} -ohjelmaa
</p>
"""
}
}

View 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 &#9829; par <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
</p>
"""
}
}

View 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>
"""
}
}

View 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 &#9829; a <a href="https://bluecolo.red/bluemap">BlueMap</a> {version} segítségével lett generálva
</p>
"""
}
}

View 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 &#9829; menggunakan <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
</p>
"""
  }
}

View 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 &#9829; usando <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
</p>
"""
}
}

View 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">
このマップは&#9829;を込めて<a href="https://bluecolo.red/bluemap">BlueMap</a> {version}で生成されています
</p>
"""
}
}

View 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">
이 맵은 &#9829;을 담아 <a href="https://bluecolo.red/bluemap">BlueMap</a> {version} 을 이용해 제작되었습니다
</p>
"""
}
}

View 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 &#9829; <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
</p>
"""
}
}

View 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 &#9829; using <a href="https://bluecolo.red/bluemap">BlueMap</a>.
</p>
"""
}
}

View 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 &#9829; door <a href="https://bluecolo.red/bluemap">BlueMap</a> {version} gegenereerd
</p>
"""
}
}

View 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 &#9829; za pomocą <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}</p>
"""
}
}

View 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 &#9829; usando o <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
</p>
"""
}
}

View 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">
Эта карта сгенерирована с &#9829; <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
</p>
"""
}
}

View 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"}
]
}

View 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">
Ова мапа је генерисана са &#9829; користећи <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
</p>
"""
}
}

View 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 &#9829; koristeći <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
</p>
"""
}
}

View 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 &#9829; med hjälp av <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
</p>
"""
}
}

View 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">
แผนที่นี้ถูกสร้างขึ้นด้วย &#9829; <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
</p>
"""
}
}

View 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 &#9829; <a href="https://bluecolo.red/bluemap">BlueMap</a> {version} ile oluşturulmuştur
</p>
"""
}
}

View 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">
Цю карту було згенеровано з &#9829; використовуючи <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
</p>
"""
}
}

View 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 &#9829; với <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
</p>
"""
}
}

View 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">
本地图用 &#9829 制作,使用了 <a href="https://bluecolo.red/bluemap">BlueMap</a> {version} 程序。
</p>
"""
}
}

View 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">
此地圖是用 &#9829; 製作,地圖插件名稱是 <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
</p>
"""
}
}

View 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} 充滿愛心 &#9829 地製作而成
</p>
"""
}
}

View 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":[]}

View 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);

View 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
}

View 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
}

View 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
}

View 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

View 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

View 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

View 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"
]

View 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"
}

View File

@ -20,7 +20,7 @@ format {
# }
#
basic {
"default_format"="<dark_gray>[</dark_gray><color:#00ffff>G</color><dark_gray>]</dark_gray> %luckperms_prefix% <gray><username>: <message></gray>"
"default_format"="<dark_grey>[<color:#4cd964>Global</color>]</dark_grey> %luckperms_prefix%<white><username> <grey>></grey> <message></white>"
discord="<message>"
console="[G] <username>: <message>"
}

View File

@ -20,7 +20,7 @@ format {
# }
#
basic {
"default_format"="<dark_gray>[</dark_gray><gray>L</gray><dark_gray>]</dark_gray> %luckperms_prefix% <gray><username>: <message></gray>"
"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>"
}

View File

@ -153,10 +153,10 @@ 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'><gold>[<green><sender_display_name></green>] -> [<green>You</green>] <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>'><gold>[<green>You</green>] -> [<green><recipient_display_name></green>] <message>
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.

BIN
src/plugins/Chunky-Bukkit-1.4.40.jar (Stored with Git LFS) Normal file

Binary file not shown.

View 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/FreedomChat-Paper-1.7.0.jar (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,17 @@
# Whether FreedomChat should replace player (signed or unsigned) chat with
# system messages. This is what makes chat not reportable.
rewrite-chat: true
# Whether FreedomChat should claim to clients that secure chat is enforced.
# With this set to true, the "Chat messages can't be verified" toast will not
# be shown. This is, in default configurations, unrelated to allowing clients
# not signing their messages join. In modern versions, clients also
# require a valid access token to be present for the toast to be hidden.
# That being said, you may still see the toast even if this option is enabled.
claim-secure-chat-enforced: true
# Whether to report the server as secure (disabling chat reporting) to the
# NoChatReports client mod. This displays a green icon on the server list
# screen and if enforce-secure-profiles is disabled the open chat screen
# for users of the client-side mod.
send-prevents-chat-reports-to-client: true

View File

@ -0,0 +1,218 @@
# GrimAC main configuration
# Source code: https://github.com/MWHunter/Grim
# Copyright 2025 DefineOutside and contributors, Licensed under GPLv3.
# Modified binaries, or plugins with copied grim code, must be private,
# or with full source code available to buyers at no additional cost.
alerts:
# In addition to broadcasting alerts to players, should they also be sent to the console?
print-to-console: true
# This controls whether/how alerts are shared between servers connected to your proxy.
# You must have 'bungee-plugin-message-channel' enabled in your Velocity's configuration if Velocity is in use.
proxy:
# Should alerts be sent to other servers connected to your proxy?
send: false
# Should the alerts received from other servers be announced to this server?
receive: false
verbose:
print-to-console: false
check-for-updates: true
client-brand:
# This means it won't broadcast their brand to operators if the brand matches the following regexes
ignored-clients:
- "^vanilla$"
# - "^fabric$"
# - "^lunarclient:v\\d+\\.\\d+\\.\\d+-\\d{4}$"
# - "^Feather Fabric$"
# - "^labymod$"
spectators:
# Hide all spectators with the grim.spectator permission regardless if they are actually actively spectating
hide-regardless: false
# Will make spectators hidden only in these worlds, keep blank to allow all worlds
allowed-worlds:
- ""
# How long should players have until we kick them for timing out? Default = 60 seconds
max-transaction-time: 60
# Should the duplicate movement packet be cancelled?
# Mojang has fixed this issue in 1.21. This was their attempt to fix the "bucket desync". https://bugs.mojang.com/browse/MC-12363
# This setting only applies to 1.17-1.20.5 clients on 1.8 servers.
cancel-duplicate-packet: true
# Whether or not to ignore the rotation in duplicate packets
ignore-duplicate-packet-rotation: false
Simulation:
# How much should we multiply total advantage by when the player is legit
# This is what the default config looks like (x axis = seconds, y axis = 1/1000 block): https://www.desmos.com/calculator/d4ufgxrxer
setback-decay-multiplier: 0.999
# How large of an offset from the player's movement should we create a violation for?
# Measured in blocks from the possible movement
# We account for Optifine by switching trig tables but dropping this to 0.001 will reduce FastMath
# flagging the anticheat if this compensation doesn't work...
threshold: 0.001
# How large of a violation in a tick before the player gets immediately setback?
# -1 to disable
immediate-setback-threshold: 0.1
# How large of an advantage over all ticks before we start to setback?
# -1 to disable
max-advantage: 1
# After 50 seconds with default config, the player will go from 4 blocks -> 1 block of advantage
# This is to stop the player from gathering too many violations and never being able to clear them all
# Default advantage ceiling (x axis = seconds, y axis = 1/1000 block): https://www.desmos.com/calculator/4lovswdarj
max-ceiling: 4
# Violation level threshold for setback
# 1 for old behavior
setback-violation-threshold: 1
# Checks to see if a player entered a block during a movement
Phase:
setbackvl: 1 # Glitching into blocks can allow wall climbing, plus this check is relatively stable
decay: 0.005
AirLiquidPlace:
cancelvl: 0
FabricatedPlace:
cancelvl: 5
FarPlace:
cancelvl: 5
PositionPlace:
cancelvl: 5
RotationPlace:
cancelvl: 5
# Prediction-based no slow check
# Grim accounts for buggy netcode here... hard to false even when spamming right click and offhand button
# Much more stable than other anticheats, but please report any falses... I have fixed a ton of netcode issues here.
NoSlow:
# How much of an offset is "cheating"
# By default this is lower than other offs
# Flags by 0.03-0.2 consistently with NoSlow on
threshold: 0.001
# Setback fast on the first item to remove any advantage NoSlow gives
setbackvl: 5
# Decay's when the player uses an item AND is slowed by it
decay: 0.05
Knockback:
# How much should we multiply total advantage by when the player is legit
setback-decay-multiplier: 0.999
# How large of an offset from the player's velocity should we create a violation for?
# Measured in blocks from the possible velocity
threshold: 0.001
# How large of a violation in a tick before the player gets immediately setback?
# -1 to disable
immediate-setback-threshold: 0.1
# How large of an advantage over all ticks before we start to setback?
# -1 to disable
max-advantage: 1
# This is to stop the player from gathering too many violations and never being able to clear them all
max-ceiling: 4
Explosion:
threshold: 0.001
setbackvl: 3
TimerA:
setbackvl: 10
# Milliseconds that the player can accumulate for later use when they fall behind
# Could potentially allow 1.8 fast use/fast heal/fast bow bypasses if set too high, 120 ms seems like a good balance
drift: 120
# Ping at which the check will start to limit timer balance, to prevent abuse.
# Can cause some setbacks for legitimate players but only if they are over this ping threshold.
# -1 to disable
ping-abuse-limit-threshold: 1000
NegativeTimer:
# Number of milliseconds lost while moving before we should start flagging
drift: 1200
# Same check method as TimerA, but for vehicles
TimerVehicle:
# Target 1.005 timer
setbackvl: 10
PacketOrderI:
# enable if players are getting flagged for using 1.7 animations mods
exempt-placing-while-digging: false
Reach:
# How much should we expand hitboxes by? 0.0005 should detect 3.0005+ reach
#
# There is 0.03 forced expansion with 1.9-1.18.1 (not 1.18.2), or some client/server combinations due to
# protocol changes and limitations. This check is most powerful with 1.7/1.8 clients on 1.8 servers.
threshold: 0.0005
# Should we cancel hits that we know are impossible?
# 3.00-3.03 hits may go through but still be flagged, due to packet order limitations
block-impossible-hits: true
# This will send an additional packet at the end of every tick to increase the likelihood of catching cheats
# This injects into server's connection list to send a final packet just before the server flushes
# Enabling this will increase bandwidth usage for all players
# This will not decrease overall server performance
# Enabling this will catch more cheaters.
# Leaving this disabled will still catch cheaters and will not cause false positives
# Unless you are a 1.8 PvP focused server, this additional packet is not recommended
enable-post-packet: false
exploit:
# You can gain high speeds when sprint jumping with an elytra, this prevents the exploit when set to false
# Mojang screwed up netcode by making elytra start client sided and elytra end server sided
# Elytras take 0.99 horizontal friction, so constantly adding 0.2 horizontal speeds results in very high speeds.
allow-sprint-jumping-when-using-elytra: true
# This option mitigates the player's placement on ghostblocks by resynchronizing the player when it happens
allow-building-on-ghostblocks: true
# This setting, influenced by the boolean above defines the distance to check for ghost blocks
# Its valid range is limited from 2 to 4
distance-to-check-if-ghostblocks: 2
# Enable logging plugins who have injected into netty on join to debug compatibility issues
debug-pipeline-on-join: false
# Enables experimental checks
experimental-checks: false
reset-item-usage-on-item-update: true
reset-item-usage-on-attack: true
reset-item-usage-on-slot-change: true
# Grim sometimes cancels illegal packets such as with timer, after X packets in a second cancelled, when should
# we simply kick the player? This is required as some packet limiters don't count packets cancelled by grim.
packet-spam-threshold: 100
# Enable this to print a stacktrace when a player is kicked due to packet-spam-threshold
debug-packet-cancel: false
# Grim is able to enforce that a player set out of flying state cannot have more than X milliseconds of ping
# This is due to Grim not currently checking flying players
# To disable, use -1
max-ping-out-of-flying: 1000
# Maximum ping when a firework boost is removed from the player.
# This prevents high latency players from being able to use 1 firework boost with an elytra forever.
max-ping-firework-boost: 1000
history:
enabled: true
# How many entries should be shown for each page with /grim history <player>
entries-per-page: 15
# What should the inserted server name be for the history command? This is useful if you use the same database for multiple servers
server-name: survival
database:
# Use SQLITE for local storage, use MYSQL if you have an external MySQL database. This is only updated on server restart
type: SQLITE
# MySQL connection details
host: _GRIM_DB_HOST_
port: _GRIM_DB_PORT_
database: _GRIM_DB_NAME_
username: _GRIM_DB_USERNAME_
password: '_GRIM_DB_PASSWORD_'
config-version: 9

View File

@ -0,0 +1,12 @@
enabled: false
webhook: ""
embed-title: "**Grim Alert**"
embed-color: "#00FFFF"
violation-content:
- "**Player**: %player%"
- "**Check**: %check%"
- "**Violations**: %violations%"
- "**Client Version**: %version%"
- "**Brand**: %brand%"
- "**Ping**: %ping%"
- "**TPS**: %tps%"

View File

@ -0,0 +1,71 @@
# \u00BB is » (double >>), ANSI and UTF-8 interpret this differently... you may even see ? due to this
prefix: "&bGrim &8\u00BB"
alerts-enabled: "%prefix% &fAlerts enabled"
alerts-disabled: "%prefix% &fAlerts disabled"
verbose-enabled: "%prefix% &fVerbose enabled"
verbose-disabled: "%prefix% &fVerbose disabled"
brands-enabled: "%prefix% &fBrands enabled"
brands-disabled: "%prefix% &fBrands disabled"
client-brand-format: "%prefix% &f%player% joined using %brand%"
console-specify-target: "%prefix% &cYou must specify a target as the console!"
reloading: "%prefix% &7Reloading config..."
reloaded: "%prefix% &fConfig has been reloaded."
reload-failed: "%prefix% &cFailed to reload config."
player-not-found: "%prefix% &cPlayer is exempt or offline!"
player-not-this-server: "%prefix% &cPlayer is not on this server!"
spectate-return: "<click:run_command:/grim stopspectating><hover:show_text:\"/grim stopspectating\">\n%prefix% &fClick here to return to previous location\n</hover></click>"
cannot-spectate-return: "%prefix% &cYou can only do this after spectating a player"
cannot-run-on-self: "%prefix% &cYou cannot use this command on yourself!"
upload-log: "%prefix% &fUploaded debug to: %url%"
upload-log-start: "%prefix% &fUploading log... please wait"
upload-log-not-found: "%prefix% &cUnable to find that log"
upload-log-upload-failure: "%prefix% &cSomething went wrong while uploading this log, see console for more info"
disconnect:
timeout: "<lang:disconnect.timeout>"
closed: "<lang:disconnect.closed>"
run-as-player: "%prefix% &cThis command can only be used by players!"
run-as-player-or-console: "%prefix% &cThis command can only be used by players or the console!"
# Valid placeholders:
# %prefix%
# %player%
# %check_name%
# %description%
# %experimental%
# %vl% - violations
# %verbose% - extra information from the check such as offsets, not all checks will add information
alerts-format: "%prefix% &f%player% &bfailed &f%check_name%%experimental% &f(x&c%vl%&f) &7%verbose%"
alerts-format-proxy: "%prefix% &f[&cproxy&f] &f%player% &bfailed &f%check_name%%experimental% &f(x&c%vl%&f) &7%verbose%"
experimental-symbol: "*"
profile:
- "&7======================"
- "%prefix% &bProfile for &f%player%"
- "&bPing: &f%ping%"
- "&bVersion: &f%version%"
- "&bClient Brand: &f%brand%"
- "&bHorizontal Sensitivity: &f%h_sensitivity%%"
- "&bVertical Sensitivity: &f%v_sensitivity%%"
- "&bFastMath Enabled: &f%fast_math%"
- "&7======================"
help:
- "&7======================"
- "/grim alerts &f- &7Toggle alerts"
- "/grim brands &f- &7Toggle brands"
- "/grim profile <player> &f- &7View player info"
- "/grim help &f- &7View this help message"
- "/grim debug <player> &f- &7Developer Prediction output"
- "/grim perf &f- &7Developer ms/prediction"
- "/grim reload &f- &7Reloads the config"
- "/grim spectate <player> &f- &7Spectate a player"
- "/grim verbose &f- &7Shows every flag to you, without buffers"
- "/grim log [0-255] &f- &7Uploads a debug log for prediction flags"
- "/grim history <player> [page] &f- &7Shows previous alerts for the player"
- "&7======================"
grim-history-disabled: "%prefix% &cHistory subsystem is disabled!"
# Valid placeholders: %prefix% %player% %page% %maxPages%
grim-history-header: "%prefix% &bShowing logs for &f%player% (&f%page%&b/&f%maxPages%&f)"
# Valid placeholders: %prefix% %check% %vl% %verbose% %timeago% %server%
grim-history-entry: "%prefix% &8[&f%server%&8] &bFailed &f%check% (x&c%vl%&f) &7%verbose% (&b%timeago% ago&7)"

View File

@ -0,0 +1,143 @@
# # %check_name% - name of the check
# # %description% - description of the check
# # %vl% - violations
# # %verbose% - extra information
# # %player% - player name
# # [alert] - special command to alert
# # [webhook] - special command to alert to discord webhook
# # [proxy] - special command to alert to other servers connected to your proxy (BungeeCord/Velocity)
# Punishments:
# Simulation:
# # After how many seconds should a violation be removed?
# remove-violations-after: 300
# # This section will match all checks with the name,
# # To exclude a check that would otherwise be matched, put an exclamation mark in front of the name
# # For example, !BadPacketsN
# checks:
# - "Simulation"
# - "GroundSpoof"
# - "Timer"
# - "NoFall"
# # Threshold:Interval Command
# #
# # Example, to kick the player with the message "incorrect movement!" after 100 violations, with no interval
# # commands:
# # - "100:0 kick %player% incorrect movement!"
# # 0 means execute exactly once
# # - "100:50 say %player% is cheating"
# # Execute when the user hits flag 100, and after that, every 50th flag after 100
# #
# commands:
# - "100:40 [alert]"
# - "100:40 [log]"
# - "100:100 [webhook]"
# - "100:100 [proxy]"
# Knockback:
# remove-violations-after: 300
# checks:
# - "Knockback"
# - "Explosion"
# commands:
# - "5:5 [alert]"
# - "5:5 [log]"
# - "20:20 [webhook]"
# - "20:20 [proxy]"
# Post:
# remove-violations-after: 300
# checks:
# - "Post"
# commands:
# - "20:20 [alert]"
# - "20:20 [log]"
# - "40:40 [webhook]"
# - "40:40 [proxy]"
# BadPackets:
# remove-violations-after: 300
# checks:
# - "BadPackets"
# - "PacketOrder"
# - "Crash"
# commands:
# - "20:20 [alert]"
# - "20:20 [log]"
# - "40:40 [webhook]"
# - "40:40 [proxy]"
# Inventory:
# remove-violations-after: 300
# checks:
# - "Inventory"
# commands:
# - "10:10 [alert]"
# - "10:10 [log]"
# - "20:20 [webhook]"
# - "20:20 [proxy]"
# Reach:
# remove-violations-after: 300
# checks:
# - "Reach"
# commands:
# - "1:1 [alert]"
# - "1:1 [log]"
# - "1:1 [webhook]"
# - "1:1 [proxy]"
# Hitboxes:
# remove-violations-after: 300
# checks:
# - "Hitboxes"
# commands:
# - "5:3 [alert]"
# - "5:3 [log]"
# - "5:3 [webhook]"
# - "5:3 [proxy]"
# WallHit:
# remove-violations-after: 300
# checks:
# - "WallHit"
# commands:
# - "10:5 [alert]"
# - "10:5 [webhook]"
# - "10:5 [proxy]"
# - "10:5 [log]"
# EntityPierce:
# remove-violations-after: 300
# checks:
# - "EntityPierce"
# commands:
# - "15:10 [alert]"
# - "15:10 [webhook]"
# - "15:10 [proxy]"
# - "15:10 [log]"
# Misc:
# remove-violations-after: 300
# checks:
# - "Vehicle"
# - "NoSlow"
# - "Sprint"
# - "MultiActions"
# - "Place"
# - "Baritone"
# - "Break"
# - "TransactionOrder"
# - "Elytra"
# commands:
# - "10:5 [alert]"
# - "10:5 [log]"
# - "20:10 [webhook]"
# - "20:10 [proxy]"
# Combat:
# remove-violations-after: 300
# checks:
# - "Interact"
# - "Killaura"
# - "Aim"
# commands:
# - "20:40 [alert]"
# - "20:40 [log]"
# # As of 2.2.10, there are no AutoClicker checks and this is a placeholder. Grim will include AutoClicker checks in the future.
# Autoclicker:
# remove-violations-after: 300
# checks:
# - "Autoclicker"
# commands:
# - "20:40 [alert]"
# - "20:40 [log]"

View File

@ -0,0 +1,281 @@
#
#
# The main LibertyBans configuration
# All options here can be updated with /libertybans reload
#
#
durationPermissions:
# Which duration permissions should a staff member be checked for?
# Specify all the durations which you want to explicitly grant permission for.
permissions-to-check:
- 'perm'
- '4h'
- '30d'
- '10d'
# If disabled, players are not checked for duration permissions.
enable: false
# Formatting of absolute dates
date-formatting:
# How should dates be formatted? Follows Java's DateTimeFormatter.ofPattern
format: 'dd/MM/yyyy kk:mm'
# Do you want to override the timezone? If 'default', the system default timezone is used
# The value must be in continent/city format, such as 'America/New_York'. Uses Java's ZoneId.of
timezone: 'Europe/Kyiv'
# What language file should be used for messages?
# For example, 'en' means LibertyBans will look for a file called 'messages_en.yml'
lang-file: 'en'
# Options related to punishment enforcement and alt account checking
#
# -- Alt Account Enforcement and Checking --
# There are multiple ways to combat alt accounts in LibertyBans.
#
# First, you can have the plugin automatically detect alt accounts and prevent them from joining,
# with the same ban message. This is controlled by the 'address-strictness' setting.
#
# Second, you can tell your staff members to be on the lookout for alts. They can use
# the /alts command to manually check players they suspect are alt accounts. Also, you can
# use the alts-auto-show feature which will automatically notify staff of players who may be using alts.
#
# Third, you may use 'composite punishments', a more advanced feature which is described on the wiki.
enforcement:
# Controls the expiration of join history as used by manual alt detection.
# This allows expiring alt accounts after some time has elapsed.
#
# This setting does NOT affect enforcement of IP-based punishments.
# It applies only to the /alts command and the alts-auto-show feature.
#
# Note that this feature will not actually delete any data from the database.
alt-account-expiration:
# The expiration time, in days.
expiration-time-days: 30
# Whether to enable this feature
enable: false
#
# How strict should IP-based punishments be?
# Available options are LENIENT, NORMAL, STERN, and STRICT
#
# An IP-based punishment applies to a player if:
# LENIENT - The player's current address matches the punished address
# NORMAL - Any of the player's past addresses matches the punished address
# STERN - Any of the player's past addresses matches any of the past addresses of the punished user
#
# STRICT is the same as STERN, but also enforces user punishments as stringently as IP-based punishments.
# (Using STRICT turns all user punishments into IP-based punishments)
address-strictness: 'NORMAL'
# Limits players connecting from the same IP address.
#
# The limiter works by counting the amount of joins from a given IP address within a recent timespan.
# Thus, it is not an absolute limit, but a limit on the rate of joins.
connection-limiter:
# What is the duration within which recent joins are counted against the limit?
# The default is 30 minutes and the value is specified in seconds.
duration-seconds: 1800
# The limit to apply
limit: 5
# The message when a player is denied from joining due to the limit
denial-message: 'There have been too many connections from your IP address recently'
# Whether to enable this feature
enable: false
# Runs an alt-check on newly joined players, as if by /alts,
# the results of which will be shown to staff members with the libertybans.alts.autoshow permission.
alts-auto-show:
# Allows determining which alts will be shown by this alt-check
# (This does not affect the alts command, which will always show all alts)
# ALL_ALTS - shows all alts
# BANNED_OR_MUTED_ALTS - shows alts either banned or muted
# BANNED_ALTS - shows only banned alts
show-which-alts: 'ALL_ALTS'
# Set to true to enable this feature
enable: false
#
# A list of commands muted players will not be able to execute
#
# This list supports subcommands, which will be enforced if the executed command starts with the list entry.
# Additionally, colons in commands, such as"pluginname:cmd", cannot be used to bypass this.
mute-commands:
- 'msg'
- 'r'
- 't'
- 'w'
- 'tell'
- 'me'
- 'whisper'
- 'say'
- 'clan chat'
- 'reply'
# Options relating to finding UUIDs from names, and vice-versa
# LibertyBans will first check its own caches before using these resources
player-uuid-resolution:
#
# As a last resort, when LibertyBans cannot find a uuid or name, it will use an external web API
# Available options are 'MOJANG', 'ASHCON', and 'MCHEADS'. They will be queried sequentially in the order specified.
# (If the server is not in ONLINE mode, this option is ignored)
web-api-resolvers:
- 'MOJANG'
# By default, LibertyBans will automatically detect if you are running Geyser or Floodgate.
# The prefix will be determined using the Geyser API
#
# However, in rare cases, you may want to force LibertyBans to acknowledge the presence of Geyser usernames
# If so, set this option to the value of the prefix you use for Geyser/Floodgate.
# An empty string will revert this option to automatic detection, which requires a server restart to take effect.
force-geyser-prefix: ''
#
# What kind of UUIDs do your players have?
# Available options are ONLINE, OFFLINE, and MIXED
#
# For most servers this will be 'ONLINE'
# For offline servers where all players have offline UUIDs, use OFFLINE
# For offline servers where some players have online and some have offline UUIDs, use MIXED
server-type: 'OFFLINE'
platforms:
# Related to game servers such as Spigot, Paper, and Sponge
game-servers:
# This option is relevant for backend servers running within a network (BungeeCord or Velocity).
# It enables the use of plugin messaging, such as for:
# - Kicking the player from the entire network
# - Detecting the name of the backend server for use with server scopes
# - Synchronizing punishments across instances, depending on the mode in the sql.yml
#
# DO NOT enable this option if you do not run a network. Otherwise, you create a security vulnerability
# whereby players can pretend to be coming from a proxy, evading kicks and sending sync messages.
# After changing this option, please perform a restart (/libertybans restart).
use-plugin-messaging: false
# Related to the Sponge platform
sponge:
# Whether to register the ban service for use by other plugins.
# If enabled, LibertyBans will replace the server's default banning implementation with its own.
#
# This option is somewhat technical. For advice on whether you should configure this option,
# please ask for support.
# It is highly recommended to ask for guidance if you are unsure about this option.
#
# How this affects compatibility:
# - If disabled, the vanilla ban service will remain. Other plugins which query for bans will be
# served with information from vanilla. For example, if a player is banned through LibertyBans
# but not vanilla, then other plugins will think the player is not banned.
# - If enabled, uses of the ban service will forward to LibertyBans. Other plugins which query for bans
# will be served with accurate information from LibertyBans.
# - However, the LibertyBans ban service has limitations. It cannot issue bans, for example.
# So, if another plugin attempts to create bans using the ban service, you will receive an error.
# If you absolutely need other plugins to issue bans, you must disable this option.
#
# Note that it is impossible to import vanilla bans if you enable this option. So, if you wish to import
# from vanilla, first you need to disable this option. After importing, you may re-enable it.
register-ban-service: true
# Related to proxies such as BungeeCord and Velocity
proxies:
# Set this to true to indicate that you are running multiple proxy instances.
#
# It will instruct LibertyBans to perform additional synchronization measures, where applicable.
multiple-proxy-instances: false
# Server-scoped punishments will be enforced by preventing server switches for players connecting
# to servers on which they are banned. The server name is obtained from the proxy API
#
# This option is enabled by default for full functionality. However, it increases performance usage,
# so you may want to disable it if you do not use the scopes feature.
enforce-server-switch: true
commands:
# If this is enabled, it will be as if relevant commands used the -both argument.
# Effectively, this makes punishments more strict, since moderators will end up banning UUIDs and addresses
use-composite-victims-by-default: false
# By default, /blame shows only active punishments made by a staff member.
# If you disable this option, /blame will show all punishments, including those revoked and expired.
#
# If you use the staffrollback addon, you probably want to disable this to make /blame consistent
# with the staffrollback operation.
blame-shows-active-only: true
# By default, /history and /warns show punishments specifically for the player requested.
# Enabling this option will make /history and /warn scan punishments which would apply to the player
#
# For example, an IP ban may apply to a player, but it will not be in the player's /history unless this is enabled
show-applicable-for-history: false
# Other options relating to tab completion
# These settings require a restart (/libertybans restart) to take effect
tab-completion:
# Regards tab completing the names of players who have formerly joined
# This can be a bit heavy on memory for large servers, so it's disabled by default.
# To tune how long player names are retained for, see the retention-minutes option
offline-player-names:
# What is the period in which recently joining players' names should be completed
# If a player has joined in the last specified amount of minutes, his or her name is tab-completed
retention-minutes: 4320
# This feature is implemented using a cache. How often should the cache be refreshed?
# Shorter times mean more accurate tab completion but use slightly more performance
cache-refresh-seconds: 120
# Whether to enable this feature
enable: false
# This option is only relevant when LibertyBans is on a proxy
# If enabled, tab completion of online player names will exclude the names of players
# on different backend servers.
use-only-players-on-same-server: true
# Enables tab-completing punishment durations. For example, '30d' in '/ban A248 30d'
#
punishment-durations:
# Which duration permissions should be tab-completed?
# Specify all the durations which you want to tab complete.
#
# If duration permissions are enabled, only players who have permission to use a certain duration
# will have that duration tab-completed.
durations-to-supply:
- 'perm'
- '4h'
- '30d'
- '10d'
# Whether to enable this feature
enable: false
# Whether to enable tab completion
enable-tab-completion: true
# What commands should be registered as aliases for libertybans commands?
# For each command listed here, '/<command>' will be equal to '/libertybans <command>'
#
# This basic system is for convenience; please use a dedicated alias plugin if you need more control.
# Also, please note that command aliases are disabled on Sponge, due to command API differences.
aliases:
- 'ban'
- 'ipban'
- 'mute'
- 'ipmute'
- 'warn'
- 'ipwarn'
- 'kick'
- 'ipkick'
- 'unban'
- 'unbanip'
- 'unmute'
- 'unmuteip'
- 'unwarn'
- 'unwarnip'
- 'banlist'
- 'mutelist'
- 'history'
- 'warns'
- 'blame'
- 'alts'
- 'accounthistory'
# Handles how staff are permitted to specify reasons
reasons:
# Deprecated option kept for compatibility purposes. Ignore this.
permit-blank: false
# When entering commands, what happens if the staff member does not specify a reason?
# USE_EMPTY_REASON - Keep the reason blank, as specified.
# REQUIRE_REASON - Deny the command; send the usage message.
# SUBSTITUTE_DEFAULT - Substitute the default reason.
unspecified-reason-behavior: 'SUBSTITUTE_DEFAULT'
# If unspecified-reason-behavior is SUBSTITUTE_DEFAULT, what is the default reason to use when staff do not specify a reason?
default-reason: 'No reason stated.'

View File

@ -0,0 +1,187 @@
# Settings for importing from other plugins
# Most users should not have to touch this.
#
# In order to perform an import, run /libertybans import <source>.
# Available sources are 'advancedban', 'litebans', 'vanilla', and 'self'.
#
# Importing from vanilla is only possible on Bukkit.
# Essentials users: Note that Essentials uses the vanilla ban system.
#
# During the import, it is not needed to enable the plugin you are importing from.
#
# --- NOTICE ---
# You MUST backup your data before performing the import.
# LibertyBans will never delete your data, but taking a backup is the best practice
# whenever you are performing any large transfer of data.
#
# --- WARNING when importing from AdvancedBan and Vanilla ---
# AdvancedBan/Vanilla does not store the uuid of the operator who made a punishment.
# To work around this, LibertyBans will attempt to lookup the operator uuid. By default
# this uses the Mojang API. However, if your server sends the Mojang API too many requests,
# your server might be rate limited (which you do NOT want to happen).
# To prevent this, add another service to your web-api-resolvers, in the config.yml
# before importing.
#
#
#
#
# -- Importing from AdvancedBan --
#
# The defaults here match the default settings in AdvancedBan.
# If you use AdvancedBan's default storage, you do not need to change anything here.
#
# --- Using AdvancedBan's MySQL/MariaDB Storage ---
# However, if you use MySQL with AdvancedBan, you will need to change a few things.
# The jdbc-url should be set to 'jdbc:mariadb://<host>:<port>/<database>' with <host>,
# <port>, and <database> replaced with the correct values. The username and password
# ought to be the same username and password you used with AdvancedBan.
#
# For example: You used AdvancedBan with MySQL. Your host is localhost, your port
# is 3306, and your database name is 'bans'. You use the username 'advancedban' and
# password 'password'. You should set the jdbc-url option to
# 'jdbc:mysql://localhost:3306/bans', the username to 'advancedban', and the password to 'password'
advancedban:
jdbc-url: 'jdbc:hsqldb:file:plugins/AdvancedBan/data/storage;hsqldb.lock_file=false'
password: ''
username: 'SA'
#
#
#
# -- Importing from LiteBans --
#
# This is no easy task. The main problem is that LiteBans is a closed-source black box,
# such that no one except its author knows how the plugin works internally.
#
# However, it is still possible to import from LiteBans to LibertyBans, and this is achieved
# primarily from inspecting the generated SQL schema.
#
# --- Config Options Explained ---
# The jdbc-url depends on the storage mode you are using LiteBans with.
# - Using H2, it should be 'jdbc:h2:./plugins/LiteBans/litebans'
# - Using MySQL or MariaDB, it should be 'jdbc:mariadb://<host>:<port>/<database>' with <host>,
# <port>, and <database> replaced with the correct values.
# - Using PostgreSQL, it should be 'jdbc:postgresql://<host>:<port>/<database>' with <host>,
# <port>, and <database> replaced with the correct values.
#
# If you configured a username and password for LiteBans, you should enter the same
# username and password in this section.
#
# --- JDBC Driver Availability: If you use H2 ---
# LiteBans uses the H2 database by default. If importing from H2, you will need to install the H2 driver first.
#
# The driver is installed by adding it to the classpath. This is done by downloading the driver jar, and starting
# your server with the -cp option. The wiki has a tutorial on how to do this.
litebans:
# The same table prefix you used with LiteBans
table-prefix: 'litebans_'
# The default value here is set for H2.
jdbc-url: 'jdbc:h2:./plugins/LiteBans/litebans'
password: ''
username: ''
#
#
#
# -- Importing from BanManager (v7) --
#
# Bans, IP bans, mutes, IP mutes, warns, and kicks are supported.
#
# BanManager's IP range bans, name bans, notes, and reports are not supported. LibertyBans has no equivalent features.
#
# --- Config Options Explained ---
# The jdbc-url depends on the storage mode you are using BanManager with.
# - Using H2, it should be 'jdbc:h2:./plugins/BanManager/local-bans'
# - Using MySQL or MariaDB, it should be 'jdbc:mariadb://<host>:<port>/<database>' with <host>,
# <port>, and <database> replaced with the correct values.
#
# If you configured a username and password for BanManager, you should enter the same
# username and password in this section.
ban-manager:
# The same table prefix you used with BanManager
table-prefix: 'bm_'
# The default value here is set for H2.
jdbc-url: 'jdbc:h2:./plugins/BanManager/local-bans'
password: ''
username: ''
# How many punishments to retrieve at once from the import source.
# You may be surprised to find out your server is capable of retrieving hundreds,
# even thousands of punishments, into memory without much trouble. However,
# this is set to 250 as a reasonable conservative estimate.
retrieval-size: 250
#
#
#
# -- Importing from another LibertyBans database --
#
# NOTICE: The current database MUST be empty when the import is performed.
#
# The self-import process is different from the import process for other plugins.
# It is a direct transfer, which is why the current database must be empty. Also, punishment IDs are preserved.
#
# Self-importing may be used to switch between various database backends supported by LibertyBans.
# For example, you could transfer your data from HSQLDB to MariaDB.
#
# The settings here are used exactly as in sql.yml - in fact, they are the same settings.
self:
# Whether to reverse the direction of the self-import. If enabled, this will import TO the database
# configured here, rather than FROM it.
#
# Normally, LibertyBans will import from this database, to the current database defined in sql.yml.
# If this option is enabled, LibertyBans will import to the current database in sql.yml, from this database.
reverse-direction: false
#
# Connection timeout settings
# LibertyBans uses HikariCP for connection pooling. The following settings control connection timeouts.
timeouts:
# How long, at maximum, should LibertyBans wait when acquiring new connections, if no existing connection is available?
connection-timeout-seconds: 14
# How long, at maxium, should a connection in the pool last before having to be recreated?
# "This value should be set for MariaDB or MySQL. HikariCP notes:
# "It should be several seconds shorter than any database or infrastructure imposed connection time limit"
max-lifetime-minutes: 25
# Authentication details for remote databases: used for MariaDB, MySQL, PostgreSQL, and CockroachDB.
auth-details:
database: 'bans'
password: 'defaultpass'
user: 'defaultuser'
host: 'localhost'
port: 3306
# The values in this section only apply when using a MariaDB or MySQL database
mariadb:
# Connection properties to be applied to database connections
connection-properties:
cachePrepStmts: 'true'
useUnicode: 'true'
prepStmtCacheSqlLimit: '1024'
characterEncoding: 'UTF-8'
prepStmtCacheSize: '25'
useServerPrepStmts: 'true'
# The values in this section only apply when using a PostgreSQL or CockroachDB database
postgres:
# Connection properties to be applied to database connections
connection-properties:
preparedStatementCacheQueries: '25'
# Legacy option. Don't touch this unless you understand it or you're told to enable it.
use-traditional-jdbc-url: false
# What RDMS vendor will you be using?
# Available options:
# 'HSQLDB' - Local HyperSQL database. No additional requirements.
# 'MARIADB' - Requires an external MariaDB database. At least MariaDB 10.6 is required.
# 'MYSQL' - Requires an external MySQL database. At least MySQL 8.0 is required.
# 'POSTGRES' - Requires an external PostgreSQL database. At least PostgreSQL 12 is required.
# 'COCKROACH' - Requires an external CockroachDB database. The latest CockroachDB is required. Warning: this option is strictly experimental.
rdms-vendor: 'HSQLDB'
#
# How large should the connection pool be?
# A thread pool of similar size is derived from the connection pool size.
# For most servers, the default option is suitable.
connection-pool-size: 6

View File

@ -0,0 +1,498 @@
#
# Messages configuration
#
#
# In most cases, the variables inside the default messages are those available
# in that specific message. The exception to this is messages which are related
# to a certain punishment.
#
# When message has an associated punishment, multiple variables are available:
#
# %ID% - punishment ID number
# %TYPE% - punishment type, e.g. 'Ban'
# %TYPE_VERB% - punishment type as a verb, e.g. 'Banned'
# %VICTIM% - display name of the victim of the punishment
# %VICTIM_ID% - internal identifier of victim
# %OPERATOR% - display name of the staff member who made the punishment
# %OPERATOR_ID% - internal identifier of the operator
# %UNOPERATOR% - staff member undoing the punishment. available only when the punishment is undone
# %UNOPERATOR_ID% - internal identifier of staff member undoing the punishment
# %REASON% - reason for the punishment
# %SCOPE% - scope of the punishment
# %DURATION% - original duration (how long the punishment was made for)
# %START_DATE% - the date the punishment was created
# %TIME_PASSED% - the time since the punishment was created
# %TIME_PASSED_SIMPLE% - the time since the punishment was created, rounded to the biggest time unit possible (e.g. 2 months instead of 1 month 23 days)
# %END_DATE% - the date the punishment will end, or formatting.permanent-display.absolute for permanent punishments
# %TIME_REMAINING% - the time until the punishment ends, or formatting.permanent-display.relative for permanent punishments
# %TIME_REMAINING_SIMPLE% - the time until the punishment ends, rounded to the biggest time unit possible (e.g. 10 days instead of 9 days 13 hours)
# %HAS_EXPIRED% - Shows if a punishments duration has run out. Does not check if the punishment is revoked!
# %TRACK% - the escalation track of the punishment, for example if you are using layouts
# %TRACK_ID% - the ID of the escalation track
# %TRACK_NAMESPACE% - the namespace of a track can be used by other plugins to implement their own layouts
#
# The following variables have limited availability:
# %TARGET% - the original target argument of a command. For example, in '/ipban Player1', %TARGET% is Player1
# %NEXTPAGE% - the number of the next page of a list like history
# %PREVIOUSPAGE% - the number of the previous page of a list like history
#
#
# Configuration for the /accounthistory command
account-history:
# Regards /accounthistory list <user>
listing:
none-found: '&7No recorded accounts found'
usage: '&cUsage: /accounthistory list <user|ip>'
# How a single recorded account should be displayed
# Available variables:
# %TARGET% - the original input to the command
# %USERNAME% - the username the player connected with
# %ADDRESS% - the address the player connected with
# %DATE_RECORDED% - the date the join was recorded
# %DATE_RECORDED_RAW% - the raw timestamp the join was recorded
layout: '%USERNAME% &7(on %ADDRESS%) at %DATE_RECORDED% (%DATE_RECORDED_RAW%)||ttp:&7Click to delete this stored account||cmd:/accounthistory delete %TARGET% %DATE_RECORDED_RAW%'
# The message to display before the account listing. Set to an empty string to disable
header: '&7Known accounts report for &c&o%TARGET%&7 follows.'
permission: '&cYou may not list recorded accounts.'
usage: '&cUsage: /accounthistory <delete|list>'
# Pertains to /accounthistory delete <user> <timestamp>
delete:
no-such-account: '&c%TARGET% has no recorded account for the specified timestamp.'
usage:
- '&cUsage: /accounthistory delete <user> <timestamp>.&f'
- '&7The timestamp is in unix seconds and is usually obtained from /accounthistory list'
permission: '&cYou may not delete recorded accounts.'
success: '&7Successfully deleted the recorded account of &e%TARGET%'
#
# Messages regarding /ban, /mute, /warn, /kick
# Includes punishment layouts
#
#
additions:
mutes:
success:
message: '&aMuted &c&o%VICTIM%&a for &o%DURATION%&r&a because of &e&o%REASON%&a.'
notification: '&c&o%OPERATOR%&7 muted &c&o%VICTIM%&7 for &a&o%DURATION%&7 because of &e&o%REASON%&7.'
exempted: '&c&o%TARGET%&7 cannot be muted.'
conflicting: '&c&o%TARGET%&7 is already muted.'
usage: '&cUsage: /mute &e<player> [time] <reason>&c.'
layout:
- '&7&lMuted&f'
- '&cDuration: &e%TIME_REMAINING%&f'
- ''
- '&c&lReason&f'
- '&7%REASON%'
permission:
duration: '&cYou may not do this for &e%DURATION%&c.'
both: '&cYou may not do this to players and their IP addresses.'
uuid: '&cYou may not do this to players.'
ip-address: '&cYou may not do this to IP addresses.'
kicks:
success:
message: '&aKicked &c&o%VICTIM%&a because of &e&o%REASON%&a.'
notification: '&c&o%OPERATOR%&7 kicked &c&o%VICTIM%&7 because of &e&o%REASON%&7.'
must-be-online: '&c&o%TARGET%&7 must be online.'
exempted: '&c&o%TARGET%&7 cannot be kicked.'
usage: '&cUsage: /kick &e<player> <reason>&c.'
layout:
- '&7&lKicked&f'
- ''
- '&c&lReason&f'
- '&7%REASON%'
permission:
both: '&cYou may not do this to players and their IP addresses.'
uuid: '&cYou may not do this to players.'
ip-address: '&cYou may not do this to IP addresses.'
warns:
success:
message: '&aWarned &c&o%VICTIM%&a for &o%DURATION%&r&a because of &e&o%REASON%&a.'
notification: '&c&o%OPERATOR%&7 warned &c&o%VICTIM%&7 for &a&o%DURATION%&7 because of &e&o%REASON%&7.'
exempted: '&c&o%TARGET%&7 cannot be warned.'
usage: '&cUsage: /warn &e<player> [time] <reason>&c.'
layout:
- '&7&lWarned&f'
- '&cDuration: &e%TIME_REMAINING%&f'
- ''
- '&c&lReason&f'
- '&7%REASON%'
permission:
duration: '&cYou may not do this for &e%DURATION%&c.'
both: '&cYou may not do this to players and their IP addresses.'
uuid: '&cYou may not do this to players.'
ip-address: '&cYou may not do this to IP addresses.'
bans:
success:
message: '&aBanned &c&o%VICTIM%&a for &o%DURATION%&r&a because of &e&o%REASON%&a.'
notification: '&c&o%OPERATOR%&7 banned &c&o%VICTIM%&7 for &a&o%DURATION%&7 because of &e&o%REASON%&7.'
exempted: '&c&o%TARGET%&7 cannot be banned.'
conflicting: '&c&o%TARGET%&7 is already banned.'
usage: '&cUsage: /ban &e<player> [time] <reason>&c.'
layout:
- '&7&lBanned&f'
- '&cDuration: &e%TIME_REMAINING%&f'
- ''
- '&c&lReason&f'
- '&7%REASON%&f'
- ''
- '&3&lAppeal Your Punishment&f'
- '&cWebsite: &7https://bebrashield.net&f'
- '&cDiscord: &7https://discord.gg/xsyy7d8RfG'
permission:
duration: '&cYou may not do this for &e%DURATION%&c.'
both: '&cYou may not do this to players and their IP addresses.'
uuid: '&cYou may not do this to players.'
ip-address: '&cYou may not do this to IP addresses.'
# Messages for alt-checks and alt account notifications
#
# Before configuring this section, it is necessary to look at the address-enforcement
# settings in the main config.yml and understand the different kinds of alt detection.
# There is normal and strict detection.
alts:
auto-show:
# The message to display atop the alt check. Set to an empty string to disable
header:
- '&c&o%TARGET%&7 may be an alt account. Report follows.&f'
- '&7Strong possibility - Same address as banned player.&f'
- '&7Mere possibility - Linked to banned player by common past address'
formatting:
# In the alt-check layout, the username of the alt may be formatted depending upon whether it is banned
# For example, the usernames of banned alts may be colored red whereas alts not banned are green
# Variables: %USERNAME%
name-display:
not-punished: '&o%USERNAME%'
muted: '&e&o%USERNAME%'
banned: '&c&o%USERNAME%'
# The description for an alt account detected by strict detection.
strict: '&eMere possibility'
# How a single detected alt should be displayed
# Available variables:
# %DETECTION_KIND% - how the account was detected. Will be replaced by the normal or strict options.
# %ADDRESS% - the address in question which led to the detection
# %RELEVANT_USER% - the username of the other account, formatted according to the name-display option
# %RELEVANT_USERID% - the uuid of the other account
# %DATE_RECORDED% - the date the alt account was recorded
layout: '%RELEVANT_USER% &7(per %ADDRESS%) at %DATE_RECORDED% - %DETECTION_KIND%'
# The description for an alt account detected by normal detection.
normal: '&cStrong possibility'
# Regarding the /alts command
command:
none-found: '&7No alt accounts found'
usage: '&cUsage: /alts &e<player>&c.'
# The message to display atop the alt check. Set to an empty string to disable
header:
- '&7Alt account report for &c&o%TARGET%&7 follows.&f'
- '&7Strong possibility - Same address as banned player.&f'
- '&7Mere possibility - Linked to banned player by common past address'
permission: '&cYou may not check alts.'
# Used for /banlist, /mutelist, /history, /warns, /blame
lists:
ban-list:
perPage: 10
noPages: '&7There are no active bans.'
maxPages: '&7Page &e%PAGE%&7 does not exist.'
permission:
command: '&7You may not view the banlist.'
layout:
header:
- '&7[&eID&7] &e&oSubject&f'
- '&7Operator &8/ &7Reason &8/ &7Time Remaining&f'
body:
- '&7[&e%ID%&7] &e&o%VICTIM%&f'
- '&7%OPERATOR% &8/ &7%REASON% &8/ &7%TIME_REMAINING%&f'
footer: '&7Page &e%PAGE%&7.||ttp:Click for next page||cmd:/libertybans banlist %NEXTPAGE%'
usage: '&cUsage: /banlist &e[page]'
mute-list:
perPage: 10
noPages: '&7There are no active mutes.'
maxPages: '&7Page &e%PAGE%&7 does not exist.'
permission:
command: '&7You may not view the mutelist.'
layout:
header:
- '&7[&eID&7] &e&oSubject&f'
- '&7Operator &8/ &7Reason &8/ &7Time Remaining&f'
body:
- '&7[&e%ID%&7] &e&o%VICTIM%&f'
- '&7%OPERATOR% &8/ &7%REASON% &8/ &7%TIME_REMAINING%&f'
footer: '&7Page &e%PAGE%&7.||ttp:Click for next page||cmd:/libertybans mutelist %NEXTPAGE%'
usage: '&cUsage: /mutelist &e[page]'
warns:
perPage: 10
noPages: '&c&o%TARGET%&7 has no warns.'
maxPages: '&7Page &e%PAGE%&7 does not exist.'
permission:
command: '&7You may not view warns.'
layout:
header: '&7[&eID&7] Operator &8/ &7Reason &8/ &7Time Remaining&f'
body: '&7[&e%ID%&7] %OPERATOR% &8/ &7%REASON% &8/ &7%TIME_REMAINING%&f'
footer: '&7Page &e%PAGE%&7.||ttp:Click for next page||cmd:/libertybans warns %TARGET% %NEXTPAGE%'
usage: '&cUsage: /warns &e<player> [page]'
blame:
perPage: 10
noPages: '&c&o%TARGET%&7 has not punished any players.'
maxPages: '&7Page &e%PAGE%&7 does not exist.'
permission:
command: '&7You may not use blame.'
layout:
header:
- '&7[&eID&7] &e&oSubject &8/ &7Punishment Type&f'
- '&7Reason &8/ &7Date Enacted&f'
body:
- '&7[&e%ID%&7] &e&o%VICTIM% &8 / &7%TYPE%&f'
- '&7%REASON% &8/ &7%START_DATE%&f'
footer: '&7Page &e%PAGE%&7.||ttp:Click for next page||cmd:/libertybans warns %TARGET% %NEXTPAGE%'
usage: '&cUsage: /blame &e<player> [page]'
history:
perPage: 10
noPages: '&c&o%TARGET%&7 has no history.'
maxPages: '&7Page &e%PAGE%&7 does not exist.'
permission:
command: '&7You may not view history.'
layout:
header:
- '&7[&eID&7] &8/ &7Punishment Type&f'
- '&7Operator &8/ &7Reason &8/ &7Date Enacted&f'
body:
- '&7[&e%ID%&7] / %TYPE%&f'
- '&7%OPERATOR% &8/ &7%REASON% &8/ &7%START_DATE%&f'
footer: '&7Page &e%PAGE%&7.||ttp:Click for next page||cmd:/libertybans history %TARGET% %NEXTPAGE%'
usage: '&cUsage: /history &e<player> [page]'
# Specific formatting options
formatting:
# There are 2 ways to make permanent punishments. The first is to not specify a time (/ban <player> <reason>).
# The second is to specify a permanent amount of time (/ban <player> perm <reason>).
# When typing commands, what time arguments will be counted as permanent?
permanent-arguments:
- 'perm'
- 'permanent'
- 'permanently'
# How should 'permanent' be displayed as a length of time?
permanent-display:
# What do you call a permanent duration?
duration: 'Infinite'
# When does a permanent punishment end?
absolute: 'Never'
# How do you describe the time remaining in a permanent punishment?
relative: 'Permanent'
# When there is no more time remaining in a punishment (the punishment has expired),
# this becomes the value of the %TIME_REMAINING% variable
no-time-remaining-display: 'N/A'
# How should the %HAS_EXPIRED% variable be displayed?
punishment-expired-display:
# How do you describe a punishment which is not expired?
not-expired: 'Not expired'
# How do you describe an expired punishment?
expired: 'Expired'
# Controls how the %TRACK%, %TRACK_ID%, and %TRACK_NAMESPACE% variables are displayed
track-display:
# How do you describe the lack of an escalation track?
# The value will be displayed for the %TRACK% variable
no-track: 'No track'
# How do you describe the lack of an escalation track with respect to its ID?
# The value will be displayed for the %TRACK_ID% variable
no-track-id: 'No track ID'
# How do you describe the lack of an escalation track with respect to its namespace?
# The value will be displayed for the %TRACK_NAMESPACE% variable
no-track-namespace: '(none)'
# You may wish to override the track display names. Normally the track ID is displayed,
# which is lowercase and stored in the database. If you want a different name to be displayed
# for the track, write it here.
#
# This option affects the %TRACK% variable but not the %TRACK_ID% variable.
track-display-names:
spam: 'Spamming'
hacking: 'Hacking'
# How should the console be displayed?
console-display: 'Console'
# When using /blame, how should the console be specified?
console-arguments:
- 'console'
# How should punishment types be displayed?
punishment-type-display:
WARN: 'Warn'
KICK: 'Kick'
BAN: 'Ban'
MUTE: 'Mute'
# How should punishment types be displayed as a verb? Used for the %TYPE_VERB% variable.
punishment-type-verb-display:
WARN: 'Warned'
KICK: 'Kicked'
BAN: 'Banned'
MUTE: 'Muted'
# How should the global scope be displayed?
global-scope-display: 'All servers'
# Controls how victims are displayed
victim-display:
# In rare cases, you may have punishments for a user whose name is unknown. This can happen because
# users are punished by UUID, but on some configurations it is not possible to lookup player names.
# When this occurs, the following text is used instead of the player name.
player-name-unknown: '-NameUnknown-'
# Whether to censor IP addresses for players without the libertybans.admin.viewips permission
censor-ip-addresses: false
# The substitute text when an IP address cannot be viewed because the user lacks permission
censored-ip-address: '<censored IP address>'
misc:
unknown-error: '&cAn unknown error occurred.'
# Only applicable if synchronous enforcement strategy is DENY in the main config
sync-chat-denial-message: '&cSynchronous chat denied. &7Please try again.'
# Concerns formatting of relative times and durations
time:
# Times are formatted to seconds accuracy, but you may not want to display seconds
# for most times. However, for very small durations, you need to display a value in seconds.
# If you are using SECONDS in the above section, this value is meaningless.
fallback-seconds: '%VALUE% seconds'
grammar:
# If enabled, places commas after each time fragment, except the last one
comma: true
# What should come before the last fragment? Set to empty text to disable
and: 'and '
fragments:
MINUTES: '%VALUE% minutes'
MONTHS: '%VALUE% months'
DAYS: '%VALUE% days'
HOURS: '%VALUE% hours'
YEARS: '%VALUE% years'
WEEKS: '%VALUE% weeks'
# Regards /unban, /unmute, /unwarn
removals:
mutes:
success:
message: '&7Unmuted &c&o%VICTIM%&7.'
notification: '&c&o%UNOPERATOR%&7 unmuted &c&o%VICTIM%&7.'
not-found: '&c&o%TARGET%&7 is not muted.'
usage: '&cUsage: /unmute &e<player>&c.'
permission:
both: '&cYou may not do this to players and their IP addresses.'
uuid: '&cYou may not do this to players.'
ip-address: '&cYou may not do this to IP addresses.'
warns:
not-a-number: '&c&o%ID_ARG%&7 is not a number.'
success:
message: '&7Unwarned &c&o%VICTIM%&7.'
notification: '&c&o%UNOPERATOR%&7 unwarned &c&o%VICTIM%&7.'
not-found: '&c&o%TARGET%&7 does not have a warn by &c&o%ID%&7.'
usage: '&cUsage: /unwarn &e<player> <id>&c.'
permission:
both: '&cYou may not do this to players and their IP addresses.'
uuid: '&cYou may not do this to players.'
ip-address: '&cYou may not do this to IP addresses.'
bans:
success:
message: '&7Unbanned &c&o%VICTIM%&7.'
notification: '&c&o%UNOPERATOR%&7 unbanned &c&o%VICTIM%&7.'
not-found: '&c&o%TARGET%&7 is not banned.'
usage: '&cUsage: /unban &e<player>&c.'
permission:
both: '&cYou may not do this to players and their IP addresses.'
uuid: '&cYou may not do this to players.'
ip-address: '&cYou may not do this to IP addresses.'
admin:
ellipses: '&a...'
reloaded: '&aReloaded'
reload-failed: '&cAn error occurred reloading the configuration. Please check the server console.'
restarted: '&aRestarted'
addons:
reload-addon:
does-not-exist: '&cThat addon does not exist.'
failed: '&cAn error occurred reloading addon configuration. Please check the server console.'
usage: '&cUsage: /libertybans addon reload <addon>. To reload all addons, /libertybans reload will suffice.'
success: '&aReloaded addon &e%ADDON%&a.'
listing:
message: '&b&lAddons Installed'
layout: '&7- %ADDON%'
usage: '&cUsage: /libertybans addon <list|reload>'
no-permission: '&cSorry, you cannot use this.'
importing:
# To prevent mistakes, it is not allowed to import multiple times at once.
in-progress: '&cThere is already an import in progress.'
usage: '&cUsage: /libertybans import <advancedban|litebans|vanilla|self>'
failure: '&cImport failed. View the server console for details.'
started: '&7Import has started. View your server console for details and progress.'
complete: '&7Import completed.'
all:
# If a player types /libertybans but does not have the permission 'libertybans.commands', this is the denial message
base-permission-message: '&cYou may not use this.'
prefix:
# The prefix to use
value: '&6&lLibertyBans &8»&7 '
# If enabled, all messages will be prefixed
enable: true
# This section is only relevant if using the server scopes feature
scopes:
no-permission-for-default: '&cYou may not use this command without specifying a scope.'
no-permission: '&cYou may not use scope &e%SCOPE%&c.'
invalid: '&cInvalid scope specified: &e%SCOPE_ARG%&c.'
# When issuing commands, if the specified player or IP was not found, what should the error message be?
not-found:
player-or-address: '&c&o%TARGET%&7 was not found online or offline, and is not a valid IP address.'
uuid: '&c&o%TARGET%&7 is not a valid uuid.'
player: '&c&o%TARGET%&7 was not found online or offline.'
usage: '&cUnknown sub command. Displaying usage:'

View File

@ -0,0 +1,438 @@
#
# Messages configuration
#
#
# In most cases, the variables inside the default messages are those available
# in that specific message. The exception to this is messages which are related
# to a certain punishment.
#
# When message has an associated punishment, multiple variables are available:
#
# %ID% - punishment ID number
# %TYPE% - punishment type, e.g. 'Ban'
# %TYPE_VERB% - punishment type as a verb, e.g. 'Banned'
# %VICTIM% - display name of the victim of the punishment
# %VICTIM_ID% - internal identifier of victim
# %OPERATOR% - display name of the staff member who made the punishment
# %OPERATOR_ID% - internal identifier of the operator
# %UNOPERATOR% - staff member undoing the punishment. available only when the punishment is undone
# %UNOPERATOR_ID% - internal identifier of staff member undoing the punishment
# %REASON% - reason for the punishment
# %SCOPE% - scope of the punishment
# %DURATION% - original duration (how long the punishment was made for)
# %START_DATE% - the date the punishment was created
# %TIME_PASSED% - the time since the punishment was created
# %TIME_PASSED_SIMPLE% - the time since the punishment was created, rounded to the biggest time unit possible (e.g. 2 months instead of 1 month 23 days)
# %END_DATE% - the date the punishment will end, or formatting.permanent-display.absolute for permanent punishments
# %TIME_REMAINING% - the time until the punishment ends, or formatting.permanent-display.relative for permanent punishments
# %TIME_REMAINING_SIMPLE% - the time until the punishment ends, rounded to the biggest time unit possible (e.g. 10 days instead of 9 days 13 hours)
# %HAS_EXPIRED% - Shows if a punishments duration has run out. Does not check if the punishment is revoked!
#
# The following variables have limited availability:
# %TARGET% - the original target argument of a command. For example, in '/ipban Player1', %TARGET% is Player1
# %NEXTPAGE% - the number of the next page of a list like history
# %PREVIOUSPAGE% - the number of the previous page of a list like history
#
#
# Used for /banlist, /mutelist, /history, /warns, /blame
lists:
warns:
perPage: 10
noPages: '&c&o У %TARGET%&7 нету варнов.'
maxPages: '&7Страницы &e%PAGE%&7 не существует.'
permission:
command: '&7У вас нету прав использовать эту команду.'
layout:
header: '&7[&eID&7] Обвиняющий &8/ &7Причина &8/ &7До снятия'
body: '&7[&e%ID%&7] %OPERATOR% &8/ &7%REASON% &8/ &7%TIME_REMAINING%'
footer: '&7Страница &e%PAGE%&7.||ttp:Следующая страница||cmd:/libertybans warns %TARGET% %NEXTPAGE%'
usage: '&cИспользование: /warns &e<игрок> [страница]'
blame:
perPage: 10
noPages: '&c&o%TARGET%&7 не наказывал игроков.'
maxPages: '&7Страницы &e%PAGE%&7 не существует.'
permission:
command: '&7У вас нету права использовать эту команду.'
layout:
header:
- '&7[&eID&7] &e&oНаказуемый &8/ &7Вид наказания&f'
- 'Причина &8/ &7Дата принятия'
body:
- '&7[&e%ID%&7] &e&o%VICTIM% &8 / &7%TYPE%&f'
- '%REASON% &8/ &7%START_DATE%'
footer: '&7Страница &e%PAGE%&7.||ttp:Следующая страница||cmd:/libertybans warns %TARGET% %NEXTPAGE%'
usage: '&cИспользование: /blame &e<игрок> [страница]'
ban-list:
perPage: 10
noPages: '&7Нету активных банов.'
maxPages: '&7Страницы &e%PAGE%&7 не существует.'
permission:
command: '&7У вас нету права на использование этой команды.'
layout:
header:
- '&7[&eID&7] &e&oНаказуемый&f'
- '&7Обвиняющий &8/ &7Причина &8/ &7Осталось времени'
body:
- '&7[&e%ID%&7] &e&o%VICTIM%&f'
- '&7%OPERATOR% &8/ &7%REASON% &8/ &7%TIME_REMAINING%'
footer: '&7Страница &e%PAGE%&7.||ttp:Следующая страница||cmd:/libertybans banlist %NEXTPAGE%'
usage: '&cИспользование: /banlist &e[страница]'
mute-list:
perPage: 10
noPages: '&7Нету активных мутов.'
maxPages: '&7Страницы &e%PAGE%&7 не существует.'
permission:
command: '&7У вас нету права на эту команду'
layout:
header:
- '&7[&eID&7] &e&oНаказуемый&f'
- '&7Обвиняющий &8/ &7Причина &8/ &7Осталось времени'
body:
- '&7[&e%ID%&7] &e&o%VICTIM%&f'
- '&7%OPERATOR% &8/ &7%REASON% &8/ &7%TIME_REMAINING%'
footer: '&7Страница &e%PAGE%&7.||ttp:Следующая страница||cmd:/libertybans mutelist %NEXTPAGE%'
usage: '&cИспользование: /mutelist &e[страница]'
history:
perPage: 10
noPages: '&c&o%TARGET%&7 чист.'
maxPages: '&7Страницы &e%PAGE%&7 не существует.'
permission:
command: '&7У вас нету права на использование данной команды.'
layout:
header:
- '&7[&eID&7] &8/ &7Вид наказания&f'
- 'Обвиняющий &8/ &7Причина &8/ &7Дата'
body:
- '&7[&e%ID%&7] / %TYPE%&f'
- '%OPERATOR% &8/ &7%REASON% &8/ &7%START_DATE%'
footer: '&7Страница &e%PAGE%&7.||ttp:Следуюшая страница||cmd:/libertybans history %TARGET% %NEXTPAGE%'
usage: '&cИспользование: /history &e<игрок> [страница]'
all:
# When issuing commands, if the specified player or IP was not found, what should the error message be?
not-found:
player-or-address: '&c&o%TARGET%&7 не был/было найден(o).'
uuid: '&c&o%TARGET%&7 - неправильный формат uuid.'
player: '&c&o%TARGET%&7 не был найден.'
# If a player types /libertybans but does not have the permission 'libertybans.commands', this is the denial message
base-permission-message: '&cТы уверен, что оно тебе нужно? К слову, права на эту команду у тебя нет.'
prefix:
# If enabled, all messages will be prefixed
enable: true
# The prefix to use
value: '&6&lLibertyBans &8»&7 '
usage: '&cНеизвестная подкоманда. Может ты имел ввиду это?'
#
# Messages regarding /ban, /mute, /warn, /kick
# Includes punishment layouts
#
#
additions:
warns:
success:
notification: '&c&o%OPERATOR%&7 выдал варн &c&o%VICTIM%&7 на &a&o%DURATION%&7 по причине &e&o%REASON%&7.'
message: '&c&o%VICTIM%&a получил варн на &o%DURATION%&r&a по причине &e&o%REASON%&a.'
usage: '&cИспользование: /warn &e<игрок> [время] <причина>&c.'
layout:
- '&7&lВы получили варн!&f'
- '&cДлительность: &e%TIME_REMAINING%&f'
- ''
- '&cПричина:&f'
- '&7%REASON%'
permission:
duration: '&cВам нельзя варнить игроков на &e%DURATION%&c.'
both: '&cYou may not do this to players and their IP addresses.'
uuid: '&cВам нельзя варнить других игроков.'
ip-address: '&cВам нельзя варнить по ip-адресу.'
kicks:
success:
notification: '&c&o%OPERATOR%&7 кикнул &c&o%VICTIM%&7 по причине &e&o%REASON%&7.'
message: '&c&o%VICTIM%&a был кикнут по причине &e&o%REASON%&a.'
must-be-online: '&c&o%TARGET%&7 must be online.'
usage: '&cИспользование: /kick &e<игрок> <причина>&c.'
layout:
- '&7&lВас кикнули!&f'
- ''
- '&cПричина:&f'
- '&7%REASON%'
permission:
both: '&cВам нельзя кикать игроков.'
uuid: '&cВам нельзя кикать игроков по uuid/нику.'
ip-address: '&cВам нельзя кикать по ip-адресу.'
bans:
conflicting: '&c&o%TARGET%&7 уже заблокирован.'
success:
notification: '&c&o%OPERATOR%&7 заблокировал &c&o%VICTIM%&7 на &a&o%DURATION%&7 по причине &e&o%REASON%&7.'
message: '&c&o%VICTIM%&a заблокирован на &o%DURATION%&r&a по причине &e&o%REASON%&a.'
usage: '&cИспользование: /ban &e<игрок> [длительность] <причина>&c.'
layout:
- '&7&lВы заблокированы на этом сервере.&f'
- '&cДлительность бана: &e%TIME_REMAINING%&f'
- ''
- '&cПричина&f'
- '&7%REASON%&f'
- ''
- '&3По поводу разбана пишите в тех.поддержку:&f'
- '&cwww.support.com'
permission:
duration: '&cТебе нельзя банить на &e%DURATION%&c.'
both: '&cВы не можете блокировать игроков.'
uuid: '&cВы не можете банить игроков по uuid/нику.'
ip-address: '&cВы не можете банить игроков по ip!.'
mutes:
conflicting: '&c&o%TARGET%&7 уже заглушён.'
success:
notification: '&c&o%OPERATOR%&7 заглушил &c&o%VICTIM%&7 на &a&o%DURATION%&7 по причине &e&o%REASON%&7.'
message: '&c&o%VICTIM%&a заглушён на &o%DURATION%&r&a по причине &e&o%REASON%&a.'
usage: '&cИспользование: /mute &e<игрок> [длительность] <причина>&c.'
layout:
- '&7&lВы получили мут!&f'
- '&cДлительность: &e%TIME_REMAINING%&f'
- ''
- '&cПричина:&f'
- '&7%REASON%'
permission:
duration: '&cВам нельзя мутить на &e%DURATION%&c.'
both: '&cВы не можете мутить игроков.'
uuid: '&cВы не можете мутить игроков по uuid/нику.'
ip-address: '&cВы не можете мутить игроков по ip-адресу.'
# Regards /unban, /unmute, /unwarn
removals:
warns:
success:
notification: '&c&o%UNOPERATOR%&7 снял предупреждение с &c&o%VICTIM%&7.'
message: '&7C &c&o%VICTIM% &7снято предупреждение.'
not-found: 'У &c&o%TARGET%&7 нету предупреждений с id &c&o%ID%&7.'
not-a-number: '&c&o%ID_ARG%&7 не является номером.'
usage: '&cИспользование: /unwarn &e<игрок> <id>&c.'
permission:
both: '&cВы не можете снимать предупреждения.'
uuid: '&cВы не можете снимать предупрежедния по uuid/нику.'
ip-address: '&cВы не можете снимать предупреждения по ip-адресу.'
bans:
success:
notification: '&c&o%UNOPERATOR%&7 разбанил &c&o%VICTIM%&7.'
message: '&7Снят бан с аккаунта &c&o%VICTIM%&7.'
not-found: '&c&o%TARGET%&7 не заблокирован.'
usage: '&cИспользование: /unban &e<игрок>&c.'
permission:
both: '&cВы не можете разбанивать игроков..'
uuid: '&cВы не можете разбанивать игроков по uuid/нику.'
ip-address: '&cВы не можете разбанивать игроков по ip-адресу.'
mutes:
success:
notification: '&c&o%UNOPERATOR%&7 размутил &c&o%VICTIM%&7.'
message: '&7С &c&o%VICTIM%&7 снят мут.'
not-found: '&c У &o%TARGET%&7 нету мута.'
usage: '&cИспользование: /unmute &e<игрок>&c.'
permission:
both: '&cYou may not do this to players and their IP addresses.'
uuid: '&cВам нельзя размучивать других игроков.'
ip-address: '&cВам нельзя размучивать по ip-адрессу.'
# Specific formatting options
formatting:
# When using /blame, how should the console be specified?
console-arguments:
- 'console'
# How should 'permanent' be displayed as a length of time?
permanent-display:
# When does a permanent punishment end?
absolute: 'Никогда'
# What do you call a permanent duration?
duration: 'Бесконечное'
# How do you describe the time remaining in a permanent punishment?
relative: 'Навеки вечные'
# When there is no more time remaining in a punishment (the punishment has expired),
# this becomes the value of the %TIME_REMAINING% variable
no-time-remaining-display: 'N/A'
# How should the %HAS_EXPIRED% variable be displayed?
punishment-expired-display:
# How do you describe an expired punishment?
expired: 'Более неактивен'
# How do you describe a punishment which is not expired?
not-expired: 'Активен'
# How should the console be displayed?
console-display: 'Консоль'
# How should punishment types be displayed?
punishment-type-display:
WARN: 'Предупрежедние'
MUTE: 'Мут'
KICK: 'Кик'
BAN: 'Бан'
# How should punishment types be displayed as a verb? Used for the %TYPE_VERB% variable.
punishment-type-verb-display:
WARN: 'Предупрежден'
KICK: 'Кикнут'
MUTE: 'Заглушен'
BAN: 'Заблокирован'
# How should the global scope be displayed?
global-scope-display: 'Все сервера'
# There are 2 ways to make permanent punishments. The first is to not specify a time (/ban <player> <reason>).
# The second is to specify a permanent amount of time (/ban <player> perm <reason>).
# When typing commands, what time arguments will be counted as permanent?
permanent-arguments:
- 'perm'
- 'permanent'
- 'permanently'
misc:
# Concerns formatting of relative times and durations
time:
grammar:
# What should come before the last fragment? Set to empty text to disable
and: 'и '
# If enabled, places commas after each time fragment, except the last one
comma: true
# Times are formatted to seconds accuracy, but you may not want to display seconds
# for most times. However, for very small durations, you need to display a value in seconds.
# If you are using SECONDS in the above section, this value is meaningless.
fallback-seconds: '%VALUE% секунд(ы)'
fragments:
MONTHS: '%VALUE% месяцев'
MINUTES: '%VALUE% минут(ы)'
WEEKS: '%VALUE% недель'
HOURS: '%VALUE% час(а/ов)'
DAYS: '%VALUE% дней'
YEARS: '%VALUE% лет'
unknown-error: '&cПроизошла неизвестная ошибка.'
# Only applicable if synchronous enforcement strategy is DENY in the main config
sync-chat-denial-message: '&cСинхронный чат отключён. &7Попробуйте еще раз позже.'
admin:
importing:
failure: '&cИмпорт данных завершился! Больше информации в консоли.'
started: '&7Импорт данных закончился неудачей. Больше информации в консоли.'
complete: '&7Импорт данных успешно завершён.'
# To prevent mistakes, it is not allowed to import multiple times at once.
in-progress: '&cИмпорт данных уже запущен! Пожалуйста, дождитесь его окончания.'
usage: '&cИспользование: /libertybans import <advancedban|litebans|vanilla>'
ellipses: '&a...'
reloaded: '&aПерезагружено'
restarted: '&aПерезапущено'
no-permission: '&Извините, но вам не дозволено использовать это.'
# Messages for alt-checks and alt account notifications
#
# Before configuring this section, it is necessary to look at the address-enforcement
# settings in the main config.yml and understand the different kinds of alt detection.
# There is normal and strict detection.
alts:
# Regarding the /alts command
command:
# The message to display atop the alt check. Set to an empty string to disable
header:
- '&7Возможные фейковые аккаунты игрока &c&o%TARGET%&f'
- '&7Большая вероятность - У игрока тот же адресс, что и у заблокированного игрока.&f'
- '&7Небольшая вероятность - У игроков один и тот же предыдущий адрес.'
permission: '&cВам не дозволено проверять твинки.'
none-found: '&7Не найдено фейковых аккаунтов.'
usage: '&cИспользование: /alts &e<игрок>&c.'
formatting:
# The description for an alt account detected by strict detection.
strict: '&eНебольшая вероятность'
# The description for an alt account detected by normal detection.
normal: '&cБольшая вероятность'
# In the alt-check layout, the username of the alt may be formatted depending upon whether it is banned
# For example, the usernames of banned alts may be colored red whereas alts not banned are green
# Variables: %USERNAME%
name-display:
not-punished: '&o%USERNAME%'
banned: '&c&o%USERNAME%'
muted: '&e&o%USERNAME%'
# How a single detected alt should be displayed
# Available variables:
# %DETECTION_KIND% - how the account was detected. Will be replaced by the normal or strict options.
# %ADDRESS% - the address in question which led to the detection
# %RELEVANT_USER% - the username of the other account, formatted according to the name-display option
# %RELEVANT_USERID% - the uuid of the other account
# %DATE_RECORDED% - the date the alt account was recorded
layout: '%RELEVANT_USER% &7(%ADDRESS%) на %DATE_RECORDED% - %DETECTION_KIND%'
auto-show:
# The message to display atop the alt check. Set to an empty string to disable
header:
- 'Возможно, &c&o%TARGET%&7. - фейковый аккаунт.&f'
- '&7Большая вероятность - У игрока тот же адрес, что и у заблокированного игрока.&f'
- '&7Небольшая вероятность - У игроков один и тот же предыдущий адрес.'
# Configuration for the /accounthistory command
account-history:
# Pertains to /accounthistory delete <user> <timestamp>
delete:
permission: '&cВы не можете удалять записанные аккаунты.'
no-such-account: '&c У %TARGET% не было записанных акаунтов в тот момент времени.'
usage:
- '&cИспользование: /accounthistory delete <пользователь> <момент времент>.&f'
- '&7Момент времени измеряется в секундах. Вы можете использовать /accounthistory list для того, чтобы подглядеть возможные значения.'
success: '&7Записанный у &e%TARGET% &7аккаунт успешно удалён.'
# Regards /accounthistory list <user>
listing:
# The message to display before the account listing. Set to an empty string to disable
header: '&7Известные аккаунты у &c&o%TARGET%&7:.'
permission: '&cВы не можете просматривать записанные аккаунты.'
none-found: '&7Не найдено записанных акаунтов.'
usage: '&cИспользование: /accounthistory list <user|ip>'
# How a single recorded account should be displayed
# Available variables:
# %TARGET% - the original input to the command
# %USERNAME% - the username the player connected with
# %ADDRESS% - the address the player connected with
# %DATE_RECORDED% - the date the join was recorded
# %DATE_RECORDED_RAW% - the raw timestamp the join was recorded
layout: '%USERNAME% &7(%ADDRESS%) на %DATE_RECORDED% (%DATE_RECORDED_RAW%)||ttp:&7Нажми здесь, чтобы удалить аккаунт||cmd:/accounthistory delete %TARGET% %DATE_RECORDED_RAW%'
usage: '&cИспользование: /accounthistory <delete|list>'

View File

@ -0,0 +1,48 @@
# This file is for proxies like BungeeCord and Velocity. It is irrelevant for single servers.
# It controls scope-related settings for this particular server on the network.
#
# Unlike other configuration files, one should NOT copy the scope.yml across multiple server instances
# Whether to require permissions for using scopes:
# - libertybans.scope.global, libertybans.scope.server.<server>, and libertybans.scope.category.<category>
# become requirements to use the relevant scopes explicitly.
# - libertybans.scope.default must be granted to use commands without a scope argument
require-permissions: false
# The default scope used to punish players
#
# GLOBAL - uses the global scope
# THIS_SERVER - applies to this server only via the server name
# PRIMARY_CATEGORY - uses the first category listed in 'categories-applicable-to-this-server'.
#
# If you use PRIMARY_CATEGORY but no categories are configured, a warning is printed and THIS_SERVER is used.
default-punishing-scope: 'GLOBAL'
# The scope categories applicable to this server
#
# For example, multiple servers might fall under the 'kitpvp' category,
# then staff members may use '-category=kitpvp' to create punishment applying to these servers
categories-applicable-to-this-server: []
# Controls how the name of this server is detected for use with the server scope.
#
# The server name should correspond to the name of the backend server as configured on the proxy.
# The name of the proxy itself is 'proxy' by default, unless overridden.
server-name:
# Auto detection requires a player to have logged in. But you might punish players, e.g. via console, before that.
# By default, if auto detection has not yet occurred, the global scope will be used as a fallback.
# The fallback scope may be configured here to something else.
fallback-if-auto-detect-fails: '*'
# By default, we try to detect the name of this backend server using plugin messaging.
# Make sure 'use-plugin-messaging' is enabled in the config.yml for this detection to succeed.
#
# If running a proxy, the detected name becomes 'proxy'.
#
# Plugin messaging requires at least one player to have logged into the backend server.
# Auto detection may fail, for example, if you ban someone through the console but no one has joined yet.
#
# To disable auto detection, set this to false then configure 'override-value' to the server name you wish to use.
# Re-enabling this option may require a restart (/libertybans restart)
auto-detect: true
# If auto detection is disabled, this option should be set to the name of the server.
#
# Server names should be unique, but this is not a strict requirement.
# If you want a scope applying to multiple servers, you should use categories instead.
override-value: 'myserver'

View File

@ -0,0 +1,119 @@
#
# SQL Database settings
#
# For most servers, the default options here are perfect. Most users will not need to bother here.
#
# However, for servers wishing to use an external database, or for large servers wishing to tweak performance,
# further configuration is made here.
#
# Database version requirements:
# - MariaDB: Requires MariaDB 10.6 or newer.
# - MySQL: Requires MySQL 8.0 or newer.
# - PostgreSQL: Requires PostgreSQL 12 or newer.
# - CockroachDB: Requires the latest version. Support for this database is experimental.
#
# Older versions of these respective databases are not supported.
#
# Information on character sets and encoding:
# - MariaDB: UTF8 is configured automatically
# - MySQL: UTF8 is configured automatically
# - PostgreSQL: UTF8 is used for the client encoding. It may be necessary to configure the database collation to use UTF8.
# - CockroachDB: This database uses UTF8 regardless.
#
# Note well:
# To apply changes made here, use '/libertybans restart' or restart the server.
# Using '/libertybans reload' will NOT update your database settings!
#
#
#
# Settings for synchronizing multiple LibertyBans instances.
synchronization:
# How frequently the database is polled for updates, in milliseconds.
# Usually the default setting of 4 seconds will be sufficiently responsive without querying the database too often
# If you want to increase responsiveness, lower this value. If you want to reduce database load, increase this value.
#
# This value MUST be less than 30 seconds.
poll-rate-millis: 4000
# Availalble synchronization options:
# NONE - no synchronization
# ANSI_SQL - uses your database to synchronize punishments (called ANSI_SQL because it uses standard SQL)
# Other options may be added in the future, upon feature request.
mode: 'NONE'
# All punishments are stored fully in the database, with one exception.
# Mutes are cached for a small period of time so that players' chatting does not
# flood your database with queries.
#
# Note: It is likely you do not need to touch this.
mute-caching:
# How the expiration time should be used. EXPIRE_AFTER_ACCESS is the default,
# which means that a cached mute's expiration time will be reset each time it is used.
#
# Set this to EXPIRE_AFTER_WRITE if there is any program or other instance of LibertyBans
# which may modify mutes in the database outside of this instance of LibertyBans.
# For example, if you are using a third-party tool which can delete or add mutes,
# EXPIRE_AFTER_WRITE is the correct semantic.
#
# If you are using multi-instance synchronization, this option is set automatically
# and you do not need to configure it.
#
# EXPIRE_AFTER_WRITE will expire the cached mute after a fixed time has elapsed
# since the mute was fetched. With EXPIRE_AFTER_ACCESS, the expiration time
# will refresh each time the mute is used.
expiration-semantics: 'EXPIRE_AFTER_ACCESS'
# How long it takes a mute to expire
expiration-time-seconds: 20
#
# Connection timeout settings
# LibertyBans uses HikariCP for connection pooling. The following settings control connection timeouts.
timeouts:
# How long, at maximum, should LibertyBans wait when acquiring new connections, if no existing connection is available?
connection-timeout-seconds: 14
# How long, at maxium, should a connection in the pool last before having to be recreated?
# "This value should be set for MariaDB or MySQL. HikariCP notes:
# "It should be several seconds shorter than any database or infrastructure imposed connection time limit"
max-lifetime-minutes: 25
# Authentication details for remote databases: used for MariaDB, MySQL, PostgreSQL, and CockroachDB.
auth-details:
database: 'minecraft_db'
password: '0000'
user: 'minecraft'
host: '127.0.0.1'
port: 3306
# The values in this section only apply when using a MariaDB or MySQL database
mariadb:
# Connection properties to be applied to database connections
connection-properties:
cachePrepStmts: 'true'
useUnicode: 'true'
prepStmtCacheSqlLimit: '1024'
characterEncoding: 'UTF-8'
prepStmtCacheSize: '25'
useServerPrepStmts: 'true'
# The values in this section only apply when using a PostgreSQL or CockroachDB database
postgres:
# Connection properties to be applied to database connections
connection-properties:
preparedStatementCacheQueries: '25'
# Legacy option. Don't touch this unless you understand it or you're told to enable it.
use-traditional-jdbc-url: false
# What RDMS vendor will you be using?
# Available options:
# 'HSQLDB' - Local HyperSQL database. No additional requirements.
# 'MARIADB' - Requires an external MariaDB database. At least MariaDB 10.6 is required.
# 'MYSQL' - Requires an external MySQL database. At least MySQL 8.0 is required.
# 'POSTGRES' - Requires an external PostgreSQL database. At least PostgreSQL 12 is required.
# 'COCKROACH' - Requires an external CockroachDB database. The latest CockroachDB is required. Warning: this option is strictly experimental.
rdms-vendor: 'HSQLDB'
#
# How large should the connection pool be?
# A thread pool of similar size is derived from the connection pool size.
# For most servers, the default option is suitable.
connection-pool-size: 6

BIN
src/plugins/LibertyBans_Release-1.1.0.jar (Stored with Git LFS) Normal file

Binary file not shown.

BIN
src/plugins/LightningGrim-bukkit-2.3.72-db5a1be.jar (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -31,7 +31,7 @@
# - When set to "global" this setting is effectively ignored.
# - In all other cases, the value here is added to all players in a "server" context.
# - See: https://luckperms.net/wiki/Context
server: lobby
server: survival
# If the servers own UUID cache/lookup facility should be used when there is no record for a player
# already in LuckPerms.
@ -404,11 +404,13 @@ auto-install-translations: true
meta-formatting:
prefix:
format:
- "highest"
- highest_on_track_staff
- highest_on_track_clans
duplicates: first-only
start-spacer: "["
middle-spacer: " "
end-spacer: "]"
start-spacer: "<dark_grey>[</dark_grey>"
middle-spacer: "<dark_grey>]</dark_grey> <dark_grey>[</dark_grey>"
end-spacer: "<dark_grey>] </dark_grey>"
suffix:
format:
- "highest"

View File

@ -0,0 +1,413 @@
version: 4
general:
checkForUpdates: true
updateOnBlockDamage: true
bypassNotification: true
ignoreSpectator: false
updateRadius: 2
advanced:
verbose: false
obfuscation:
threads: -1
timeout: 10000
maxMillisecondsPerTick: 10
proximity:
threads: -1
defaultBucketSize: 50
threadCheckInterval: 50
playerCheckInterval: 5000
cache:
enabled: true
memoryCache:
maximumSize: 32768
expireAfterAccess: 60000
diskCache:
enabled: true
directory: orebfuscator_cache
maximumOpenFiles: 256
deleteFilesAfterAccess: 21600000
maximumTaskQueueSize: 32768
obfuscation:
obfuscation-overworld:
enabled: true
minY: -2032
maxY: 2031
worlds:
- world
layerObfuscation: false
hiddenBlocks:
- minecraft:emerald_ore
- minecraft:deepslate_emerald_ore
- minecraft:diamond_ore
- minecraft:deepslate_diamond_ore
- minecraft:gold_ore
- minecraft:deepslate_gold_ore
- minecraft:raw_gold_block
- minecraft:iron_ore
- minecraft:deepslate_iron_ore
- minecraft:raw_iron_block
- minecraft:coal_ore
- minecraft:deepslate_coal_ore
- minecraft:lapis_ore
- minecraft:deepslate_lapis_ore
- minecraft:redstone_ore
- minecraft:deepslate_redstone_ore
- minecraft:copper_ore
- minecraft:raw_copper_block
- minecraft:deepslate_copper_ore
- minecraft:stone
- minecraft:deepslate
- minecraft:chest
- minecraft:ender_chest
- minecraft:trapped_chest
- minecraft:shulker_box
- minecraft:white_shulker_box
- minecraft:orange_shulker_box
- minecraft:magenta_shulker_box
- minecraft:light_blue_shulker_box
- minecraft:yellow_shulker_box
- minecraft:lime_shulker_box
- minecraft:pink_shulker_box
- minecraft:gray_shulker_box
- minecraft:light_gray_shulker_box
- minecraft:cyan_shulker_box
- minecraft:purple_shulker_box
- minecraft:blue_shulker_box
- minecraft:brown_shulker_box
- minecraft:green_shulker_box
- minecraft:red_shulker_box
- minecraft:black_shulker_box
- minecraft:bedrock
randomBlocks:
section-global:
minY: -2032
maxY: 2031
blocks:
minecraft:cave_air: 5
minecraft:cobblestone: 1
minecraft:mossy_cobblestone: 1
minecraft:obsidian: 1
section-stone:
minY: -5
maxY: 2031
blocks:
minecraft:stone: 15
minecraft:diamond_ore: 10
minecraft:emerald_ore: 5
minecraft:gold_ore: 5
minecraft:iron_ore: 5
minecraft:copper_ore: 5
minecraft:coal_ore: 5
minecraft:lapis_ore: 5
minecraft:redstone_ore: 5
section-deepslate:
minY: -2032
maxY: 5
blocks:
minecraft:deepslate: 15
minecraft:deepslate_diamond_ore: 10
minecraft:deepslate_emerald_ore: 5
minecraft:deepslate_gold_ore: 5
minecraft:deepslate_iron_ore: 5
minecraft:deepslate_copper_ore: 5
minecraft:deepslate_coal_ore: 5
minecraft:deepslate_lapis_ore: 5
minecraft:deepslate_redstone_ore: 5
section-bedrock:
minY: -64
maxY: -60
blocks:
minecraft:bedrock: 20
obfuscation-nether:
enabled: true
minY: -2032
maxY: 2031
worlds:
- world_nether
layerObfuscation: false
hiddenBlocks:
- minecraft:netherrack
- minecraft:nether_quartz_ore
- minecraft:chest
- minecraft:ender_chest
- minecraft:trapped_chest
- minecraft:shulker_box
- minecraft:white_shulker_box
- minecraft:orange_shulker_box
- minecraft:magenta_shulker_box
- minecraft:light_blue_shulker_box
- minecraft:yellow_shulker_box
- minecraft:lime_shulker_box
- minecraft:pink_shulker_box
- minecraft:gray_shulker_box
- minecraft:light_gray_shulker_box
- minecraft:cyan_shulker_box
- minecraft:purple_shulker_box
- minecraft:blue_shulker_box
- minecraft:brown_shulker_box
- minecraft:green_shulker_box
- minecraft:red_shulker_box
- minecraft:black_shulker_box
- minecraft:ancient_debris
- minecraft:nether_gold_ore
- minecraft:basalt
- minecraft:soul_sand
- minecraft:soul_soil
- minecraft:bedrock
randomBlocks:
section-global:
minY: -2032
maxY: 2031
blocks:
minecraft:netherrack: 4
minecraft:nether_quartz_ore: 1
minecraft:nether_gold_ore: 1
minecraft:ancient_debris: 1
section-bedrock-top:
minY: 123
maxY: 127
blocks:
minecraft:bedrock: 20
section-bedrock-bottom:
minY: 0
maxY: 4
blocks:
minecraft:bedrock: 20
obfuscation-end:
enabled: true
minY: -2032
maxY: 2031
worlds:
- world_the_end
layerObfuscation: false
hiddenBlocks:
- minecraft:chest
- minecraft:ender_chest
- minecraft:trapped_chest
- minecraft:shulker_box
- minecraft:white_shulker_box
- minecraft:orange_shulker_box
- minecraft:magenta_shulker_box
- minecraft:light_blue_shulker_box
- minecraft:yellow_shulker_box
- minecraft:lime_shulker_box
- minecraft:pink_shulker_box
- minecraft:gray_shulker_box
- minecraft:light_gray_shulker_box
- minecraft:cyan_shulker_box
- minecraft:purple_shulker_box
- minecraft:blue_shulker_box
- minecraft:brown_shulker_box
- minecraft:green_shulker_box
- minecraft:red_shulker_box
- minecraft:black_shulker_box
randomBlocks:
section-global:
minY: -2032
maxY: 2031
blocks:
minecraft:end_stone: 1
minecraft:end_stone_bricks: 1
minecraft:bedrock: 1
minecraft:obsidian: 1
minecraft:purpur_block: 1
proximity:
proximity-overworld:
enabled: true
minY: -2032
maxY: 2031
worlds:
- world
distance: 24
frustumCulling:
enabled: true
minDistance: 3.0
fov: 80.0
rayCastCheck:
enabled: true
onlyCheckCenter: true
useBlockBelow: true
hiddenBlocks:
minecraft:mossy_cobblestone: {}
minecraft:diamond_ore: {}
minecraft:deepslate_diamond_ore: {}
minecraft:emerald_ore: {}
minecraft:deepslate_emerald_ore: {}
minecraft:chest: {}
minecraft:ender_chest: {}
minecraft:trapped_chest: {}
minecraft:anvil: {}
minecraft:crafter: {}
minecraft:crafting_table: {}
minecraft:dispenser: {}
minecraft:enchanting_table: {}
minecraft:furnace: {}
minecraft:blast_furnace: {}
minecraft:cartography_table: {}
minecraft:fletching_table: {}
minecraft:grindstone: {}
minecraft:composter: {}
minecraft:lectern: {}
minecraft:loom: {}
minecraft:smithing_table: {}
minecraft:smoker: {}
minecraft:stonecutter: {}
minecraft:hopper: {}
minecraft:spawner: {}
minecraft:shulker_box: {}
minecraft:white_shulker_box: {}
minecraft:orange_shulker_box: {}
minecraft:magenta_shulker_box: {}
minecraft:light_blue_shulker_box: {}
minecraft:yellow_shulker_box: {}
minecraft:lime_shulker_box: {}
minecraft:pink_shulker_box: {}
minecraft:gray_shulker_box: {}
minecraft:light_gray_shulker_box: {}
minecraft:cyan_shulker_box: {}
minecraft:purple_shulker_box: {}
minecraft:blue_shulker_box: {}
minecraft:brown_shulker_box: {}
minecraft:green_shulker_box: {}
minecraft:red_shulker_box: {}
minecraft:black_shulker_box: {}
minecraft:bee_nest: {}
minecraft:beehive: {}
randomBlocks:
section-stone:
minY: -5
maxY: 2031
blocks:
minecraft:stone: 1
section-deepslate:
minY: -2032
maxY: 5
blocks:
minecraft:deepslate: 1
proximity-nether:
enabled: true
minY: -2032
maxY: 2031
worlds:
- world_nether
distance: 24
frustumCulling:
enabled: true
minDistance: 3.0
fov: 80.0
rayCastCheck:
enabled: true
onlyCheckCenter: true
useBlockBelow: true
hiddenBlocks:
minecraft:chest: {}
minecraft:ender_chest: {}
minecraft:trapped_chest: {}
minecraft:anvil: {}
minecraft:crafter: {}
minecraft:crafting_table: {}
minecraft:dispenser: {}
minecraft:enchanting_table: {}
minecraft:furnace: {}
minecraft:blast_furnace: {}
minecraft:cartography_table: {}
minecraft:fletching_table: {}
minecraft:grindstone: {}
minecraft:composter: {}
minecraft:lectern: {}
minecraft:loom: {}
minecraft:smithing_table: {}
minecraft:smoker: {}
minecraft:stonecutter: {}
minecraft:hopper: {}
minecraft:spawner: {}
minecraft:shulker_box: {}
minecraft:white_shulker_box: {}
minecraft:orange_shulker_box: {}
minecraft:magenta_shulker_box: {}
minecraft:light_blue_shulker_box: {}
minecraft:yellow_shulker_box: {}
minecraft:lime_shulker_box: {}
minecraft:pink_shulker_box: {}
minecraft:gray_shulker_box: {}
minecraft:light_gray_shulker_box: {}
minecraft:cyan_shulker_box: {}
minecraft:purple_shulker_box: {}
minecraft:blue_shulker_box: {}
minecraft:brown_shulker_box: {}
minecraft:green_shulker_box: {}
minecraft:red_shulker_box: {}
minecraft:black_shulker_box: {}
minecraft:bee_nest: {}
minecraft:beehive: {}
minecraft:ancient_debris: {}
minecraft:nether_gold_ore: {}
minecraft:respawn_anchor: {}
randomBlocks:
section-global:
minY: -2032
maxY: 2031
blocks:
minecraft:netherrack: 1
proximity-end:
enabled: true
minY: -2032
maxY: 2031
worlds:
- world_the_end
distance: 24
frustumCulling:
enabled: true
minDistance: 3.0
fov: 80.0
rayCastCheck:
enabled: true
onlyCheckCenter: true
useBlockBelow: true
hiddenBlocks:
minecraft:chest: {}
minecraft:ender_chest: {}
minecraft:trapped_chest: {}
minecraft:anvil: {}
minecraft:crafter: {}
minecraft:crafting_table: {}
minecraft:dispenser: {}
minecraft:enchanting_table: {}
minecraft:furnace: {}
minecraft:blast_furnace: {}
minecraft:cartography_table: {}
minecraft:fletching_table: {}
minecraft:grindstone: {}
minecraft:composter: {}
minecraft:lectern: {}
minecraft:loom: {}
minecraft:smithing_table: {}
minecraft:smoker: {}
minecraft:stonecutter: {}
minecraft:hopper: {}
minecraft:spawner: {}
minecraft:shulker_box: {}
minecraft:white_shulker_box: {}
minecraft:orange_shulker_box: {}
minecraft:magenta_shulker_box: {}
minecraft:light_blue_shulker_box: {}
minecraft:yellow_shulker_box: {}
minecraft:lime_shulker_box: {}
minecraft:pink_shulker_box: {}
minecraft:gray_shulker_box: {}
minecraft:light_gray_shulker_box: {}
minecraft:cyan_shulker_box: {}
minecraft:purple_shulker_box: {}
minecraft:blue_shulker_box: {}
minecraft:brown_shulker_box: {}
minecraft:green_shulker_box: {}
minecraft:red_shulker_box: {}
minecraft:black_shulker_box: {}
minecraft:bee_nest: {}
minecraft:beehive: {}
randomBlocks:
section-global:
minY: -2032
maxY: 2031
blocks:
minecraft:end_stone: 1

BIN
src/plugins/PatPat Plugin-1.2.0.jar (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,16 @@
{
"_info": {
"_comment": "DON'T CHANGE ANYTHING IN THIS SECTOR!",
"_doc": "Documentation: https://github.com/LopyMine/PatPat-Plugin/blob/main/doc/en/config.md",
"version": "1.0.0"
},
"debug": false,
"listMode": "DISABLED",
"rateLimit": {
"enabled": false,
"tokenLimit": 20,
"tokenIncrement": 1,
"tokenInterval": "1sec",
"permissionBypass": "patpat.ratelimit.bypass"
}
}

View File

BIN
src/plugins/PlaceholderAPI-Expansion-1.2.0.jar (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -10,9 +10,41 @@
# Download placeholders: /papi ecloud
check_updates: true
cloud_enabled: true
cloud_sorting: "name"
cloud_sorting: name
boolean:
'true': 'yes'
'false': 'no'
date_format: MM/dd/yy HH:mm:ss
debug: false
expansions:
server:
server_name: A Minecraft Server
time:
locale: ru-RU
zone: Europe/Kiev
suffix:
week: w
day: d
hour: h
minute: m
second: s
tps_color:
high: '&a'
medium: '&e'
low: '&c'
healthbar:
show-empty-hearts: true
show-absorption-hearts: false
max-absorption-hearts: 2
icons:
full-heart:
half-heart:
empty-heart:
absorption-heart:
half-absorption-heart:
colors:
big-heart: '&4'
half-heart: '&c'
empty-heart: '&7'
absorption-heart: '&6'
half-absorption-heart: '&e'

BIN
src/plugins/PlaceholderAPI/expansions/Expansion-server.jar (Stored with Git LFS) Normal file

Binary file not shown.

BIN
src/plugins/ProtocolLib.jar (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,21 @@
global:
# Settings for the automatic version updater
auto updater:
notify: true
download: false
# Number of seconds to wait until a new update is downloaded
delay: 43200 # 12 hours
metrics: false
# Prints certain warnings to players with the protocol.info permission
chat warnings: true
# Automatically compile structure modifiers
background compiler: true
# Disable version checking for the given Minecraft version. Backup your world first!
ignore version check:
# Whether or not to enable the filter command
debug: false
# Whether or not to print a stack trace for every warning
detailed error: false
# The engine used by the filter command
script engine: JavaScript
suppressed reports:

View File

@ -0,0 +1 @@
1751878745

View File

@ -56,15 +56,15 @@ messages:
# [!] Make sure to fill in database.connectionOptions if you're using certificate / ssl authentication. [!]
# [!] If you're not using ssl, change sslMode=trust to sslMode=disable [!]
database:
enabled: false
host: localhost
port: 3306
database: db
username: root
password: pass
enabled: true
host: _SKINSRESTORER_DB_HOST_
port: _SKINSRESTORER_DB_PORT_
database: _SKINSRESTORER_DB_NAME_
username: _SKINSRESTORER_DB_USERNAME_
password: '_SKINSRESTORER_DB_PASSWORD_'
maxPoolSize: 10
tablePrefix: sr_
connectionOptions: sslMode=trust&serverTimezone=UTC
connectionOptions: sslMode=disabled&serverTimezone=UTC
############
# Commands #

BIN
src/plugins/TAB-Bridge.v6.1.0.jar (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,14 @@
server:
name: "survival"
metrics:
enabled: true
driver: "prometheus"
collectors:
systemGc: true
systemMemory: true
systemProcess: true
systemThread: true
server: true
world: true
tick: true
events: true

View File

@ -0,0 +1,16 @@
mode: "HTTP"
http:
host: "0.0.0.0"
port: 9102
authentication:
scheme: "NONE"
username: "username"
password: "password"
pushGateway:
job: "unifiedmetrics"
url: "http://pushgateway:9091"
authentication:
scheme: "NONE"
username: "username"
password: "password"
interval: 10

BIN
src/plugins/ViaVersion-5.4.1.jar (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,196 @@
# Thanks for downloading ViaVersion
# Ensure you look through all these options
# If you need help:
# Discord - https://viaversion.com/discord
# Docs - https://docs.viaversion.com
#
#----------------------------------------------------------#
# GLOBAL OPTIONS #
#----------------------------------------------------------#
#
# Should ViaVersion check for updates?
check-for-updates: true
# Send the supported versions with the Status (Ping) response packet
send-supported-versions: false
# Easier to configure alternative to 'block-protocols'. Uses readable version strings with possible '<' and '>' prefixes.
# An example to block 1.16.4, everything below 1.16, as well as everything above 1.17.1 would be: ["<1.16", "1.16.4", ">1.17.1"]
# You can use both this and the block-protocols option at the same time as well.
block-versions:
- <1.21
# Block specific Minecraft protocol version numbers.
# List of all Minecraft protocol versions: https://minecraft.wiki/w/Protocol_version, or use a generator: https://via.krusic22.com
block-protocols: []
# Change the blocked disconnect message
block-disconnect-msg: You are using an unsupported Minecraft version!
# If you use ProtocolLib, we can't reload without kicking the players.
# (We don't suggest using reload either, use a plugin manager)
# You can customize the message we kick people with if you use ProtocolLib here.
reload-disconnect-msg: Server reload, please rejoin!
# We warn when there's an error converting item/block or component/nbt data over versions, should we suppress these? (Only suggested if spamming)
suppress-conversion-warnings: false
# This can be disabled for debugging purposes if text in chat/entities/items shows an error tag.
suppress-text-component-conversion-warnings: true
#
#----------------------------------------------------------#
# GLOBAL PACKET LIMITER #
#----------------------------------------------------------#
# THIS FEATURE IS DISABLED ON 1.17.1+ PAPER SERVERS, SINCE IT HAS A BETTER PACKET-LIMITER INBUILT
#
# Packets Per Second (PPS) limiter (Use -1 on max-pps and tracking-period to disable)
# Clients by default send around 20-90 packets per second.
#
# What is the maximum per second a client can send (Use %pps to display their pps)
# Use -1 to disable.
max-pps: 800
max-pps-kick-msg: You are sending too many packets!
#
# We can also kick them if over a period they send over a threshold a certain amount of times.
#
# Period to track (in seconds)
# Use -1 to disable.
tracking-period: 6
# How many packets per second count as a warning?
tracking-warning-pps: 120
# How many warnings over the interval can we have
# This can never be higher than "tracking-period"?
tracking-max-warnings: 4
# The kick message sent if the user hits the max packets per second.
tracking-max-kick-msg: You are sending too many packets, :(
#
#----------------------------------------------------------#
# MULTIPLE VERSIONS OPTIONS #
#----------------------------------------------------------#
#
# Whether to make sure ViaVersion's UserConnection object is already available in the PlayerJoinEvent.
# You may disable this for faster startup/join time if you are 100% sure no plugin requires this.
register-userconnections-on-join: true
# Should we enable our hologram patch?
# If they're in the wrong place, enable this
hologram-patch: false
# This is the offset, should work as default when enabled.
hologram-y: -0.96
# Should we disable piston animation for 1.11/1.11.1 clients?
# In some cases, when firing lots of pistons, it crashes them.
piston-animation-patch: false
# Experimental - Should we fix shift quick move action for 1.12 clients (causes shift + double click not to work when moving items) (only works on 1.8-1.11.2 bukkit based servers)
quick-move-action-fix: false
# Should we use prefix for team color on 1.13 and above clients?
team-colour-fix: true
# 1.13 introduced new auto complete which can trigger "Kicked for spamming" for servers older than 1.13, the following option will disable it completely.
disable-1_13-auto-complete: false
# The following option will delay the tab complete request in x ticks if greater than 0, if other tab-complete is received, the previous is cancelled
1_13-tab-complete-delay: 0
# For 1.13 clients the smallest (1 layer) snow doesn't have collisions, this will send these as 2 snowlayers for 1.13+ clients to prevent them bugging through them
fix-low-snow-collision: false
# Infested blocks are instantly breakable for 1.13+ clients, resulting in them being unable to break them on sub 1.13 servers. This remaps them to their normal stone variants
fix-infested-block-breaking: true
# In 1.14 the client page limit has been upped to 100 (from 50). Some anti-exploit plugins ban when clients go higher than 50. This option cuts edited books to 50 pages.
truncate-1_14-books: false
# This prevents clients using 1.9-1.13 on 1.8 servers from receiving no knockback/having velocity bugs whilst sneaking under a block.
change-1_9-hitbox: false
# Similar to the above, but for 1.14+ players on 1.8-1.13 servers.
# WARNING: This gives 1.14+ players the ability to sneak under blocks, that players under that version cannot (sneaking in places that are only 1.5 blocks high)!
# Another thing to remember is that those players might be missed by projectiles and other hits directed at the very top of their head whilst sneaking.
change-1_14-hitbox: false
# Fixes 1.14+ clients on sub 1.14 servers having a light value of 0 for non-full blocks.
fix-non-full-blocklight: true
# Fixes walk animation not shown when health is set to Float.NaN
fix-1_14-health-nan: true
# Should 1.15+ clients respawn instantly / without showing a death screen?
use-1_15-instant-respawn: false
#
# Enable serverside block-connections for 1.13+ clients - all the options in this section are built around this option
serverside-blockconnections: true
# Sets the method for the block connections (world for highly experimental (USE AT OWN RISK) world-level or packet for packet-level)
blockconnection-method: packet
# When activated, only the most important blocks are stored in the blockstorage. (fences, glass panes etc. won't connect to solid blocks)
reduce-blockstorage-memory: false
# When activated with serverside-blockconnections, flower parts with blocks above will be sent as stems
# Useful for lobbyservers where users can't build and those stems are used decoratively
flowerstem-when-block-above: false
# Vines that are not connected to blocks will be mapped to air, else 1.13+ would still be able to climb up on them.
vine-climb-fix: false
#
# Ignores incoming plugin channel messages of 1.16+ clients with channel names longer than 32 characters.
# CraftBukkit had this limit hardcoded until 1.16, so we have to assume any server/proxy might have this arbitrary check present.
ignore-long-1_16-channel-names: true
#
# Force 1.17+ client to accept the server resource pack; they will automatically disconnect if they decline.
forced-use-1_17-resource-pack: false
# The message to be displayed at the prompt when the 1.17+ client receives the server resource pack.
resource-pack-1_17-prompt: ''
#
# Caches light until chunks are unloaded to allow later chunk update packets as opposed to instantly uncaching when the first chunk data is sent.
# Only disable this if you know what you are doing.
cache-1_17-light: true
#
# Force-update 1.19.4+ player's inventory when they try to swap armor in a pre-occupied slot.
armor-toggle-fix: true
#
# Get the world names which should be returned for each vanilla dimension
map-1_16-world-names:
overworld: minecraft:overworld
nether: minecraft:the_nether
end: minecraft:the_end
#
# If disabled, tamed cats will be displayed as ocelots to 1.14+ clients on 1.13 servers. Otherwise, ocelots (tamed and untamed) will be displayed as cats.
translate-ocelot-to-cat: false
#
# Determines the value sent to 1.19+ clients on join if currently not accessible by ViaVersion.
# It is not recommended to fake this value if your server is running 1.19 or later, as 1.20.5 have stricter chat handling and may get kicked otherwise.
enforce-secure-chat: false
#
# Handles items with invalid count values (higher than max stack size) on 1.20.3 servers.
handle-invalid-item-count: false
#
# Hides scoreboard numbers for 1.20.3+ clients on older server versions.
hide-scoreboard-numbers: false
#
# Fixes 1.21+ clients on 1.20.5 servers placing water/lava buckets at the wrong location when moving fast, NOTE: This may cause issues with anti-cheat plugins.
fix-1_21-placement-rotation: true
#
#----------------------------------------------------------#
# 1.9+ CLIENTS ON 1.8 SERVERS OPTIONS #
#----------------------------------------------------------#
#
# No collide options, these allow you to configure how collision works.
# Do you want us to prevent collision?
prevent-collision: true
# If the above is true, should we automatically team players until you do?
auto-team: true
# When enabled if certain entity data can't be read, we won't tell you about it
suppress-metadata-errors: false
# When enabled, 1.9+ will be able to block by using shields
shield-blocking: true
# If this setting is active, the main hand is used instead of the off-hand to trigger the blocking of the player.
# With the main hand, the blocking starts way faster.
# (Requires "show-shield-when-sword-in-hand" to be disabled)
no-delay-shield-blocking: false
# If this setting is active, the shield will appear immediately for 1.9+ when you hold a sword in your main hand.
# The shield disappears when you switch to another item.
# (Requires "shield-blocking" to be enabled)
show-shield-when-sword-in-hand: false
# Enable player tick simulation, this fixes eating, drinking, nether portals.
simulate-pt: true
# Should we use nms player to simulate packets, (may fix anti-cheat issues)
nms-player-ticking: true
# Should we patch boss bars so they work? (Default: true, disable if you're having issues)
bossbar-patch: true
# If your boss bar flickers on 1.9+, set this to 'true'. It will keep all boss bars on 100% (not recommended)
bossbar-anti-flicker: false
# This will show the new effect indicator in the top-right corner for 1.9+ players.
use-new-effect-indicator: true
# Show the new death messages for 1.9+ on the death screen
use-new-deathmessages: true
# Should we cache our items, this will prevent the server from being lagged out, however, the cost is a constant task caching items
item-cache: true
# Should we replace extended pistons to fix 1.10.1 (Only on chunk loading)?
replace-pistons: false
# What id should we replace with, default is air. (careful of players getting stuck standing on them)
replacement-piston-id: 0
# Fix 1.9+ clients not rendering the far away chunks and improve chunk rendering when moving fast (Increases network usage and decreases client fps slightly)
chunk-border-fix: false
# Allows 1.9+ left-handedness (main hand) on 1.8 servers
left-handed-handling: true
# Tries to cancel block break/place sounds sent by 1.8 servers to 1.9+ clients to prevent them from playing twice
cancel-block-sounds: true

Some files were not shown because too many files have changed in this diff Show More