diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 73d3e33..545c825 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -6,12 +6,12 @@ jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 8
- continue-on-error: ${{ matrix.version == '1.19.4' }}
+ continue-on-error: ${{ matrix.version == '1.20.1' }}
strategy:
fail-fast: false
matrix:
flavor: ['bukkit', 'spigot', 'paper', 'purpur']
- version: ['1.19.4', '1.18.2', '1.17.1', '1.16.5']
+ version: ['1.20.1', '1.19.4', '1.18.2', '1.17.1', '1.16.5']
steps:
# Download code from repository
- name: Checkout code
@@ -39,7 +39,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v3
with:
- node-version: '17'
+ node-version: '19'
# Setup automata
- name: Setup automata
@@ -67,24 +67,18 @@ jobs:
wget -nv "$url" -O server.jar
java -jar server.jar || true
sed -i 's/eula=false/eula=true/g' eula.txt
- echo "online-mode=false" >> server.properties
- echo "enable-rcon=true" >> server.properties
- echo "rcon.password=rcon" >> server.properties
- echo "allow-nether=false" >> server.properties
- echo "allow-end=false" >> server.properties
+ echo 'online-mode=false' >> server.properties
+ echo 'enable-rcon=true' >> server.properties
+ echo 'rcon.password=rcon' >> server.properties
+ echo 'allow-nether=false' >> server.properties
+ echo 'allow-end=false' >> server.properties
echo 'generate-structures=false' >> server.properties
- echo "level-type=flat" >> server.properties
+ echo 'level-type=flat' >> server.properties
# Install dependencies
- name: Install plugin dependencies
- env:
- VERSION: ${{ matrix.version }}
run: |
- if [ $VERSION == "1.19.4" ]; then
- url="https://ci.dmulloy2.net/job/ProtocolLib/lastSuccessfulBuild/artifact/build/libs/ProtocolLib.jar"
- else
- url="https://github.com/dmulloy2/ProtocolLib/releases/download/4.8.0/ProtocolLib.jar"
- fi
+ url="https://github.com/dmulloy2/ProtocolLib/releases/download/5.0.0/ProtocolLib.jar"
mkdir -p ./server/plugins/ProtocolLib
wget -q "$url" -O ./server/plugins/ProtocolLib.jar
echo -e "global:\n auto updater:\n notify: false\n download: false" > ./server/plugins/ProtocolLib/config.yml
@@ -102,10 +96,12 @@ jobs:
# Test plugin
- name: Run plugin in server
working-directory: ./server
+ env:
+ FLAVOR: ${{ matrix.flavor }}
run: |
(cd ../automata && npm run start) &
timeout -s SIGINT -k 110s 90s java -DIReallyKnowWhatIAmDoingISwear -jar server.jar nogui | tee server.log || true
- if ! grep -Fq '[YamipaPlugin] Loading YamipaPlugin' server.log; then
+ if ! grep -Fq '[YamipaPlugin] ' server.log; then
echo "Plugin did not load"
exit 1
fi
@@ -129,7 +125,7 @@ jobs:
echo "Plugin did not remove the fake image"
exit 1
fi
- if grep -iFq 'exception' server.log; then
+ if [ "$FLAVOR" != "bukkit" ] && grep -iFq 'exception' server.log; then
echo "Server threw an exception"
exit 1
fi
diff --git a/README.md b/README.md
index cb1877a..c666a0d 100644
--- a/README.md
+++ b/README.md
@@ -25,8 +25,7 @@ Download the JAR file for the [latest release](https://github.com/josemmo/yamipa
Before installing Yamipa make sure you meet the following requirements:
- CraftBukkit, Spigot or PaperMC 1.16 or higher
-- [ProtocolLib](https://www.spigotmc.org/resources/protocollib.1997/) v4.8.0 or higher
- (latest [dev build](https://ci.dmulloy2.net/job/ProtocolLib/lastSuccessfulBuild/) for 1.19.4)
+- [ProtocolLib](https://www.spigotmc.org/resources/protocollib.1997/) v5.0.0 or higher
Here are the Minecraft distributions where Yamipa should be able to run:
| Minecraft version | CraftBukkit | Spigot | PaperMC |
@@ -35,6 +34,7 @@ Here are the Minecraft distributions where Yamipa should be able to run:
| 1.17 & 1.17.1 | ✅ | ✅ | ✅ |
| 1.18 & 1.18.x | ✅ | ✅ | ✅ |
| 1.19 & 1.19.x | ✅ | ✅ | ✅ |
+| 1.20 & 1.20.1 | ✅ | ✅ | ✅ |
## Configuration
Yamipa is ready-to-go right out of the box. By default, it creates the following files and directories under the
@@ -96,16 +96,16 @@ This plugin adds the following commands:
`/image clear 0 0 world 9999999 00000000-0000-0000-0000-000000000000`
## Permissions
-If you want more granular control over the players who can use a particular set of commands, permissions are the way to go!
+If you want more granular control over the features exposed to players, permissions are the way to go!
Yamipa defines the following permissions:
-| Command | Default | Description |
+| Permission | Default | Description |
|:----------------------------|:-----------:|:----------------------------------------------------------------|
| `yamipa.command.clear` | OPs | To use the `/image clear` command |
| `yamipa.command.describe` | OPs | To use the `/image describe` command |
| `yamipa.command.download` | OPs | To use the `/image download` command |
-| `yamipa.command.give` | OPs | To use the `/image give` download |
+| `yamipa.command.give` | OPs | To use the `/image give` command |
| `yamipa.command.list` | OPs | To use the `/image list` command |
| `yamipa.command.place` | OPs | To use the `/image place` command |
| `yamipa.command.remove` | OPs | To use the `/image remove` command |
diff --git a/automata/package-lock.json b/automata/package-lock.json
index db26cf8..103fc3d 100644
--- a/automata/package-lock.json
+++ b/automata/package-lock.json
@@ -6,24 +6,24 @@
"": {
"name": "@yamipa/automata",
"dependencies": {
- "mineflayer": "^4.8.0",
+ "mineflayer": "^4.9.0",
"rcon-client": "^4.2.3"
}
},
"node_modules/@azure/msal-common": {
- "version": "9.1.1",
- "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-9.1.1.tgz",
- "integrity": "sha512-we9xR8lvu47fF0h+J8KyXoRy9+G/fPzm3QEa2TrdR3jaVS3LKAyE2qyMuUkNdbVkvzl8Zr9f7l+IUSP22HeqXw==",
+ "version": "13.1.0",
+ "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-13.1.0.tgz",
+ "integrity": "sha512-wj+ULrRB0HTuMmtrMjg8j3guCx32GE2BCPbsMCZkHgL1BZetC3o/Su5UJEQMX1HNc9CrIaQNx5WaKWHygYDe0g==",
"engines": {
"node": ">=0.8.0"
}
},
"node_modules/@azure/msal-node": {
- "version": "1.14.6",
- "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.14.6.tgz",
- "integrity": "sha512-em/qqFL5tLMxMPl9vormAs13OgZpmQoJbiQ/GlWr+BA77eCLoL+Ehr5xRHowYo+LFe5b+p+PJVkRvT+mLvOkwA==",
+ "version": "1.17.3",
+ "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.17.3.tgz",
+ "integrity": "sha512-slsa+388bQQWnWH1V91KL+zV57rIp/0OQFfF0EmVMY8gnEIkAnpWWFUVBTTMbxEyjEFMk5ZW9xiHvHBcYFHzDw==",
"dependencies": {
- "@azure/msal-common": "^9.0.2",
+ "@azure/msal-common": "13.1.0",
"jsonwebtoken": "^9.0.0",
"uuid": "^8.3.0"
},
@@ -32,9 +32,9 @@
}
},
"node_modules/@types/node": {
- "version": "18.11.18",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz",
- "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA=="
+ "version": "20.3.1",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.3.1.tgz",
+ "integrity": "sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg=="
},
"node_modules/@types/readable-stream": {
"version": "2.3.15",
@@ -270,9 +270,9 @@
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"node_modules/jose": {
- "version": "4.11.2",
- "resolved": "https://registry.npmjs.org/jose/-/jose-4.11.2.tgz",
- "integrity": "sha512-njj0VL2TsIxCtgzhO+9RRobBvws4oYyCM8TpvoUQwl/MbIM3NFJRR9+e6x0sS5xXaP1t6OCBkaBME98OV9zU5A==",
+ "version": "4.14.4",
+ "resolved": "https://registry.npmjs.org/jose/-/jose-4.14.4.tgz",
+ "integrity": "sha512-j8GhLiKmUAh+dsFXlX1aJCbt5KMibuKb+d7j1JaOJG6s2UjX1PQlW+OKB/sD4a/5ZYF4RcmYmLSndOoU3Lt/3g==",
"funding": {
"url": "https://github.com/sponsors/panva"
}
@@ -353,9 +353,9 @@
"integrity": "sha512-vGBKTA+jwM4KgjGZ+S/8/Mkj9rWzePyGY6jManXPGhiWu63RYwW8dKPyk5koP+8qNVhPhHgFa1y/MJ4wrjsNrg=="
},
"node_modules/minecraft-data": {
- "version": "3.26.0",
- "resolved": "https://registry.npmjs.org/minecraft-data/-/minecraft-data-3.26.0.tgz",
- "integrity": "sha512-9DGMM4qI7DdOFTMbtr3Wa/W+XXq11//Lhz+O0YRce9LHyYUDw34tvJcETHR0PNuE7p84J7kV02VLAOV+B1094Q=="
+ "version": "3.36.1",
+ "resolved": "https://registry.npmjs.org/minecraft-data/-/minecraft-data-3.36.1.tgz",
+ "integrity": "sha512-sZSvRQ5gROFopz6DAJORyDgydP+64qF9yREl5vYH7BYIUXn4xiwdVzQUL7KMdXuCPtHReVy92EANZOsuYCFDFg=="
},
"node_modules/minecraft-folder-path": {
"version": "1.2.0",
@@ -363,9 +363,9 @@
"integrity": "sha512-qaUSbKWoOsH9brn0JQuBhxNAzTDMwrOXorwuRxdJKKKDYvZhtml+6GVCUrY5HRiEsieBEjCUnhVpDuQiKsiFaw=="
},
"node_modules/minecraft-protocol": {
- "version": "1.40.3",
- "resolved": "https://registry.npmjs.org/minecraft-protocol/-/minecraft-protocol-1.40.3.tgz",
- "integrity": "sha512-+6WTrQcqBRXYST8Ha2V30XZ2zcooXA8fBNgKvIHVE/AkWs1kDjiwH1gdhPlK17JMLnV+yYSH4PACsk5VAOuqPA==",
+ "version": "1.42.0",
+ "resolved": "https://registry.npmjs.org/minecraft-protocol/-/minecraft-protocol-1.42.0.tgz",
+ "integrity": "sha512-AdPqW0n0G5wkNunen98XRRvVuuMVbig7R6RmZWO5+ISEj2+JElj2DoLLQDEygVw7IMi3wofTOf6wAtVrrxTJ5Q==",
"dependencies": {
"@types/readable-stream": "^2.3.13",
"aes-js": "^3.1.2",
@@ -374,7 +374,7 @@
"endian-toggle": "^0.0.0",
"lodash.get": "^4.1.2",
"lodash.merge": "^4.3.0",
- "minecraft-data": "^3.21.0",
+ "minecraft-data": "^3.34.0",
"minecraft-folder-path": "^1.2.0",
"node-fetch": "^2.6.1",
"node-rsa": "^0.4.2",
@@ -391,12 +391,12 @@
}
},
"node_modules/mineflayer": {
- "version": "4.8.0",
- "resolved": "https://registry.npmjs.org/mineflayer/-/mineflayer-4.8.0.tgz",
- "integrity": "sha512-0LHYXAwGgRbMWUnQ2R7dDEN5u6ktgfZFsQ6C584wZArvmK/5YhGnDRV330zkOtL8KJAsnR2nwX8RvtFOD3Y1Qw==",
+ "version": "4.9.0",
+ "resolved": "https://registry.npmjs.org/mineflayer/-/mineflayer-4.9.0.tgz",
+ "integrity": "sha512-fi/WuMthVCalQJuTXB2NKssepbj/U/g0zA4PUrSnhWLWDNZABn551Be/IrNuanfwOm4XcRMNTrQAtljkE8esWg==",
"dependencies": {
"minecraft-data": "^3.26.0",
- "minecraft-protocol": "^1.40.3",
+ "minecraft-protocol": "^1.42.0",
"prismarine-biome": "^1.1.1",
"prismarine-block": "^1.13.1",
"prismarine-chat": "^1.7.1",
@@ -457,9 +457,9 @@
}
},
"node_modules/node-fetch": {
- "version": "2.6.8",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.8.tgz",
- "integrity": "sha512-RZ6dBYuj8dRSfxpUSu+NsdF1dpPpluJxwOp+6IoDp/sH2QNDSvurYsAa+F1WxY2RjA1iP93xhcsUoYbF2XBqVg==",
+ "version": "2.6.11",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz",
+ "integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==",
"dependencies": {
"whatwg-url": "^5.0.0"
},
@@ -588,9 +588,9 @@
}
},
"node_modules/prismarine-realms": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/prismarine-realms/-/prismarine-realms-1.3.0.tgz",
- "integrity": "sha512-heAzbP2bI/dGjoHUWAe3pncg3jHwNLjN0nkZb98jbpJxgsogx/8Cqejd1Oc+EVnqnVwNyiyITfCoH3ECqYeikw==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/prismarine-realms/-/prismarine-realms-1.3.2.tgz",
+ "integrity": "sha512-5apl9Ru8veTj5q2OozRc4GZOuSIcs3yY4UEtALiLKHstBe8bRw8vNlaz4Zla3jsQ8yP/ul1b1IJINTRbocuA6g==",
"dependencies": {
"debug": "^4.3.3",
"node-fetch": "^2.6.1"
@@ -719,9 +719,9 @@
"integrity": "sha512-Tfay0l6gJMP5rkil8CzGbLthukn+9BN/VXWcABVFPjOoelJ+koW8BuPZYk+h/L+lEeIp1fSzVRiWRPIjKVjPdg=="
},
"node_modules/readable-stream": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.3.0.tgz",
- "integrity": "sha512-MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.4.0.tgz",
+ "integrity": "sha512-kDMOq0qLtxV9f/SQv522h8cxZBqNZXuXNyjyezmfAAuribMyVXziljpQ/uQhfE1XLg2/TLTW2DsnoE4VAi/krg==",
"dependencies": {
"abort-controller": "^3.0.0",
"buffer": "^6.0.3",
@@ -746,9 +746,9 @@
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"node_modules/semver": {
- "version": "7.3.8",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
- "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+ "version": "7.5.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz",
+ "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -880,24 +880,24 @@
},
"dependencies": {
"@azure/msal-common": {
- "version": "9.1.1",
- "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-9.1.1.tgz",
- "integrity": "sha512-we9xR8lvu47fF0h+J8KyXoRy9+G/fPzm3QEa2TrdR3jaVS3LKAyE2qyMuUkNdbVkvzl8Zr9f7l+IUSP22HeqXw=="
+ "version": "13.1.0",
+ "resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-13.1.0.tgz",
+ "integrity": "sha512-wj+ULrRB0HTuMmtrMjg8j3guCx32GE2BCPbsMCZkHgL1BZetC3o/Su5UJEQMX1HNc9CrIaQNx5WaKWHygYDe0g=="
},
"@azure/msal-node": {
- "version": "1.14.6",
- "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.14.6.tgz",
- "integrity": "sha512-em/qqFL5tLMxMPl9vormAs13OgZpmQoJbiQ/GlWr+BA77eCLoL+Ehr5xRHowYo+LFe5b+p+PJVkRvT+mLvOkwA==",
+ "version": "1.17.3",
+ "resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.17.3.tgz",
+ "integrity": "sha512-slsa+388bQQWnWH1V91KL+zV57rIp/0OQFfF0EmVMY8gnEIkAnpWWFUVBTTMbxEyjEFMk5ZW9xiHvHBcYFHzDw==",
"requires": {
- "@azure/msal-common": "^9.0.2",
+ "@azure/msal-common": "13.1.0",
"jsonwebtoken": "^9.0.0",
"uuid": "^8.3.0"
}
},
"@types/node": {
- "version": "18.11.18",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz",
- "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA=="
+ "version": "20.3.1",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.3.1.tgz",
+ "integrity": "sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg=="
},
"@types/readable-stream": {
"version": "2.3.15",
@@ -1050,9 +1050,9 @@
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"jose": {
- "version": "4.11.2",
- "resolved": "https://registry.npmjs.org/jose/-/jose-4.11.2.tgz",
- "integrity": "sha512-njj0VL2TsIxCtgzhO+9RRobBvws4oYyCM8TpvoUQwl/MbIM3NFJRR9+e6x0sS5xXaP1t6OCBkaBME98OV9zU5A=="
+ "version": "4.14.4",
+ "resolved": "https://registry.npmjs.org/jose/-/jose-4.14.4.tgz",
+ "integrity": "sha512-j8GhLiKmUAh+dsFXlX1aJCbt5KMibuKb+d7j1JaOJG6s2UjX1PQlW+OKB/sD4a/5ZYF4RcmYmLSndOoU3Lt/3g=="
},
"json-schema-traverse": {
"version": "0.4.1",
@@ -1123,9 +1123,9 @@
"integrity": "sha512-vGBKTA+jwM4KgjGZ+S/8/Mkj9rWzePyGY6jManXPGhiWu63RYwW8dKPyk5koP+8qNVhPhHgFa1y/MJ4wrjsNrg=="
},
"minecraft-data": {
- "version": "3.26.0",
- "resolved": "https://registry.npmjs.org/minecraft-data/-/minecraft-data-3.26.0.tgz",
- "integrity": "sha512-9DGMM4qI7DdOFTMbtr3Wa/W+XXq11//Lhz+O0YRce9LHyYUDw34tvJcETHR0PNuE7p84J7kV02VLAOV+B1094Q=="
+ "version": "3.36.1",
+ "resolved": "https://registry.npmjs.org/minecraft-data/-/minecraft-data-3.36.1.tgz",
+ "integrity": "sha512-sZSvRQ5gROFopz6DAJORyDgydP+64qF9yREl5vYH7BYIUXn4xiwdVzQUL7KMdXuCPtHReVy92EANZOsuYCFDFg=="
},
"minecraft-folder-path": {
"version": "1.2.0",
@@ -1133,9 +1133,9 @@
"integrity": "sha512-qaUSbKWoOsH9brn0JQuBhxNAzTDMwrOXorwuRxdJKKKDYvZhtml+6GVCUrY5HRiEsieBEjCUnhVpDuQiKsiFaw=="
},
"minecraft-protocol": {
- "version": "1.40.3",
- "resolved": "https://registry.npmjs.org/minecraft-protocol/-/minecraft-protocol-1.40.3.tgz",
- "integrity": "sha512-+6WTrQcqBRXYST8Ha2V30XZ2zcooXA8fBNgKvIHVE/AkWs1kDjiwH1gdhPlK17JMLnV+yYSH4PACsk5VAOuqPA==",
+ "version": "1.42.0",
+ "resolved": "https://registry.npmjs.org/minecraft-protocol/-/minecraft-protocol-1.42.0.tgz",
+ "integrity": "sha512-AdPqW0n0G5wkNunen98XRRvVuuMVbig7R6RmZWO5+ISEj2+JElj2DoLLQDEygVw7IMi3wofTOf6wAtVrrxTJ5Q==",
"requires": {
"@types/readable-stream": "^2.3.13",
"aes-js": "^3.1.2",
@@ -1144,7 +1144,7 @@
"endian-toggle": "^0.0.0",
"lodash.get": "^4.1.2",
"lodash.merge": "^4.3.0",
- "minecraft-data": "^3.21.0",
+ "minecraft-data": "^3.34.0",
"minecraft-folder-path": "^1.2.0",
"node-fetch": "^2.6.1",
"node-rsa": "^0.4.2",
@@ -1158,12 +1158,12 @@
}
},
"mineflayer": {
- "version": "4.8.0",
- "resolved": "https://registry.npmjs.org/mineflayer/-/mineflayer-4.8.0.tgz",
- "integrity": "sha512-0LHYXAwGgRbMWUnQ2R7dDEN5u6ktgfZFsQ6C584wZArvmK/5YhGnDRV330zkOtL8KJAsnR2nwX8RvtFOD3Y1Qw==",
+ "version": "4.9.0",
+ "resolved": "https://registry.npmjs.org/mineflayer/-/mineflayer-4.9.0.tgz",
+ "integrity": "sha512-fi/WuMthVCalQJuTXB2NKssepbj/U/g0zA4PUrSnhWLWDNZABn551Be/IrNuanfwOm4XcRMNTrQAtljkE8esWg==",
"requires": {
"minecraft-data": "^3.26.0",
- "minecraft-protocol": "^1.40.3",
+ "minecraft-protocol": "^1.42.0",
"prismarine-biome": "^1.1.1",
"prismarine-block": "^1.13.1",
"prismarine-chat": "^1.7.1",
@@ -1211,9 +1211,9 @@
}
},
"node-fetch": {
- "version": "2.6.8",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.8.tgz",
- "integrity": "sha512-RZ6dBYuj8dRSfxpUSu+NsdF1dpPpluJxwOp+6IoDp/sH2QNDSvurYsAa+F1WxY2RjA1iP93xhcsUoYbF2XBqVg==",
+ "version": "2.6.11",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz",
+ "integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==",
"requires": {
"whatwg-url": "^5.0.0"
}
@@ -1325,9 +1325,9 @@
}
},
"prismarine-realms": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/prismarine-realms/-/prismarine-realms-1.3.0.tgz",
- "integrity": "sha512-heAzbP2bI/dGjoHUWAe3pncg3jHwNLjN0nkZb98jbpJxgsogx/8Cqejd1Oc+EVnqnVwNyiyITfCoH3ECqYeikw==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/prismarine-realms/-/prismarine-realms-1.3.2.tgz",
+ "integrity": "sha512-5apl9Ru8veTj5q2OozRc4GZOuSIcs3yY4UEtALiLKHstBe8bRw8vNlaz4Zla3jsQ8yP/ul1b1IJINTRbocuA6g==",
"requires": {
"debug": "^4.3.3",
"node-fetch": "^2.6.1"
@@ -1437,9 +1437,9 @@
}
},
"readable-stream": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.3.0.tgz",
- "integrity": "sha512-MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.4.0.tgz",
+ "integrity": "sha512-kDMOq0qLtxV9f/SQv522h8cxZBqNZXuXNyjyezmfAAuribMyVXziljpQ/uQhfE1XLg2/TLTW2DsnoE4VAi/krg==",
"requires": {
"abort-controller": "^3.0.0",
"buffer": "^6.0.3",
@@ -1458,9 +1458,9 @@
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"semver": {
- "version": "7.3.8",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
- "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+ "version": "7.5.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz",
+ "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==",
"requires": {
"lru-cache": "^6.0.0"
}
diff --git a/automata/package.json b/automata/package.json
index 9ab8ade..8e14cc0 100644
--- a/automata/package.json
+++ b/automata/package.json
@@ -6,7 +6,7 @@
"start": "node index.js"
},
"dependencies": {
- "mineflayer": "^4.8.0",
+ "mineflayer": "^4.9.0",
"rcon-client": "^4.2.3"
}
}
diff --git a/pom.xml b/pom.xml
index b88b449..885a584 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
io.josemmo.bukkit.plugin
YamipaPlugin
- 1.2.10
+ 1.2.11
8
@@ -38,47 +38,62 @@
+
org.spigotmc
spigot-api
- 1.19.4-R0.1-SNAPSHOT
+ 1.20.1-R0.1-SNAPSHOT
provided
+
+
com.comphenix.protocol
ProtocolLib
- 5.0.0-SNAPSHOT
+ 5.0.0
provided
+
+
com.mojang
brigadier
1.0.18
provided
+
+
org.bstats
bstats-bukkit
3.0.2
+
+
com.sk89q.worldguard
worldguard-bukkit
- 7.0.7
+ 7.0.8
provided
+
+
com.github.TechFortress
GriefPrevention
16.18.1
provided
+
+
com.github.TownyAdvanced
towny
- 0.98.6.25
+ 0.99.1.4
provided
+
+
org.jetbrains
annotations
diff --git a/src/main/java/io/josemmo/bukkit/plugin/YamipaPlugin.java b/src/main/java/io/josemmo/bukkit/plugin/YamipaPlugin.java
index 0788a7c..a13d7ef 100644
--- a/src/main/java/io/josemmo/bukkit/plugin/YamipaPlugin.java
+++ b/src/main/java/io/josemmo/bukkit/plugin/YamipaPlugin.java
@@ -1,10 +1,7 @@
package io.josemmo.bukkit.plugin;
import io.josemmo.bukkit.plugin.commands.ImageCommandBridge;
-import io.josemmo.bukkit.plugin.renderer.FakeEntity;
-import io.josemmo.bukkit.plugin.renderer.FakeImage;
-import io.josemmo.bukkit.plugin.renderer.ImageRenderer;
-import io.josemmo.bukkit.plugin.renderer.ItemService;
+import io.josemmo.bukkit.plugin.renderer.*;
import io.josemmo.bukkit.plugin.storage.ImageStorage;
import org.bstats.bukkit.Metrics;
import org.bstats.charts.SimplePie;
@@ -13,6 +10,7 @@
import org.bukkit.plugin.java.JavaPlugin;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
+import java.awt.Color;
import java.nio.file.Path;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
@@ -107,12 +105,14 @@ public void onEnable() {
// Create thread pool
scheduler = Executors.newScheduledThreadPool(6);
- // Warm-up ProtocolLib
+ // Warm-up plugin dependencies
fine("Waiting for ProtocolLib to be ready...");
scheduler.execute(() -> {
FakeEntity.waitForProtocolLib();
fine("ProtocolLib is now ready");
});
+ fine("Triggered map color cache warm-up");
+ FakeMap.pixelToIndex(Color.RED.getRGB()); // Ask for a color index to force cache generation
// Initialize bStats
Function toStats = number -> {