mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-26 15:16:45 +01:00
Merge branch 'v6' into build/v6/annotations
This commit is contained in:
commit
edf0fe0dc9
6
.github/workflows/build.yml
vendored
6
.github/workflows/build.yml
vendored
@ -8,11 +8,11 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Repository
|
- name: Checkout Repository
|
||||||
uses: actions/checkout@v3.0.0
|
uses: actions/checkout@v3
|
||||||
- name: Validate Gradle Wrapper"
|
- name: Validate Gradle Wrapper"
|
||||||
uses: gradle/wrapper-validation-action@v1.0.4
|
uses: gradle/wrapper-validation-action@v1
|
||||||
- name: Setup Java
|
- name: Setup Java
|
||||||
uses: actions/setup-java@v3.0.0
|
uses: actions/setup-java@v3
|
||||||
with:
|
with:
|
||||||
distribution: temurin
|
distribution: temurin
|
||||||
java-version: 17
|
java-version: 17
|
||||||
|
6
.gitignore
vendored
6
.gitignore
vendored
@ -41,7 +41,8 @@ hs_err_pid*
|
|||||||
*.iml
|
*.iml
|
||||||
|
|
||||||
## Directory-based project format:
|
## Directory-based project format:
|
||||||
.idea/
|
/.idea/*
|
||||||
|
!/.idea/icon.svg
|
||||||
# if you remove the above rule, at least ignore the following:
|
# if you remove the above rule, at least ignore the following:
|
||||||
|
|
||||||
# User-specific stuff:
|
# User-specific stuff:
|
||||||
@ -74,9 +75,6 @@ hs_err_pid*
|
|||||||
# IntelliJ
|
# IntelliJ
|
||||||
/out/
|
/out/
|
||||||
|
|
||||||
# mpeltonen/sbt-idea plugin
|
|
||||||
.idea_modules/
|
|
||||||
|
|
||||||
# JIRA plugin
|
# JIRA plugin
|
||||||
atlassian-ide-plugin.xml
|
atlassian-ide-plugin.xml
|
||||||
|
|
||||||
|
49
.idea/icon.svg
Normal file
49
.idea/icon.svg
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 4000 3333.3333" height="3333.3333" width="4000" xml:space="preserve" id="svg2" version="1.1">
|
||||||
|
<metadata id="metadata8">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs id="defs6">
|
||||||
|
<clipPath id="clipPath18" clipPathUnits="userSpaceOnUse">
|
||||||
|
<path id="path16" d="M 0,2500 H 3000 V 0 H 0 Z" />
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<g transform="matrix(1.3333333,0,0,-1.3333333,0,3333.3333)" id="g10">
|
||||||
|
<g id="g12">
|
||||||
|
<g clip-path="url(#clipPath18)" id="g14">
|
||||||
|
<g transform="translate(1486.1511,2242.6453)" id="g20">
|
||||||
|
<path id="path22" style="fill:#2b3f56;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 0,0 c 16.533,10.846 33.211,21.453 50.104,31.699 78.972,-48.281 153.985,-102.704 227.269,-159.144 148.61,-115.422 287.884,-243.01 414.393,-382.333 111.39,-122.861 212.751,-255.152 298.898,-396.971 52.744,-87.322 100.544,-177.884 139.514,-272.214 -11.638,-3.551 -23.108,-7.655 -34.362,-12.286 l -0.24,0.288 c -11.135,12.982 -24.141,24.212 -34.915,37.506 -22.557,23.013 -45.425,45.737 -68.03,68.678 -19.725,20.253 -40.601,39.45 -58.958,60.974 -36.355,36.451 -72.517,73.093 -108.944,109.471 -22.628,26.013 -48.064,49.385 -71.965,74.197 -19.029,19.485 -38.706,38.346 -57.519,57.999 -12.166,14.998 -26.684,27.716 -39.93,41.658 -27.668,27.524 -54.903,55.479 -82.571,82.979 -23.924,27.956 -51.664,52.264 -76.692,79.164 -4.68,4.487 -8.855,10.774 -15.886,11.326 -22.34,34.027 -58.311,57.327 -97.377,67.502 -104.312,99.153 -215.487,191.202 -332.661,274.782 -117.942,-83.94 -229.476,-176.781 -334.484,-276.39 -26.684,-0.024 -53.368,0.024 -80.076,-0.024 0.024,-26.564 0.048,-53.104 0,-79.668 -72.229,-73.021 -139.491,-150.937 -202.385,-232.092 -63.758,-82.619 -121.973,-169.51 -173.541,-260.264 131.932,-69.061 257.864,-149.521 375.926,-240.275 0.096,-26.444 -0.12,-52.888 0.096,-79.332 l 0.744,-0.984 c 20.109,-24.14 43.409,-45.233 65.126,-67.861 15.118,-15.382 30.571,-30.404 45.569,-45.881 17.565,-20.733 37.698,-39.042 56.607,-58.503 19.917,-20.781 41.25,-40.218 59.967,-62.151 29.156,-29.299 58.167,-58.815 87.515,-87.922 29.155,-33.043 61.502,-63.111 92.169,-94.738 13.726,-12.67 25.124,-27.571 38.634,-40.457 25.029,-25.365 50.129,-50.657 75.325,-75.853 -37.914,-51.208 -73.741,-103.952 -107.192,-158.183 -167.83,273.317 -397.235,507.305 -662.37,687.158 -81.875,55.335 -167.23,105.584 -255.681,149.641 -52.815,26.276 -106.831,50.248 -162.239,70.381 99.393,233.628 242.795,446.715 410.289,636.79 93.562,106.088 194.634,205.433 301.466,298.13 C -217.335,-155.808 -111.439,-73.789 0,0" />
|
||||||
|
</g>
|
||||||
|
<g transform="translate(1201.7948,1741.5303)" id="g24">
|
||||||
|
<path id="path26" style="fill:#5693ce;fill-opacity:1;fill-rule:nonzero;stroke:none" d="M 0,0 C 105.008,99.609 216.543,192.45 334.485,276.39 451.659,192.81 562.833,100.76 667.146,1.608 c -34.987,8.83 -71.51,9.718 -107.264,6.431 -41.202,-4.296 -82.907,-19.077 -112.543,-48.953 -33.019,-32.155 -49.456,-77.604 -55.311,-122.501 -28.124,27.908 -56.104,55.983 -84.035,84.083 -2.976,2.976 -6.839,4.823 -10.391,6.911 -19.029,26.348 -45.953,46.673 -76.62,57.495 C 187.555,-2.472 151.513,-0.12 116.166,0 Z" />
|
||||||
|
</g>
|
||||||
|
<g transform="translate(919.3342,1429.7462)" id="g28">
|
||||||
|
<path id="path30" style="fill:#5693ce;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 0,0 c 62.894,81.156 130.156,159.072 202.385,232.092 0.048,-244.21 0.024,-488.421 0,-732.631 C 84.323,-409.785 -41.61,-329.325 -173.541,-260.264 -121.973,-169.51 -63.758,-82.619 0,0" />
|
||||||
|
</g>
|
||||||
|
<g transform="translate(1649.134,1700.6166)" id="g32">
|
||||||
|
<path id="path34" style="fill:#feeeef;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 0,0 c 29.635,29.875 71.341,44.657 112.543,48.952 35.754,3.288 72.277,2.4 107.263,-6.431 39.066,-10.174 75.037,-33.474 97.377,-67.501 11.879,-17.661 20.181,-37.411 26.42,-57.687 10.871,-38.802 11.95,-79.356 11.446,-119.358 -44.345,-0.072 -88.69,0.048 -133.035,-0.072 -1.032,30.907 3.263,63.686 -10.175,92.626 -9.526,20.325 -32.107,31.243 -53.751,32.131 -21.453,1.44 -45.065,-4.32 -59.175,-21.597 -12.79,-15.861 -15.382,-37.002 -16.558,-56.655 -1.295,-29.132 3.696,-59.031 17.518,-84.923 16.821,-30.619 39.378,-57.783 64.526,-81.9 31.387,-32.634 67.501,-60.374 97.857,-94.041 27.332,-28.988 51.256,-61.479 68.005,-97.785 20.541,-41.13 26.972,-87.827 25.82,-133.372 -0.912,-32.107 -5.231,-64.406 -16.149,-94.737 -11.59,-31.699 -31.123,-61.047 -58.335,-81.371 -25.124,-19.125 -55.696,-29.852 -86.651,-34.771 -49.552,-6.743 -101.888,-4.847 -148.465,14.854 -35.227,14.829 -64.238,42.689 -81.708,76.548 -20.996,40.242 -27.115,86.339 -27.259,131.212 0.048,17.829 0,35.658 0.048,53.463 44.345,0.048 88.69,-0.023 133.059,0.048 1.728,-35.538 -4.055,-72.06 5.663,-106.807 5.783,-22.173 26.204,-37.794 48.185,-41.754 20.733,-3.431 43.577,-2.015 61.622,9.791 15.502,9.43 23.949,26.78 26.78,44.225 5.903,35.922 1.872,74.293 -15.381,106.688 -16.918,30.595 -39.474,57.711 -64.55,81.899 -33.187,34.099 -71.173,63.254 -102.585,99.081 -26.756,28.867 -49.408,61.646 -65.486,97.641 -24.572,52.48 -26.731,112.422 -20.18,169.102 C -49.456,-77.604 -33.019,-32.155 0,0" />
|
||||||
|
</g>
|
||||||
|
<g transform="translate(1262.7214,1613.126)" id="g36">
|
||||||
|
<path id="path38" style="fill:#feeeef;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 0,0 v -301.13 c 23.204,0.024 46.409,-0.048 69.613,0.024 18.525,0.288 38.202,6.575 50.153,21.429 12.43,17.277 13.917,39.522 14.613,60.111 0.024,43.985 -0.048,87.994 0.024,131.979 -0.48,23.637 -0.983,50.369 -17.277,69.23 C 104.864,-5.711 86.867,-0.24 69.589,0 46.385,0.048 23.204,0.024 0,0 m -141.002,128.38 c 26.708,0.048 53.392,0 80.075,0.024 H 55.24 c 35.346,-0.12 71.389,-2.471 104.815,-14.925 30.668,-10.823 57.592,-31.148 76.621,-57.496 26.852,-39.09 36.69,-87.202 38.058,-133.947 0.024,-48.833 0.096,-97.689 -0.024,-146.521 -1.728,-47.993 -11.974,-97.953 -41.514,-136.971 -22.748,-30.644 -57.495,-50.801 -94.281,-59.583 -45.377,-11.878 -92.578,-6.791 -138.891,-7.847 -0.072,-111.799 0,-223.574 -0.024,-335.373 -13.942,0 -27.86,0.024 -41.778,-0.024 -32.802,0.072 -65.605,0 -98.384,0.048 l -0.744,0.984 c -0.216,26.444 0,52.888 -0.096,79.332 0.024,244.211 0.048,488.421 0,732.632 0.048,26.563 0.024,53.103 0,79.667" />
|
||||||
|
</g>
|
||||||
|
<g transform="translate(1966.3174,1675.6364)" id="g40">
|
||||||
|
<path id="path42" style="fill:#2a3746;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 0,0 c 7.031,-0.552 11.206,-6.839 15.885,-11.326 25.029,-26.9 52.768,-51.208 76.693,-79.164 27.667,-27.5 54.903,-55.456 82.571,-82.979 13.246,-13.942 27.764,-26.66 39.93,-41.658 18.813,-19.653 38.49,-38.514 57.519,-57.999 23.9,-24.812 49.337,-48.185 71.965,-74.197 36.427,-36.378 72.589,-73.02 108.943,-109.471 18.358,-21.524 39.234,-40.722 58.959,-60.974 22.605,-22.941 45.473,-45.665 68.03,-68.678 10.774,-13.294 23.78,-24.524 34.914,-37.506 -103.904,-41.97 -203.488,-94.114 -298.922,-152.761 -246.994,-152.28 -466.224,-350.298 -639.333,-583.398 -25.197,25.196 -50.297,50.488 -75.325,75.852 -13.51,12.886 -24.908,27.788 -38.634,40.458 -30.667,31.627 -63.014,61.695 -92.17,94.738 -29.347,29.107 -58.359,58.623 -87.514,87.922 -18.717,21.933 -40.05,41.37 -59.967,62.151 -18.909,19.461 -39.042,37.77 -56.607,58.503 -14.998,15.477 -30.452,30.499 -45.569,45.88 -21.717,22.629 -45.017,43.722 -65.126,67.862 32.779,-0.048 65.582,0.024 98.384,-0.048 114.391,-98.097 220.407,-205.984 315.384,-322.99 92.914,114.318 196.242,220.022 307.753,316.271 30.955,4.919 61.526,15.646 86.65,34.771 27.212,20.325 46.745,49.672 58.335,81.371 107.312,77.988 219.327,149.929 337.509,210.376 -35.299,64.67 -75.829,126.437 -118.254,186.643 C 176.253,-228.037 104.24,-140.115 26.42,-57.687 20.181,-37.41 11.878,-17.661 0,0" />
|
||||||
|
</g>
|
||||||
|
<g transform="translate(1499.3971,1669.1094)" id="g44">
|
||||||
|
<path id="path46" style="fill:#3378bc;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 0,0 c 3.551,-2.088 7.415,-3.935 10.39,-6.911 27.932,-28.1 55.912,-56.175 84.036,-84.083 -6.551,-56.679 -4.392,-116.622 20.18,-169.102 16.078,-35.994 38.73,-68.774 65.486,-97.641 31.412,-35.826 69.398,-64.982 102.585,-99.081 25.076,-24.188 47.632,-51.304 64.55,-81.899 17.253,-32.395 21.284,-70.765 15.381,-106.688 -2.831,-17.445 -11.278,-34.794 -26.78,-44.225 -18.045,-11.806 -40.889,-13.222 -61.622,-9.79 -21.981,3.959 -42.402,19.58 -48.185,41.753 -9.718,34.747 -3.935,71.269 -5.663,106.808 -44.369,-0.072 -88.714,0 -133.059,-0.048 -0.048,-17.806 0,-35.635 -0.048,-53.464 0.144,-44.873 6.263,-90.97 27.259,-131.212 17.47,-33.859 46.481,-61.718 81.708,-76.548 46.577,-19.701 98.913,-21.597 148.465,-14.854 -111.511,-96.249 -214.839,-201.953 -307.753,-316.271 -94.977,117.006 -200.993,224.893 -315.383,322.99 13.918,0.048 27.836,0.024 41.777,0.024 0.024,111.799 -0.048,223.574 0.024,335.372 46.313,1.056 93.514,-4.031 138.891,7.847 36.786,8.783 71.533,28.94 94.282,59.583 29.539,39.018 39.785,88.978 41.513,136.971 0.12,48.833 0.048,97.689 0.024,146.522 C 36.69,-87.203 26.852,-39.09 0,0" />
|
||||||
|
</g>
|
||||||
|
<g transform="translate(1748.0469,1601.6797)" id="g48">
|
||||||
|
<path id="path50" style="fill:#3378bc;fill-opacity:1;fill-rule:nonzero;stroke:none" d="M 0,0 C 14.11,17.277 37.722,23.036 59.175,21.597 80.82,20.709 103.4,9.791 112.927,-10.534 c 13.438,-28.94 9.142,-61.719 10.174,-92.626 44.345,0.12 88.691,0 133.036,0.072 0.504,40.002 -0.576,80.556 -11.447,119.358 77.82,-82.428 149.833,-170.35 215.583,-262.664 42.426,-60.207 82.956,-121.973 118.254,-186.643 -118.182,-60.447 -230.196,-132.388 -337.508,-210.376 10.918,30.331 15.238,62.63 16.149,94.737 1.152,45.545 -5.279,92.242 -25.82,133.372 -16.749,36.306 -40.673,68.797 -68.005,97.785 -30.355,33.667 -66.47,61.406 -97.857,94.041 -25.148,24.117 -47.705,51.28 -64.526,81.9 -13.822,25.892 -18.813,55.791 -17.517,84.923 C -15.382,-37.002 -12.79,-15.862 0,0" />
|
||||||
|
</g>
|
||||||
|
<g transform="translate(1262.7214,1613.126)" id="g52">
|
||||||
|
<path id="path54" style="fill:#3378bc;fill-opacity:1;fill-rule:nonzero;stroke:none" d="m 0,0 c 23.204,0.024 46.385,0.048 69.589,0 17.278,-0.24 35.275,-5.711 47.537,-18.357 16.294,-18.861 16.797,-45.593 17.277,-69.23 -0.072,-43.985 0,-87.994 -0.024,-131.979 -0.696,-20.589 -2.183,-42.834 -14.613,-60.111 -11.951,-14.854 -31.628,-21.141 -50.153,-21.429 -23.204,-0.072 -46.409,0 -69.613,-0.024 z" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 10 KiB |
@ -83,7 +83,7 @@ tasks.named<ShadowJar>("shadowJar") {
|
|||||||
relocate("org.jetbrains", "com.plotsquared.core.annotations.jetbrains.annotation")
|
relocate("org.jetbrains", "com.plotsquared.core.annotations.jetbrains.annotation")
|
||||||
relocate("org.intellij.lang", "com.plotsquared.core.annotations.intellij.annotations")
|
relocate("org.intellij.lang", "com.plotsquared.core.annotations.intellij.annotations")
|
||||||
relocate("javax.annotation", "com.plotsquared.core.annotations.javax.annotation")
|
relocate("javax.annotation", "com.plotsquared.core.annotations.javax.annotation")
|
||||||
relocate("com.google.code.findbugs", "com.plotsquared.core.annotations.jsr305")
|
relocate("com.github.spotbugs", "com.plotsquared.core.spotbugs")
|
||||||
relocate("javax.inject", "com.plotsquared.core.annotations.javax.inject")
|
relocate("javax.inject", "com.plotsquared.core.annotations.javax.inject")
|
||||||
relocate("net.jcip", "com.plotsquared.core.annotations.jcip")
|
relocate("net.jcip", "com.plotsquared.core.annotations.jcip")
|
||||||
relocate("edu.umd.cs.findbugs", "com.plotsquared.core.annotations.findbugs")
|
relocate("edu.umd.cs.findbugs", "com.plotsquared.core.annotations.findbugs")
|
||||||
|
@ -76,7 +76,6 @@ import com.plotsquared.core.util.EventDispatcher;
|
|||||||
import com.plotsquared.core.util.MathMan;
|
import com.plotsquared.core.util.MathMan;
|
||||||
import com.plotsquared.core.util.Permissions;
|
import com.plotsquared.core.util.Permissions;
|
||||||
import com.plotsquared.core.util.PremiumVerification;
|
import com.plotsquared.core.util.PremiumVerification;
|
||||||
import com.plotsquared.core.util.RegExUtil;
|
|
||||||
import com.plotsquared.core.util.entity.EntityCategories;
|
import com.plotsquared.core.util.entity.EntityCategories;
|
||||||
import com.plotsquared.core.util.task.TaskManager;
|
import com.plotsquared.core.util.task.TaskManager;
|
||||||
import com.plotsquared.core.util.task.TaskTime;
|
import com.plotsquared.core.util.task.TaskTime;
|
||||||
@ -223,10 +222,9 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("StringSplitter")
|
|
||||||
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST)
|
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST)
|
||||||
public void playerCommand(PlayerCommandPreprocessEvent event) {
|
public void playerCommand(PlayerCommandPreprocessEvent event) {
|
||||||
String msg = event.getMessage().toLowerCase().replaceAll("/", "").trim();
|
String msg = event.getMessage().replace("/", "").toLowerCase(Locale.ROOT).trim();
|
||||||
if (msg.isEmpty()) {
|
if (msg.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -240,11 +238,9 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
|||||||
String[] parts = msg.split(" ");
|
String[] parts = msg.split(" ");
|
||||||
Plot plot = plotPlayer.getCurrentPlot();
|
Plot plot = plotPlayer.getCurrentPlot();
|
||||||
// Check WorldEdit
|
// Check WorldEdit
|
||||||
switch (parts[0].toLowerCase()) {
|
switch (parts[0]) {
|
||||||
case "up":
|
case "up":
|
||||||
case "/up":
|
|
||||||
case "worldedit:up":
|
case "worldedit:up":
|
||||||
case "worldedit:/up":
|
|
||||||
if (plot == null || (!plot.isAdded(plotPlayer.getUUID()) && !Permissions
|
if (plot == null || (!plot.isAdded(plotPlayer.getUUID()) && !Permissions
|
||||||
.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_BUILD_OTHER, true))) {
|
.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_BUILD_OTHER, true))) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
@ -258,63 +254,67 @@ public class PlayerEventListener extends PlotListener implements Listener {
|
|||||||
List<String> blockedCommands = plot != null ?
|
List<String> blockedCommands = plot != null ?
|
||||||
plot.getFlag(BlockedCmdsFlag.class) :
|
plot.getFlag(BlockedCmdsFlag.class) :
|
||||||
area.getFlag(BlockedCmdsFlag.class);
|
area.getFlag(BlockedCmdsFlag.class);
|
||||||
if (!blockedCommands.isEmpty() && !Permissions
|
if (blockedCommands.isEmpty()) {
|
||||||
.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_INTERACT_BLOCKED_CMDS)) {
|
return;
|
||||||
String part = parts[0];
|
}
|
||||||
if (parts[0].contains(":")) {
|
if (Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_INTERACT_BLOCKED_CMDS)) {
|
||||||
part = parts[0].split(":")[1];
|
return;
|
||||||
msg = msg.replace(parts[0].split(":")[0] + ':', "");
|
}
|
||||||
}
|
// When using namespaced commands, we're not interested in the namespace
|
||||||
String s1 = part;
|
String part = parts[0];
|
||||||
List<String> aliases = new ArrayList<>();
|
if (part.contains(":")) {
|
||||||
for (HelpTopic cmdLabel : Bukkit.getServer().getHelpMap().getHelpTopics()) {
|
String[] namespaced = part.split(":");
|
||||||
if (part.equals(cmdLabel.getName())) {
|
part = namespaced[1];
|
||||||
break;
|
msg = msg.substring(namespaced[0].length() + 1);
|
||||||
}
|
}
|
||||||
String label = cmdLabel.getName().replaceFirst("/", "");
|
msg = replaceAliases(msg, part);
|
||||||
if (aliases.contains(label)) {
|
for (String blocked : blockedCommands) {
|
||||||
continue;
|
if (blocked.equalsIgnoreCase(msg)) {
|
||||||
}
|
String perm;
|
||||||
PluginCommand p;
|
if (plot != null && plot.isAdded(plotPlayer.getUUID())) {
|
||||||
if ((p = Bukkit.getPluginCommand(label)) != null) {
|
perm = "plots.admin.command.blocked-cmds.shared";
|
||||||
for (String a : p.getAliases()) {
|
|
||||||
if (aliases.contains(a)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
aliases.add(a);
|
|
||||||
a = a.replaceFirst("/", "");
|
|
||||||
if (!a.equals(label) && a.equals(part)) {
|
|
||||||
part = label;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!s1.equals(part)) {
|
|
||||||
msg = msg.replace(s1, part);
|
|
||||||
}
|
|
||||||
for (String s : blockedCommands) {
|
|
||||||
Pattern pattern;
|
|
||||||
if (!RegExUtil.compiledPatterns.containsKey(s)) {
|
|
||||||
RegExUtil.compiledPatterns.put(s, pattern = Pattern.compile(s));
|
|
||||||
} else {
|
} else {
|
||||||
pattern = RegExUtil.compiledPatterns.get(s);
|
perm = "plots.admin.command.blocked-cmds.road";
|
||||||
}
|
}
|
||||||
if (pattern.matcher(msg).matches()) {
|
if (!Permissions.hasPermission(plotPlayer, perm)) {
|
||||||
String perm;
|
plotPlayer.sendMessage(TranslatableCaption.of("blockedcmds.command_blocked"));
|
||||||
if (plot != null && plot.isAdded(plotPlayer.getUUID())) {
|
event.setCancelled(true);
|
||||||
perm = "plots.admin.command.blocked-cmds.shared";
|
}
|
||||||
} else {
|
return;
|
||||||
perm = "plots.admin.command.blocked-cmds.road";
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private String replaceAliases(String msg, String part) {
|
||||||
|
String s1 = part;
|
||||||
|
Set<String> aliases = new HashSet<>();
|
||||||
|
for (HelpTopic cmdLabel : Bukkit.getServer().getHelpMap().getHelpTopics()) {
|
||||||
|
if (part.equals(cmdLabel.getName())) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
String label = cmdLabel.getName().replaceFirst("/", "");
|
||||||
|
if (aliases.contains(label)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
PluginCommand p = Bukkit.getPluginCommand(label);
|
||||||
|
if (p != null) {
|
||||||
|
for (String a : p.getAliases()) {
|
||||||
|
if (aliases.contains(a)) {
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
if (!Permissions.hasPermission(plotPlayer, perm)) {
|
aliases.add(a);
|
||||||
plotPlayer.sendMessage(TranslatableCaption.of("blockedcmds.command_blocked"));
|
a = a.replaceFirst("/", "");
|
||||||
event.setCancelled(true);
|
if (!a.equals(label) && a.equals(part)) {
|
||||||
|
part = label;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!s1.equals(part)) {
|
||||||
|
msg = msg.replace(s1, part);
|
||||||
|
}
|
||||||
|
return msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||||
|
@ -22,7 +22,7 @@ dependencies {
|
|||||||
api(libs.guiceassistedinject) {
|
api(libs.guiceassistedinject) {
|
||||||
exclude("com.google.inject", "guice")
|
exclude("com.google.inject", "guice")
|
||||||
}
|
}
|
||||||
api(libs.findbugs)
|
api(libs.spotbugs)
|
||||||
|
|
||||||
// Plugins
|
// Plugins
|
||||||
compileOnly(libs.worldeditCore) {
|
compileOnly(libs.worldeditCore) {
|
||||||
|
@ -48,7 +48,7 @@ public class Confirm extends SubCommand {
|
|||||||
player.sendMessage(TranslatableCaption.of("confirm.expired_confirm"));
|
player.sendMessage(TranslatableCaption.of("confirm.expired_confirm"));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
TaskManager.runTaskAsync(command.command);
|
TaskManager.runTask(command.command);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,6 +40,7 @@ import com.plotsquared.core.plot.schematic.Schematic;
|
|||||||
import com.plotsquared.core.plot.world.PlotAreaManager;
|
import com.plotsquared.core.plot.world.PlotAreaManager;
|
||||||
import com.plotsquared.core.util.Permissions;
|
import com.plotsquared.core.util.Permissions;
|
||||||
import com.plotsquared.core.util.SchematicHandler;
|
import com.plotsquared.core.util.SchematicHandler;
|
||||||
|
import com.plotsquared.core.util.TimeUtil;
|
||||||
import com.plotsquared.core.util.task.RunnableVal;
|
import com.plotsquared.core.util.task.RunnableVal;
|
||||||
import com.plotsquared.core.util.task.TaskManager;
|
import com.plotsquared.core.util.task.TaskManager;
|
||||||
import net.kyori.adventure.text.minimessage.Template;
|
import net.kyori.adventure.text.minimessage.Template;
|
||||||
@ -205,7 +206,7 @@ public class Load extends SubCommand {
|
|||||||
if (split.length < 5) {
|
if (split.length < 5) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
String time = secToTime((System.currentTimeMillis() / 1000) - Long.parseLong(split[0]));
|
String time = TimeUtil.secToTime((System.currentTimeMillis() / 1000) - Long.parseLong(split[0]));
|
||||||
String world = split[1];
|
String world = split[1];
|
||||||
PlotId id = PlotId.fromString(split[2] + ';' + split[3]);
|
PlotId id = PlotId.fromString(split[2] + ';' + split[3]);
|
||||||
String size = split[4];
|
String size = split[4];
|
||||||
@ -223,6 +224,10 @@ public class Load extends SubCommand {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @deprecated Use {@link TimeUtil#secToTime(long)}
|
||||||
|
*/
|
||||||
|
@Deprecated(forRemoval = true, since = "6.6.2")
|
||||||
public String secToTime(long time) {
|
public String secToTime(long time) {
|
||||||
StringBuilder toreturn = new StringBuilder();
|
StringBuilder toreturn = new StringBuilder();
|
||||||
if (time >= 33868800) {
|
if (time >= 33868800) {
|
||||||
|
@ -57,8 +57,12 @@ public class SetHome extends SetCommand {
|
|||||||
Plot base = plot.getBasePlot(false);
|
Plot base = plot.getBasePlot(false);
|
||||||
Location bottom = base.getBottomAbs();
|
Location bottom = base.getBottomAbs();
|
||||||
Location location = player.getLocationFull();
|
Location location = player.getLocationFull();
|
||||||
BlockLoc rel = new BlockLoc(location.getX() - bottom.getX(), location.getY(),
|
BlockLoc rel = new BlockLoc(
|
||||||
location.getZ() - bottom.getZ(), location.getYaw(), location.getPitch()
|
location.getX() - bottom.getX(),
|
||||||
|
location.getY(), // y is absolute
|
||||||
|
location.getZ() - bottom.getZ(),
|
||||||
|
location.getYaw(),
|
||||||
|
location.getPitch()
|
||||||
);
|
);
|
||||||
base.setHome(rel);
|
base.setHome(rel);
|
||||||
player.sendMessage(TranslatableCaption.of("position.position_set"));
|
player.sendMessage(TranslatableCaption.of("position.position_set"));
|
||||||
|
@ -389,7 +389,7 @@ public class ClassicPlotManager extends SquarePlotManager {
|
|||||||
if (!plot.isMerged(Direction.NORTH)) {
|
if (!plot.isMerged(Direction.NORTH)) {
|
||||||
int z = bot.getZ();
|
int z = bot.getZ();
|
||||||
for (int x = bot.getX(); x < top.getX(); x++) {
|
for (int x = bot.getX(); x < top.getX(); x++) {
|
||||||
for (int y = classicPlotWorld.getMaxBuildHeight(); y <= classicPlotWorld.WALL_HEIGHT; y++) {
|
for (int y = classicPlotWorld.getMinBuildHeight(); y <= classicPlotWorld.WALL_HEIGHT; y++) {
|
||||||
queue.setBlock(x, y, z, blocks);
|
queue.setBlock(x, y, z, blocks);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -309,7 +309,7 @@ public class PlotListener {
|
|||||||
}
|
}
|
||||||
if ((lastPlot != null) && plot.getId().equals(lastPlot.getId()) && plot.hasOwner()) {
|
if ((lastPlot != null) && plot.getId().equals(lastPlot.getId()) && plot.hasOwner()) {
|
||||||
final UUID plotOwner = plot.getOwnerAbs();
|
final UUID plotOwner = plot.getOwnerAbs();
|
||||||
String owner = PlayerManager.resolveName(plotOwner, false).getComponent(player);
|
String owner = PlayerManager.resolveName(plotOwner, true).getComponent(player);
|
||||||
Caption header = fromFlag ? StaticCaption.of(title) : TranslatableCaption.of("titles" +
|
Caption header = fromFlag ? StaticCaption.of(title) : TranslatableCaption.of("titles" +
|
||||||
".title_entered_plot");
|
".title_entered_plot");
|
||||||
Caption subHeader = fromFlag ? StaticCaption.of(subtitle) : TranslatableCaption.of("titles" +
|
Caption subHeader = fromFlag ? StaticCaption.of(subtitle) : TranslatableCaption.of("titles" +
|
||||||
|
@ -1465,7 +1465,7 @@ public class Plot {
|
|||||||
.at(
|
.at(
|
||||||
bottom.getWorldName(),
|
bottom.getWorldName(),
|
||||||
bottom.getX() + home.getX(),
|
bottom.getX() + home.getX(),
|
||||||
bottom.getY() + home.getY(),
|
home.getY(), // y is absolute
|
||||||
bottom.getZ() + home.getZ(),
|
bottom.getZ() + home.getZ(),
|
||||||
home.getYaw(),
|
home.getYaw(),
|
||||||
home.getPitch()
|
home.getPitch()
|
||||||
|
@ -333,10 +333,9 @@ public final class PlotModificationManager {
|
|||||||
ids.add(current.getId());
|
ids.add(current.getId());
|
||||||
}
|
}
|
||||||
this.plot.clearRatings();
|
this.plot.clearRatings();
|
||||||
QueueCoordinator queue = null;
|
QueueCoordinator queue = this.plot.getArea().getQueue();
|
||||||
if (createSign) {
|
if (createSign) {
|
||||||
this.removeSign();
|
this.removeSign();
|
||||||
queue = this.plot.getArea().getQueue();
|
|
||||||
}
|
}
|
||||||
PlotManager manager = this.plot.getArea().getPlotManager();
|
PlotManager manager = this.plot.getArea().getPlotManager();
|
||||||
if (createRoad) {
|
if (createRoad) {
|
||||||
|
@ -29,6 +29,7 @@ import java.util.HashMap;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
@Deprecated(since = "6.6.2", forRemoval = true)
|
||||||
public class RegExUtil {
|
public class RegExUtil {
|
||||||
|
|
||||||
public static Map<String, Pattern> compiledPatterns;
|
public static Map<String, Pattern> compiledPatterns;
|
||||||
|
@ -44,27 +44,27 @@ public final class TimeUtil {
|
|||||||
StringBuilder toReturn = new StringBuilder();
|
StringBuilder toReturn = new StringBuilder();
|
||||||
if (time >= 33868800) {
|
if (time >= 33868800) {
|
||||||
int years = (int) (time / 33868800);
|
int years = (int) (time / 33868800);
|
||||||
time -= years * 33868800;
|
time -= years * 33868800L;
|
||||||
toReturn.append(years).append("y ");
|
toReturn.append(years).append("y ");
|
||||||
}
|
}
|
||||||
if (time >= 604800) {
|
if (time >= 604800) {
|
||||||
int weeks = (int) (time / 604800);
|
int weeks = (int) (time / 604800);
|
||||||
time -= weeks * 604800;
|
time -= weeks * 604800L;
|
||||||
toReturn.append(weeks).append("w ");
|
toReturn.append(weeks).append("w ");
|
||||||
}
|
}
|
||||||
if (time >= 86400) {
|
if (time >= 86400) {
|
||||||
int days = (int) (time / 86400);
|
int days = (int) (time / 86400);
|
||||||
time -= days * 86400;
|
time -= days * 86400L;
|
||||||
toReturn.append(days).append("d ");
|
toReturn.append(days).append("d ");
|
||||||
}
|
}
|
||||||
if (time >= 3600) {
|
if (time >= 3600) {
|
||||||
int hours = (int) (time / 3600);
|
int hours = (int) (time / 3600);
|
||||||
time -= hours * 3600;
|
time -= hours * 3600L;
|
||||||
toReturn.append(hours).append("h ");
|
toReturn.append(hours).append("h ");
|
||||||
}
|
}
|
||||||
if (time >= 60) {
|
if (time >= 60) {
|
||||||
int minutes = (int) (time / 60);
|
int minutes = (int) (time / 60);
|
||||||
time -= minutes * 60;
|
time -= minutes * 60L;
|
||||||
toReturn.append(minutes).append("m ");
|
toReturn.append(minutes).append("m ");
|
||||||
}
|
}
|
||||||
if (toReturn.length() == 0 || time > 0) {
|
if (toReturn.length() == 0 || time > 0) {
|
||||||
|
@ -18,7 +18,7 @@ plugins {
|
|||||||
idea
|
idea
|
||||||
}
|
}
|
||||||
|
|
||||||
version = "6.6.2-SNAPSHOT"
|
version = "6.6.3-SNAPSHOT"
|
||||||
|
|
||||||
allprojects {
|
allprojects {
|
||||||
group = "com.plotsquared"
|
group = "com.plotsquared"
|
||||||
@ -40,6 +40,9 @@ allprojects {
|
|||||||
maven {
|
maven {
|
||||||
name = "Jitpack"
|
name = "Jitpack"
|
||||||
url = uri("https://jitpack.io")
|
url = uri("https://jitpack.io")
|
||||||
|
content {
|
||||||
|
includeModule("com.github.MilkBowl", "VaultAPI")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
maven {
|
maven {
|
||||||
|
@ -6,9 +6,9 @@ guava = "31.0.1-jre" # Version set by Minecraft
|
|||||||
|
|
||||||
# Platform expectations
|
# Platform expectations
|
||||||
paper = "1.18.1-R0.1-SNAPSHOT"
|
paper = "1.18.1-R0.1-SNAPSHOT"
|
||||||
checker-qual = "3.21.3"
|
checker-qual = "3.21.4"
|
||||||
guice = "5.1.0"
|
guice = "5.1.0"
|
||||||
findbugs = "3.0.1"
|
spotbugs = "4.6.0"
|
||||||
snakeyaml = "1.30" # Version set by Bukkit
|
snakeyaml = "1.30" # Version set by Bukkit
|
||||||
|
|
||||||
# Adventure & MiniMessage
|
# Adventure & MiniMessage
|
||||||
@ -17,8 +17,8 @@ adventure-text-minimessage = "4.1.0-SNAPSHOT"
|
|||||||
adventure-platform-bukkit = "4.0.1"
|
adventure-platform-bukkit = "4.0.1"
|
||||||
|
|
||||||
# Plugins
|
# Plugins
|
||||||
worldedit = "7.2.9"
|
worldedit = "7.2.10"
|
||||||
fawe = "2.1.0"
|
fawe = "2.1.1"
|
||||||
vault = "1.7.1"
|
vault = "1.7.1"
|
||||||
placeholderapi = "2.11.1"
|
placeholderapi = "2.11.1"
|
||||||
luckperms = "5.4"
|
luckperms = "5.4"
|
||||||
@ -33,7 +33,7 @@ arkitektonika = "2.1.1"
|
|||||||
paster = "1.1.4"
|
paster = "1.1.4"
|
||||||
bstats = "3.0.0"
|
bstats = "3.0.0"
|
||||||
paperlib = "1.0.7"
|
paperlib = "1.0.7"
|
||||||
squirrelid = "0.3.0"
|
squirrelid = "0.3.1"
|
||||||
serverlib = "2.3.1"
|
serverlib = "2.3.1"
|
||||||
http4j = "1.3"
|
http4j = "1.3"
|
||||||
|
|
||||||
@ -56,7 +56,7 @@ log4j = { group = "org.apache.logging.log4j", name = "log4j-api", version.ref =
|
|||||||
snakeyaml = { group = "org.yaml", name = "snakeyaml", version.ref = "snakeyaml" }
|
snakeyaml = { group = "org.yaml", name = "snakeyaml", version.ref = "snakeyaml" }
|
||||||
guice = { group = "com.google.inject", name = "guice", version.ref = "guice" }
|
guice = { group = "com.google.inject", name = "guice", version.ref = "guice" }
|
||||||
guiceassistedinject = { group = "com.google.inject.extensions", name = "guice-assistedinject", version.ref = "guice" }
|
guiceassistedinject = { group = "com.google.inject.extensions", name = "guice-assistedinject", version.ref = "guice" }
|
||||||
findbugs = { group = "com.google.code.findbugs", name = "annotations", version.ref = "findbugs" }
|
spotbugs = { group = "com.github.spotbugs", name = "spotbugs-annotations", version.ref = "spotbugs" }
|
||||||
|
|
||||||
# Adventure & MiniMessage
|
# Adventure & MiniMessage
|
||||||
adventure = { group = "net.kyori", name = "adventure-api", version.ref = "adventure-api" }
|
adventure = { group = "net.kyori", name = "adventure-api", version.ref = "adventure-api" }
|
||||||
@ -78,7 +78,7 @@ prtree = { group = "com.intellectualsites.prtree", name = "PRTree", version.ref
|
|||||||
aopalliance = { group = "aopalliance", name = "aopalliance", version.ref = "aopalliance" }
|
aopalliance = { group = "aopalliance", name = "aopalliance", version.ref = "aopalliance" }
|
||||||
cloudServices = { group = "cloud.commandframework", name = "cloud-services", version.ref = "cloud-services" }
|
cloudServices = { group = "cloud.commandframework", name = "cloud-services", version.ref = "cloud-services" }
|
||||||
mvdwapi = { group = "com.intellectualsites.mvdwplaceholderapi", name = "MVdWPlaceholderAPI", version.ref = "mvdwapi" }
|
mvdwapi = { group = "com.intellectualsites.mvdwplaceholderapi", name = "MVdWPlaceholderAPI", version.ref = "mvdwapi" }
|
||||||
squirrelid = { group = "com.github.EngineHub", name = "SquirrelID", version.ref = "squirrelid" }
|
squirrelid = { group = "org.enginehub", name = "squirrelid", version.ref = "squirrelid" }
|
||||||
serverlib = { group = "dev.notmyfault.serverlib", name = "ServerLib", version.ref = "serverlib" }
|
serverlib = { group = "dev.notmyfault.serverlib", name = "ServerLib", version.ref = "serverlib" }
|
||||||
bstats = { group = "org.bstats", name = "bstats-bukkit", version.ref = "bstats" }
|
bstats = { group = "org.bstats", name = "bstats-bukkit", version.ref = "bstats" }
|
||||||
paperlib = { group = "io.papermc", name = "paperlib", version.ref = "paperlib" }
|
paperlib = { group = "io.papermc", name = "paperlib", version.ref = "paperlib" }
|
||||||
|
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@ -1,5 +1,5 @@
|
|||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.1-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
|
Loading…
Reference in New Issue
Block a user