Merge branch 'master' into fix/heightmaps

This commit is contained in:
Lukas Rieger (Blue) 2024-01-25 15:11:11 +01:00
commit 00149330f1
No known key found for this signature in database
GPG Key ID: 2D09EC5ED2687FF2
10 changed files with 366 additions and 313 deletions

View File

@ -62,6 +62,7 @@
import java.nio.file.Path; import java.nio.file.Path;
import java.util.*; import java.util.*;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Predicate;
import java.util.stream.Stream; import java.util.stream.Stream;
/** /**
@ -127,12 +128,18 @@ public synchronized void createOrUpdateWebApp(boolean force) throws Configuratio
} }
public Map<String, BmMap> loadMaps() throws InterruptedException { public Map<String, BmMap> loadMaps() throws InterruptedException {
loadWorldsAndMaps(); loadWorldsAndMaps(mapId -> true);
return maps; return maps;
} }
private synchronized void loadWorldsAndMaps() throws InterruptedException { public Map<String, BmMap> loadMaps(Predicate<String> mapFilter) throws InterruptedException {
loadWorldsAndMaps(mapFilter);
return maps;
}
private synchronized void loadWorldsAndMaps(Predicate<String> mapFilter) throws InterruptedException {
for (var entry : config.getMapConfigs().entrySet()) { for (var entry : config.getMapConfigs().entrySet()) {
if (!mapFilter.test(entry.getKey())) continue;
try { try {
loadMapConfig(entry.getKey(), entry.getValue()); loadMapConfig(entry.getKey(), entry.getValue());
} catch (ConfigurationException ex) { } catch (ConfigurationException ex) {
@ -273,7 +280,7 @@ public synchronized ResourcePack loadResourcePack() throws ConfigurationExceptio
throw new ConfigurationException( throw new ConfigurationException(
"BlueMap failed to create this folder:\n" + "BlueMap failed to create this folder:\n" +
resourcePackFolder + "\n" + resourcePackFolder + "\n" +
"Does BlueMap has sufficient permissions?", "Does BlueMap have sufficient permissions?",
ex); ex);
} }

View File

@ -42,7 +42,9 @@
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;
import java.nio.file.StandardOpenOption; import java.nio.file.StandardOpenOption;
import java.util.*; import java.util.Enumeration;
import java.util.HashSet;
import java.util.Set;
import java.util.zip.ZipEntry; import java.util.zip.ZipEntry;
import java.util.zip.ZipFile; import java.util.zip.ZipFile;
@ -50,7 +52,7 @@ public class WebFilesManager {
private static final Gson GSON = ResourcesGson.addAdapter(new GsonBuilder()) private static final Gson GSON = ResourcesGson.addAdapter(new GsonBuilder())
.setFieldNamingPolicy(FieldNamingPolicy.IDENTITY) .setFieldNamingPolicy(FieldNamingPolicy.IDENTITY)
.setPrettyPrinting() // enable pretty printing for easy editing //.setPrettyPrinting() // enable pretty printing for easy editing
.create(); .create();
private final Path webRoot; private final Path webRoot;

View File

@ -19,7 +19,7 @@
"eslint": "~8.22.0", "eslint": "~8.22.0",
"eslint-plugin-vue": "^9.3.0", "eslint-plugin-vue": "^9.3.0",
"sass": "^1.57.0", "sass": "^1.57.0",
"vite": "^4.0.5" "vite": "^4.5.2"
} }
}, },
"node_modules/@babel/parser": { "node_modules/@babel/parser": {
@ -34,9 +34,9 @@
} }
}, },
"node_modules/@esbuild/android-arm": { "node_modules/@esbuild/android-arm": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz",
"integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==",
"cpu": [ "cpu": [
"arm" "arm"
], ],
@ -50,9 +50,9 @@
} }
}, },
"node_modules/@esbuild/android-arm64": { "node_modules/@esbuild/android-arm64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz",
"integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -66,9 +66,9 @@
} }
}, },
"node_modules/@esbuild/android-x64": { "node_modules/@esbuild/android-x64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz",
"integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -82,9 +82,9 @@
} }
}, },
"node_modules/@esbuild/darwin-arm64": { "node_modules/@esbuild/darwin-arm64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz",
"integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -98,9 +98,9 @@
} }
}, },
"node_modules/@esbuild/darwin-x64": { "node_modules/@esbuild/darwin-x64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz",
"integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -114,9 +114,9 @@
} }
}, },
"node_modules/@esbuild/freebsd-arm64": { "node_modules/@esbuild/freebsd-arm64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz",
"integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -130,9 +130,9 @@
} }
}, },
"node_modules/@esbuild/freebsd-x64": { "node_modules/@esbuild/freebsd-x64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz",
"integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -146,9 +146,9 @@
} }
}, },
"node_modules/@esbuild/linux-arm": { "node_modules/@esbuild/linux-arm": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz",
"integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==",
"cpu": [ "cpu": [
"arm" "arm"
], ],
@ -162,9 +162,9 @@
} }
}, },
"node_modules/@esbuild/linux-arm64": { "node_modules/@esbuild/linux-arm64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz",
"integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -178,9 +178,9 @@
} }
}, },
"node_modules/@esbuild/linux-ia32": { "node_modules/@esbuild/linux-ia32": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz",
"integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==",
"cpu": [ "cpu": [
"ia32" "ia32"
], ],
@ -194,9 +194,9 @@
} }
}, },
"node_modules/@esbuild/linux-loong64": { "node_modules/@esbuild/linux-loong64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz",
"integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==",
"cpu": [ "cpu": [
"loong64" "loong64"
], ],
@ -210,9 +210,9 @@
} }
}, },
"node_modules/@esbuild/linux-mips64el": { "node_modules/@esbuild/linux-mips64el": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz",
"integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==",
"cpu": [ "cpu": [
"mips64el" "mips64el"
], ],
@ -226,9 +226,9 @@
} }
}, },
"node_modules/@esbuild/linux-ppc64": { "node_modules/@esbuild/linux-ppc64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz",
"integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==",
"cpu": [ "cpu": [
"ppc64" "ppc64"
], ],
@ -242,9 +242,9 @@
} }
}, },
"node_modules/@esbuild/linux-riscv64": { "node_modules/@esbuild/linux-riscv64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz",
"integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==",
"cpu": [ "cpu": [
"riscv64" "riscv64"
], ],
@ -258,9 +258,9 @@
} }
}, },
"node_modules/@esbuild/linux-s390x": { "node_modules/@esbuild/linux-s390x": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz",
"integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==",
"cpu": [ "cpu": [
"s390x" "s390x"
], ],
@ -274,9 +274,9 @@
} }
}, },
"node_modules/@esbuild/linux-x64": { "node_modules/@esbuild/linux-x64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz",
"integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -290,9 +290,9 @@
} }
}, },
"node_modules/@esbuild/netbsd-x64": { "node_modules/@esbuild/netbsd-x64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz",
"integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -306,9 +306,9 @@
} }
}, },
"node_modules/@esbuild/openbsd-x64": { "node_modules/@esbuild/openbsd-x64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz",
"integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -322,9 +322,9 @@
} }
}, },
"node_modules/@esbuild/sunos-x64": { "node_modules/@esbuild/sunos-x64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz",
"integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -338,9 +338,9 @@
} }
}, },
"node_modules/@esbuild/win32-arm64": { "node_modules/@esbuild/win32-arm64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz",
"integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -354,9 +354,9 @@
} }
}, },
"node_modules/@esbuild/win32-ia32": { "node_modules/@esbuild/win32-ia32": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz",
"integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==",
"cpu": [ "cpu": [
"ia32" "ia32"
], ],
@ -370,9 +370,9 @@
} }
}, },
"node_modules/@esbuild/win32-x64": { "node_modules/@esbuild/win32-x64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz",
"integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -949,9 +949,9 @@
} }
}, },
"node_modules/esbuild": { "node_modules/esbuild": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz",
"integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==",
"dev": true, "dev": true,
"hasInstallScript": true, "hasInstallScript": true,
"bin": { "bin": {
@ -961,28 +961,28 @@
"node": ">=12" "node": ">=12"
}, },
"optionalDependencies": { "optionalDependencies": {
"@esbuild/android-arm": "0.17.19", "@esbuild/android-arm": "0.18.20",
"@esbuild/android-arm64": "0.17.19", "@esbuild/android-arm64": "0.18.20",
"@esbuild/android-x64": "0.17.19", "@esbuild/android-x64": "0.18.20",
"@esbuild/darwin-arm64": "0.17.19", "@esbuild/darwin-arm64": "0.18.20",
"@esbuild/darwin-x64": "0.17.19", "@esbuild/darwin-x64": "0.18.20",
"@esbuild/freebsd-arm64": "0.17.19", "@esbuild/freebsd-arm64": "0.18.20",
"@esbuild/freebsd-x64": "0.17.19", "@esbuild/freebsd-x64": "0.18.20",
"@esbuild/linux-arm": "0.17.19", "@esbuild/linux-arm": "0.18.20",
"@esbuild/linux-arm64": "0.17.19", "@esbuild/linux-arm64": "0.18.20",
"@esbuild/linux-ia32": "0.17.19", "@esbuild/linux-ia32": "0.18.20",
"@esbuild/linux-loong64": "0.17.19", "@esbuild/linux-loong64": "0.18.20",
"@esbuild/linux-mips64el": "0.17.19", "@esbuild/linux-mips64el": "0.18.20",
"@esbuild/linux-ppc64": "0.17.19", "@esbuild/linux-ppc64": "0.18.20",
"@esbuild/linux-riscv64": "0.17.19", "@esbuild/linux-riscv64": "0.18.20",
"@esbuild/linux-s390x": "0.17.19", "@esbuild/linux-s390x": "0.18.20",
"@esbuild/linux-x64": "0.17.19", "@esbuild/linux-x64": "0.18.20",
"@esbuild/netbsd-x64": "0.17.19", "@esbuild/netbsd-x64": "0.18.20",
"@esbuild/openbsd-x64": "0.17.19", "@esbuild/openbsd-x64": "0.18.20",
"@esbuild/sunos-x64": "0.17.19", "@esbuild/sunos-x64": "0.18.20",
"@esbuild/win32-arm64": "0.17.19", "@esbuild/win32-arm64": "0.18.20",
"@esbuild/win32-ia32": "0.17.19", "@esbuild/win32-ia32": "0.18.20",
"@esbuild/win32-x64": "0.17.19" "@esbuild/win32-x64": "0.18.20"
} }
}, },
"node_modules/escape-string-regexp": { "node_modules/escape-string-regexp": {
@ -1651,9 +1651,9 @@
"dev": true "dev": true
}, },
"node_modules/nanoid": { "node_modules/nanoid": {
"version": "3.3.6", "version": "3.3.7",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
"integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
"funding": [ "funding": [
{ {
"type": "github", "type": "github",
@ -1816,9 +1816,9 @@
} }
}, },
"node_modules/postcss": { "node_modules/postcss": {
"version": "8.4.24", "version": "8.4.33",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz",
"integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==", "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==",
"funding": [ "funding": [
{ {
"type": "opencollective", "type": "opencollective",
@ -1834,7 +1834,7 @@
} }
], ],
"dependencies": { "dependencies": {
"nanoid": "^3.3.6", "nanoid": "^3.3.7",
"picocolors": "^1.0.0", "picocolors": "^1.0.0",
"source-map-js": "^1.0.2" "source-map-js": "^1.0.2"
}, },
@ -1952,9 +1952,9 @@
} }
}, },
"node_modules/rollup": { "node_modules/rollup": {
"version": "3.24.0", "version": "3.29.4",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-3.24.0.tgz", "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz",
"integrity": "sha512-OgraHOIg2YpHQTjl0/ymWfFNBEyPucB7lmhXrQUh38qNOegxLapSPFs9sNr0qKR75awW41D93XafoR2QfhBdUQ==", "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==",
"dev": true, "dev": true,
"bin": { "bin": {
"rollup": "dist/bin/rollup" "rollup": "dist/bin/rollup"
@ -2008,9 +2008,9 @@
} }
}, },
"node_modules/semver": { "node_modules/semver": {
"version": "7.3.8", "version": "7.5.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"lru-cache": "^6.0.0" "lru-cache": "^6.0.0"
@ -2179,14 +2179,14 @@
"dev": true "dev": true
}, },
"node_modules/vite": { "node_modules/vite": {
"version": "4.3.9", "version": "4.5.2",
"resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz", "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.2.tgz",
"integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==", "integrity": "sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"esbuild": "^0.17.5", "esbuild": "^0.18.10",
"postcss": "^8.4.23", "postcss": "^8.4.27",
"rollup": "^3.21.0" "rollup": "^3.27.1"
}, },
"bin": { "bin": {
"vite": "bin/vite.js" "vite": "bin/vite.js"
@ -2194,12 +2194,16 @@
"engines": { "engines": {
"node": "^14.18.0 || >=16.0.0" "node": "^14.18.0 || >=16.0.0"
}, },
"funding": {
"url": "https://github.com/vitejs/vite?sponsor=1"
},
"optionalDependencies": { "optionalDependencies": {
"fsevents": "~2.3.2" "fsevents": "~2.3.2"
}, },
"peerDependencies": { "peerDependencies": {
"@types/node": ">= 14", "@types/node": ">= 14",
"less": "*", "less": "*",
"lightningcss": "^1.21.0",
"sass": "*", "sass": "*",
"stylus": "*", "stylus": "*",
"sugarss": "*", "sugarss": "*",
@ -2212,6 +2216,9 @@
"less": { "less": {
"optional": true "optional": true
}, },
"lightningcss": {
"optional": true
},
"sass": { "sass": {
"optional": true "optional": true
}, },
@ -2295,9 +2302,9 @@
} }
}, },
"node_modules/word-wrap": { "node_modules/word-wrap": {
"version": "1.2.3", "version": "1.2.5",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
"dev": true, "dev": true,
"engines": { "engines": {
"node": ">=0.10.0" "node": ">=0.10.0"
@ -2344,156 +2351,156 @@
"integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==" "integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA=="
}, },
"@esbuild/android-arm": { "@esbuild/android-arm": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz",
"integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@esbuild/android-arm64": { "@esbuild/android-arm64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz",
"integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@esbuild/android-x64": { "@esbuild/android-x64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz",
"integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@esbuild/darwin-arm64": { "@esbuild/darwin-arm64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz",
"integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@esbuild/darwin-x64": { "@esbuild/darwin-x64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz",
"integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@esbuild/freebsd-arm64": { "@esbuild/freebsd-arm64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz",
"integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@esbuild/freebsd-x64": { "@esbuild/freebsd-x64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz",
"integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@esbuild/linux-arm": { "@esbuild/linux-arm": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz",
"integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@esbuild/linux-arm64": { "@esbuild/linux-arm64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz",
"integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@esbuild/linux-ia32": { "@esbuild/linux-ia32": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz",
"integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@esbuild/linux-loong64": { "@esbuild/linux-loong64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz",
"integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@esbuild/linux-mips64el": { "@esbuild/linux-mips64el": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz",
"integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@esbuild/linux-ppc64": { "@esbuild/linux-ppc64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz",
"integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@esbuild/linux-riscv64": { "@esbuild/linux-riscv64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz",
"integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@esbuild/linux-s390x": { "@esbuild/linux-s390x": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz",
"integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@esbuild/linux-x64": { "@esbuild/linux-x64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz",
"integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@esbuild/netbsd-x64": { "@esbuild/netbsd-x64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz",
"integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@esbuild/openbsd-x64": { "@esbuild/openbsd-x64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz",
"integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@esbuild/sunos-x64": { "@esbuild/sunos-x64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz",
"integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@esbuild/win32-arm64": { "@esbuild/win32-arm64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz",
"integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@esbuild/win32-ia32": { "@esbuild/win32-ia32": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz",
"integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"@esbuild/win32-x64": { "@esbuild/win32-x64": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz",
"integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
@ -2935,33 +2942,33 @@
} }
}, },
"esbuild": { "esbuild": {
"version": "0.17.19", "version": "0.18.20",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz",
"integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@esbuild/android-arm": "0.17.19", "@esbuild/android-arm": "0.18.20",
"@esbuild/android-arm64": "0.17.19", "@esbuild/android-arm64": "0.18.20",
"@esbuild/android-x64": "0.17.19", "@esbuild/android-x64": "0.18.20",
"@esbuild/darwin-arm64": "0.17.19", "@esbuild/darwin-arm64": "0.18.20",
"@esbuild/darwin-x64": "0.17.19", "@esbuild/darwin-x64": "0.18.20",
"@esbuild/freebsd-arm64": "0.17.19", "@esbuild/freebsd-arm64": "0.18.20",
"@esbuild/freebsd-x64": "0.17.19", "@esbuild/freebsd-x64": "0.18.20",
"@esbuild/linux-arm": "0.17.19", "@esbuild/linux-arm": "0.18.20",
"@esbuild/linux-arm64": "0.17.19", "@esbuild/linux-arm64": "0.18.20",
"@esbuild/linux-ia32": "0.17.19", "@esbuild/linux-ia32": "0.18.20",
"@esbuild/linux-loong64": "0.17.19", "@esbuild/linux-loong64": "0.18.20",
"@esbuild/linux-mips64el": "0.17.19", "@esbuild/linux-mips64el": "0.18.20",
"@esbuild/linux-ppc64": "0.17.19", "@esbuild/linux-ppc64": "0.18.20",
"@esbuild/linux-riscv64": "0.17.19", "@esbuild/linux-riscv64": "0.18.20",
"@esbuild/linux-s390x": "0.17.19", "@esbuild/linux-s390x": "0.18.20",
"@esbuild/linux-x64": "0.17.19", "@esbuild/linux-x64": "0.18.20",
"@esbuild/netbsd-x64": "0.17.19", "@esbuild/netbsd-x64": "0.18.20",
"@esbuild/openbsd-x64": "0.17.19", "@esbuild/openbsd-x64": "0.18.20",
"@esbuild/sunos-x64": "0.17.19", "@esbuild/sunos-x64": "0.18.20",
"@esbuild/win32-arm64": "0.17.19", "@esbuild/win32-arm64": "0.18.20",
"@esbuild/win32-ia32": "0.17.19", "@esbuild/win32-ia32": "0.18.20",
"@esbuild/win32-x64": "0.17.19" "@esbuild/win32-x64": "0.18.20"
} }
}, },
"escape-string-regexp": { "escape-string-regexp": {
@ -3474,9 +3481,9 @@
"dev": true "dev": true
}, },
"nanoid": { "nanoid": {
"version": "3.3.6", "version": "3.3.7",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
"integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g=="
}, },
"natural-compare": { "natural-compare": {
"version": "1.4.0", "version": "1.4.0",
@ -3585,11 +3592,11 @@
"dev": true "dev": true
}, },
"postcss": { "postcss": {
"version": "8.4.24", "version": "8.4.33",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz",
"integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==", "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==",
"requires": { "requires": {
"nanoid": "^3.3.6", "nanoid": "^3.3.7",
"picocolors": "^1.0.0", "picocolors": "^1.0.0",
"source-map-js": "^1.0.2" "source-map-js": "^1.0.2"
} }
@ -3659,9 +3666,9 @@
} }
}, },
"rollup": { "rollup": {
"version": "3.24.0", "version": "3.29.4",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-3.24.0.tgz", "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz",
"integrity": "sha512-OgraHOIg2YpHQTjl0/ymWfFNBEyPucB7lmhXrQUh38qNOegxLapSPFs9sNr0qKR75awW41D93XafoR2QfhBdUQ==", "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==",
"dev": true, "dev": true,
"requires": { "requires": {
"fsevents": "~2.3.2" "fsevents": "~2.3.2"
@ -3688,9 +3695,9 @@
} }
}, },
"semver": { "semver": {
"version": "7.3.8", "version": "7.5.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dev": true, "dev": true,
"requires": { "requires": {
"lru-cache": "^6.0.0" "lru-cache": "^6.0.0"
@ -3813,15 +3820,15 @@
"dev": true "dev": true
}, },
"vite": { "vite": {
"version": "4.3.9", "version": "4.5.2",
"resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz", "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.2.tgz",
"integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==", "integrity": "sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==",
"dev": true, "dev": true,
"requires": { "requires": {
"esbuild": "^0.17.5", "esbuild": "^0.18.10",
"fsevents": "~2.3.2", "fsevents": "~2.3.2",
"postcss": "^8.4.23", "postcss": "^8.4.27",
"rollup": "^3.21.0" "rollup": "^3.27.1"
} }
}, },
"vue": { "vue": {
@ -3872,9 +3879,9 @@
} }
}, },
"word-wrap": { "word-wrap": {
"version": "1.2.3", "version": "1.2.5",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
"dev": true "dev": true
}, },
"wrappy": { "wrappy": {

View File

@ -20,6 +20,6 @@
"eslint": "~8.22.0", "eslint": "~8.22.0",
"eslint-plugin-vue": "^9.3.0", "eslint-plugin-vue": "^9.3.0",
"sass": "^1.57.0", "sass": "^1.57.0",
"vite": "^4.0.5" "vite": "^4.5.2"
} }
} }

View File

@ -18,7 +18,7 @@
title: "Balises" title: "Balises"
button: "Balises" button: "Balises"
tooltip: "Liste des balises" tooltip: "Liste des balises"
marker: "balises | balises" marker: "balise | balises"
markerSet: "Collection de balises | Collections de balises" markerSet: "Collection de balises | Collections de balises"
searchPlaceholder: "Rechercher..." searchPlaceholder: "Rechercher..."
followPlayerTitle: "Suivre ce Joueur" followPlayerTitle: "Suivre ce Joueur"
@ -51,7 +51,7 @@
dayNightSwitch: { dayNightSwitch: {
tooltip: "Jour/Nuit" tooltip: "Jour/Nuit"
} }
sunlight: "Soleil" sunlight: "Lumière du Soleil"
ambientLight: "Lumière Ambiante" ambientLight: "Lumière Ambiante"
} }
resolution: { resolution: {
@ -70,9 +70,9 @@
invertMouseY: "Inverser l\'Y de la Souris" invertMouseY: "Inverser l\'Y de la Souris"
} }
renderDistance: { renderDistance: {
title: "Distance de rendu" title: "Distance de Rendu"
hiresLayer: "Couche haute définition" hiresLayer: "Couche Haute Définition"
lowersLayer: "Couche basse définition" lowersLayer: "Couche Basse Définition"
loadHiresWhileMoving: "Charger la haute définition en bougeant" loadHiresWhileMoving: "Charger la haute définition en bougeant"
off: "Désactivé" off: "Désactivé"
} }
@ -84,7 +84,7 @@
contrast: "Contrasté" contrast: "Contrasté"
} }
debug: { debug: {
button: "Debug" button: "Debogage"
} }
resetAllSettings: { resetAllSettings: {
button: "Réinitialiser tous les Paramètres" button: "Réinitialiser tous les Paramètres"
@ -94,7 +94,7 @@
tooltip: "Liste des Joueurs" tooltip: "Liste des Joueurs"
} }
compass: { compass: {
tooltip: "Boussole / Pointe le Nord" tooltip: "Boussole / Pointer le Nord"
} }
screenshot: { screenshot: {
title: "Capture d\'écran" title: "Capture d\'écran"
@ -122,7 +122,7 @@
blockTooltip: { blockTooltip: {
block: "Bloc" block: "Bloc"
position: "Position" position: "Position"
chunk: "Chunk" chunk: "Tronçon"
region: { region: {
region: "Région" region: "Région"
file: "Fichier" file: "Fichier"
@ -141,25 +141,25 @@
<p> <p>
<h2>Contrôles de la Souris :</h2> <h2>Contrôles de la Souris :</h2>
<table> <table>
<tr><th>déplacement</th><td><kbd>clic-gauche</kbd> + mouvement</td></tr> <tr><th>déplacer</th><td><kbd>clic-gauche</kbd> + glisser</td></tr>
<tr><th>zoom</th><td><kbd>molette</kbd> (scroll)</td></tr> <tr><th>zoomer</th><td><kbd>molette</kbd> (défiler)</td></tr>
<tr><th>rotation / inclinaison</th><td><kbd>clic-droit</kbd> + mouvement</td></tr> <tr><th>tourner / incliner</th><td><kbd>clic-droit</kbd> + glisser</td></tr>
</table> </table>
</p> </p>
<p> <p>
<h2>Contrôles du Clavier :</h2> <h2>Contrôles du Clavier :</h2>
<table> <table>
<tr><th>déplacement</th><td><kbd>zqsd</kbd> / <kbd>flèches</kbd></td></tr> <tr><th>déplacer</th><td><kbd>zqsd</kbd> / <kbd>flèches directionnelles</kbd></td></tr>
<tr><th>zoom</th><td>Pavé Numérique : <kbd>+</kbd>/<kbd>-</kbd> ou <kbd>Inser</kbd>/<kbd>Début</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>rotation / inclinaison</th><td><kbd>Alt-Gauche</kbd> + <kbd>zqsd</kbd> / <kbd>flèches</kbd> ou <kbd>Suppr</kbd>/<kbd>Fin</kbd>/<kbd>Page Up</kbd>/<kbd>Page Down</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> </table>
</p> </p>
<p> <p>
<h2>Contrôles du Toucher :</h2> <h2>Contrôles Tactiles :</h2>
<table> <table>
<tr><th>déplacement</th><td>toucher + mouvement</td></tr> <tr><th>déplacer</th><td>toucher + glisser</td></tr>
<tr><th>zoom</th><td>toucher avec 2 doigts + pincement</td></tr> <tr><th>zoomer</th><td>toucher avec 2 doigts + pincement</td></tr>
<tr><th>rotation / inclinaison</th><td>toucher avec 2 doigts + rotation / haut/bas</td></tr> <tr><th>tourner / incliner</th><td>toucher avec 2 doigts + tourner / haut/bas</td></tr>
</table> </table>
</p> </p>
<br><hr> <br><hr>

View File

@ -5,23 +5,23 @@
tooltip: "Menü" tooltip: "Menü"
} }
map: { map: {
unloaded: "Herhangi harita yüklenmedi." unloaded: "Haritalar yüklenmedi."
loading: "Harita yükleniyor..." loading: "Harita yükleniyor..."
errored: "Bu haritayı yüklerken bir hata oluştu!" errored: "Haritayı yüklerken bir hata oluştu!"
} }
maps: { maps: {
title: "Haritalar" title: "Haritalar"
button: "Haritalar" button: "Haritalar"
tooltip: "Harita-Listesi" tooltip: "Harita listesi"
} }
markers: { markers: {
title: "Noktalar" title: "Noktalar"
button: "Noktalar" button: "Noktalar"
tooltip: "Nokta-Listesi" tooltip: "Nokta listesi"
marker: "nokta | noktalar" marker: "nokta | noktalar"
markerSet: "nokta-kur | noktalar-kur" markerSet: "nokta kur | noktalar kur"
searchPlaceholder: "Ara..." searchPlaceholder: "Ara..."
followPlayerTitle: "Oyuncuyu Takip Et" followPlayerTitle: "Oyuncuyu takip et"
sort { sort {
title: "Sıralama türü" title: "Sıralama türü"
by { by {
@ -36,23 +36,23 @@
button: "Ayarlar" button: "Ayarlar"
} }
goFullscreen: { goFullscreen: {
button: "Tam Ekran" button: "Tam ekran"
} }
resetCamera: { resetCamera: {
button: "Kamerayı Sıfırla" button: "Kamerayı sıfırla"
tooltip: "Kamerayı & Pozisyonu Sıfırla" tooltip: "Kamerayı ve pozisyonu sıfırla"
} }
updateMap: { updateMap: {
button: "Haritayı Güncele" button: "Haritayı güncele"
tooltip: "Harita Parça Önbelleğini Temizle" tooltip: "Harita Parça önbelleğini temizle"
} }
lighting: { lighting: {
title: "Aydınlatma" title: "Aydınlatma"
dayNightSwitch: { dayNightSwitch: {
tooltip: "Sabah/Akşam" tooltip: "Sabah/Akşam"
} }
sunlight: "Güneş Işığı" sunlight: "Güneş ışığı"
ambientLight: "Çevre-Işığı" ambientLight: "Çevre ışığı"
} }
resolution: { resolution: {
title: "Çözünürlük" title: "Çözünürlük"
@ -61,20 +61,20 @@
low: "Düşük (Upscaling x0.5)" low: "Düşük (Upscaling x0.5)"
} }
mapControls: { mapControls: {
title: "Harita Kontrolleri" title: "Harita kontrolleri"
showZoomButtons: "Yakınlaştırma Tuşlarını Göster" showZoomButtons: "Yakınlaştırma tuşlarını göster"
} }
freeFlightControls: { freeFlightControls: {
title: "Serbest Kamera Kontrolleri" title: "Serbest kamera kontrolleri"
mouseSensitivity: "Fare-Hassasiyeti" mouseSensitivity: "Fare hassasiyeti"
invertMouseY: "Fareyi Tersine Çevir" invertMouseY: "Fareyi tersine çevir"
} }
renderDistance: { renderDistance: {
title: "Görüş Mesafesi" title: "Görüş mesafesi"
hiresLayer: "Hires Katmanı" hiresLayer: "Yüksek çözünürlük katmanı"
lowersLayer: "Lowres Katmanı" lowersLayer: "Düşük çözünürlük Katmanı"
loadHiresWhileMoving: "Haraket ederken hires'i yüklemeye devam et" loadHiresWhileMoving: "Haraket ettirirken yüklemeye devam et"
off: "Kapalıl" off: "Kapalı"
} }
theme: { theme: {
title: "Tema" title: "Tema"
@ -84,36 +84,36 @@
contrast: "Kontrast" contrast: "Kontrast"
} }
debug: { debug: {
button: "Hata Ayıkla" button: "Hata ayıklama"
} }
resetAllSettings: { resetAllSettings: {
button: "Tüm Ayarları Sıfırla" button: "Tüm ayarları sıfırla"
} }
players: { players: {
title: "Oyuncular" title: "Oyuncular"
tooltip: "Oyuncu-Listesi" tooltip: "Oyuncu listesi"
} }
compass: { compass: {
tooltip: "Pusula / Kuzeye Dön" tooltip: "Pusula / Kuzeye Dön"
} }
screenshot: { screenshot: {
title: "Ekran Görüntüsü" title: "Ekran görüntüsü"
button: "Ekran Görüntüsü Al" button: "Ekran görüntüsü Al"
clipboard: "Panoya Kaydet" clipboard: "Panoya kaydet"
} }
controls: { controls: {
title: "Görüş / Kontroller" title: "Görüş / Kontroller"
perspective: { perspective: {
button: "Perspektif" button: "Perspektif"
tooltip: "Perspektif-Bakış" tooltip: "Perspektif bakışı"
} }
flatView: { flatView: {
button: "Düz" button: "Kuşbakışı"
tooltip: "Ortografik / Düz-Bakış" tooltip: "Ortografik / Kuşbakışı"
} }
freeFlight: { freeFlight: {
button: "Serbest-Kamera" button: "Serbest kamera"
tooltip: "Serbest-Kamera / İzleyici Modu" tooltip: "Serbest kamera / Seyirci modu"
} }
} }
language: { language: {
@ -139,32 +139,32 @@
content: """ content: """
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%"> <img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
<p> <p>
<h2>Fare-Kontrolleri:</h2> <h2>Fare Kontrolleri:</h2>
<table> <table>
<tr><th>tı</th><td><kbd>sol tık</kbd> + haraket ettir</td></tr> <tr><th>Tı</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>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> <tr><th>Döndür / Eğilt</th><td><kbd>sağ tık</kbd> + haraket ettir</td></tr>
</table> </table>
</p> </p>
<p> <p>
<h2>Klavye-Kontrolleri:</h2> <h2>Klavye Kontrolleri:</h2>
<table> <table>
<tr><th>tı</th><td><kbd>wasd</kbd> / <kbd>ok tuşları</kbd></td></tr> <tr><th>Tı</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>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ğilt</th><td><kbd>Left-Alt</kbd> + <kbd>wasd</kbd> / <kbd>arrow-keys</kbd> veya <kbd>Delete</kbd>/<kbd>End</kbd>/<kbd>Page Up</kbd>/<kbd>Page Down</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> </table>
</p> </p>
<p> <p>
<h2>Dokunmatik-Kontrolleri:</h2> <h2>Dokunmatik Kontrolleri:</h2>
<table> <table>
<tr><th>tı</th><td>dokun + kaydır</td></tr> <tr><th>Tı</th><td>dokun + kaydır</td></tr>
<tr><th>yakınlaştır</th><td>iki parmağını birbirine yaklaştır/uzaklaştı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ğilt</th><td>iki parmakla dokun + haraket ettir / aşşağı/yukarı kaydı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> </table>
</p> </p>
<br><hr> <br><hr>
<p class="info-footer"> <p class="info-footer">
Bu harita &#9829; using <a href="https://bluecolo.red/bluemap">BlueMap</a> {version} ile oluşturulmuştur Bu harita &#9829; <a href="https://bluecolo.red/bluemap">BlueMap</a> {version} ile oluşturulmuştur
</p> </p>
""" """
} }

View File

@ -4,6 +4,11 @@
title: "菜单" title: "菜单"
tooltip: "打开菜单" tooltip: "打开菜单"
} }
map: {
unloaded: "未加载地图."
loading: "正在加载地图..."
errored: "尝试加载此地图时出错!"
}
maps: { maps: {
title: "地图" title: "地图"
button: "地图" button: "地图"
@ -17,6 +22,14 @@
markerSet: "标记集 | 标记集" markerSet: "标记集 | 标记集"
searchPlaceholder: "搜索..." searchPlaceholder: "搜索..."
followPlayerTitle: "跟随玩家" followPlayerTitle: "跟随玩家"
sort {
title: "排序方式"
by {
default: "默认"
label: "名称"
distance: "距离"
}
}
} }
settings: { settings: {
title: "设置" title: "设置"
@ -27,7 +40,7 @@
} }
resetCamera: { resetCamera: {
button: "重置镜头" button: "重置镜头"
tooltip: "重置镜头 & 位置" tooltip: "重置镜头位置"
} }
updateMap: { updateMap: {
button: "更新地图" button: "更新地图"
@ -47,15 +60,21 @@
normal: "普通(默认 x1" normal: "普通(默认 x1"
low: "低(粗糙 x0.5" low: "低(粗糙 x0.5"
} }
mapControls: {
title: "地图控制"
showZoomButtons: "显示缩放按钮"
}
freeFlightControls: { freeFlightControls: {
title: "自由飞行控制" title: "自由飞行控制"
mouseSensitivity: "鼠标灵敏度" mouseSensitivity: "鼠标灵敏度"
invertMouseY: "反转鼠标 Y" invertMouseY: "反转鼠标 Y"
} }
renderDistance: { renderDistance: {
title: "渲染距离" title: "渲染距离"
hiresLayer: "高分辨率" hiresLayer: "高分辨率"
lowersLayer: "低分辨率" lowersLayer: "低分辨率"
loadHiresWhileMoving: "移动时加载高清图像"
off: "关闭"
} }
theme: { theme: {
title: "主题" title: "主题"
@ -75,7 +94,7 @@
tooltip: "玩家列表" tooltip: "玩家列表"
} }
compass: { compass: {
tooltip: "罗盘 / 朝北" tooltip: "指南针 / 朝北"
} }
screenshot: { screenshot: {
title: "截图" title: "截图"
@ -122,9 +141,9 @@
<p> <p>
<h2>鼠标控制:</h2> <h2>鼠标控制:</h2>
<table> <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> <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> </table>
</p> </p>
<p> <p>
@ -138,8 +157,8 @@
<p> <p>
<h2>触屏控制:</h2> <h2>触屏控制:</h2>
<table> <table>
<tr><th>移动</th><td>触屏 + 拖</td></tr> <tr><th>移动</th><td>触屏 + 拖</td></tr>
<tr><th>缩放</th><td>双指触屏 + 滑动</td></tr> <tr><th>缩放</th><td>双指触屏 + 捏合</td></tr>
<tr><th>旋转 / 倾斜</th><td>双指触屏 + 旋转 / 向上滑动 / 向下滑动</td></tr> <tr><th>旋转 / 倾斜</th><td>双指触屏 + 旋转 / 向上滑动 / 向下滑动</td></tr>
</table> </table>
</p> </p>

View File

@ -6,9 +6,9 @@
<SwitchHandle :on="markerSet.visible" v-if="markerSet.toggleable"/> <SwitchHandle :on="markerSet.visible" v-if="markerSet.toggleable"/>
</div> </div>
<div class="stats"> <div class="stats">
<div v-if="markerSet.markers.length > 0"> <div v-if="filteredMarkerCount > 0">
{{ markerSet.markers.length }} {{ filteredMarkerCount }}
{{ $t('markers.marker', markerSet.markers.length) }} {{ $t('markers.marker', filteredMarkerCount) }}
</div> </div>
<div v-if="filteredMarkerSetCount > 0"> <div v-if="filteredMarkerSetCount > 0">
{{ filteredMarkerSetCount }} {{ filteredMarkerSetCount }}
@ -46,6 +46,13 @@ export default {
} }
return count; return count;
}, },
filteredMarkerCount() {
let count = 0;
for (let marker of this.markerSet.markers) {
if (marker.listed) count++;
}
return count;
},
label() { label() {
if (this.markerSet.id === "bm-players") return this.$t("players.title"); if (this.markerSet.id === "bm-players") return this.$t("players.title");
return this.markerSet.label; return this.markerSet.label;

View File

@ -28,6 +28,7 @@
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
import com.google.gson.JsonIOException; import com.google.gson.JsonIOException;
import com.google.gson.JsonParseException;
import de.bluecolored.bluemap.api.debug.DebugDump; import de.bluecolored.bluemap.api.debug.DebugDump;
import de.bluecolored.bluemap.core.resources.ResourcePath; import de.bluecolored.bluemap.core.resources.ResourcePath;
import de.bluecolored.bluemap.core.resources.adapter.ResourcesGson; import de.bluecolored.bluemap.core.resources.adapter.ResourcesGson;
@ -117,7 +118,7 @@ public static TextureGallery readTexturesFile(InputStream in) throws IOException
gallery.textureMappings.put(texture.getResourcePath(), new TextureMapping(ordinal, texture)); gallery.textureMappings.put(texture.getResourcePath(), new TextureMapping(ordinal, texture));
} }
} }
} catch (JsonIOException ex) { } catch (JsonParseException ex) {
throw new IOException(ex); throw new IOException(ex);
} }
return gallery; return gallery;

View File

@ -51,6 +51,7 @@
import de.bluecolored.bluemap.core.util.FileHelper; import de.bluecolored.bluemap.core.util.FileHelper;
import org.apache.commons.cli.*; import org.apache.commons.cli.*;
import org.apache.commons.lang3.time.DurationFormatUtils; import org.apache.commons.lang3.time.DurationFormatUtils;
import org.checkerframework.checker.nullness.qual.Nullable;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
@ -63,6 +64,7 @@
import java.time.ZonedDateTime; import java.time.ZonedDateTime;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.function.Predicate;
import java.util.regex.Pattern; import java.util.regex.Pattern;
public class BlueMapCLI implements Server { public class BlueMapCLI implements Server {
@ -70,7 +72,8 @@ public class BlueMapCLI implements Server {
private MinecraftVersion minecraftVersion = MinecraftVersion.LATEST_SUPPORTED; private MinecraftVersion minecraftVersion = MinecraftVersion.LATEST_SUPPORTED;
private Path configFolder; private Path configFolder;
public void renderMaps(BlueMapService blueMap, boolean watch, boolean forceRender, boolean forceGenerateWebapp) throws ConfigurationException, IOException, InterruptedException { public void renderMaps(BlueMapService blueMap, boolean watch, boolean forceRender, boolean forceGenerateWebapp,
@Nullable String mapsToRender) throws ConfigurationException, IOException, InterruptedException {
//metrics report //metrics report
if (blueMap.getConfig().getCoreConfig().isMetrics()) Metrics.sendReportAsync("cli"); if (blueMap.getConfig().getCoreConfig().isMetrics()) Metrics.sendReportAsync("cli");
@ -85,7 +88,12 @@ public void renderMaps(BlueMapService blueMap, boolean watch, boolean forceRende
RenderManager renderManager = new RenderManager(); RenderManager renderManager = new RenderManager();
//load maps //load maps
Map<String, BmMap> maps = blueMap.getMaps(); Predicate<String> mapFilter = mapId -> true;
if (mapsToRender != null) {
Set<String> mapsToRenderSet = Set.of(mapsToRender.split(","));
mapFilter = mapsToRenderSet::contains;
}
Map<String, BmMap> maps = blueMap.getMaps(mapFilter);
//watcher //watcher
List<RegionFileWatchService> regionFileWatchServices = new ArrayList<>(); List<RegionFileWatchService> regionFileWatchServices = new ArrayList<>();
@ -362,7 +370,8 @@ public static void main(String[] args) {
boolean watch = cmd.hasOption("u"); boolean watch = cmd.hasOption("u");
boolean force = cmd.hasOption("f"); boolean force = cmd.hasOption("f");
boolean generateWebappFiles = cmd.hasOption("g"); boolean generateWebappFiles = cmd.hasOption("g");
cli.renderMaps(blueMap, watch, force, generateWebappFiles); String mapsToRender = cmd.getOptionValue("m", null);
cli.renderMaps(blueMap, watch, force, generateWebappFiles, mapsToRender);
} else { } else {
if (cmd.hasOption("g")) { if (cmd.hasOption("g")) {
noActions = false; noActions = false;
@ -458,6 +467,7 @@ private static Options createOptions() {
options.addOption("r", "render", false, "Renders the maps configured in the 'render.conf' file"); options.addOption("r", "render", false, "Renders the maps configured in the 'render.conf' file");
options.addOption("f", "force-render", false, "Forces rendering everything, instead of only rendering chunks that have been modified since the last render"); options.addOption("f", "force-render", false, "Forces rendering everything, instead of only rendering chunks that have been modified since the last render");
options.addOption("m", "maps", true, "A comma-separated list of map-id's that should be rendered. Example: 'world,nether'");
options.addOption("u", "watch", false, "Watches for file-changes after rendering and updates the map"); options.addOption("u", "watch", false, "Watches for file-changes after rendering and updates the map");