mirror of
				https://github.com/IntellectualSites/PlotSquared.git
				synced 2025-10-25 07:33:44 +02:00 
			
		
		
		
	Compare commits
	
		
			48 Commits
		
	
	
		
			6.6.0
			...
			chore/v6/s
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | a92e5c83e2 | ||
|   | 2a6d448afd | ||
|   | 13d7357c85 | ||
| ![renovate[bot]](/assets/img/avatar_default.png)  | 16e26b910c | ||
|   | faadebd30e | ||
|   | 2aeacb3dcf | ||
|   | 9db7791835 | ||
|   | f49ddb819d | ||
| ![renovate[bot]](/assets/img/avatar_default.png)  | d71c62771e | ||
|   | a6aaa9538f | ||
| ![renovate[bot]](/assets/img/avatar_default.png)  | 0974fb2834 | ||
| ![renovate[bot]](/assets/img/avatar_default.png)  | 8982b33b6c | ||
|   | a7b3b3b7df | ||
|   | 888bb20e78 | ||
|   | b11bb6fa22 | ||
|   | e5764b958d | ||
|   | bfe3141ff1 | ||
|   | 73c82deeb0 | ||
|   | 38682ecff6 | ||
|   | 6a54dc7eff | ||
|   | 8454c29c91 | ||
| ![renovate[bot]](/assets/img/avatar_default.png)  | b2c9311a47 | ||
| ![renovate[bot]](/assets/img/avatar_default.png)  | c4aa497a2b | ||
|   | c13f544390 | ||
|   | c28177d6af | ||
|   | 8a80f252cf | ||
| ![renovate[bot]](/assets/img/avatar_default.png)  | 93571c72d1 | ||
| ![renovate[bot]](/assets/img/avatar_default.png)  | 6fd7379221 | ||
|   | dc5c80d812 | ||
|   | 96e9a61e7c | ||
|   | b9bd9b81e6 | ||
| ![renovate[bot]](/assets/img/avatar_default.png)  | ec77812879 | ||
|   | efc2083798 | ||
|   | 3a6f845c01 | ||
|   | 7efd42ae45 | ||
| ![renovate[bot]](/assets/img/avatar_default.png)  | f43f4cbf5d | ||
| ![renovate[bot]](/assets/img/avatar_default.png)  | 104cc4b7a4 | ||
| ![renovate[bot]](/assets/img/avatar_default.png)  | 218be43143 | ||
|   | 308dba5601 | ||
|   | 5f233bb5d1 | ||
|   | 5e188d114f | ||
|   | 660e05d27f | ||
|   | 4c0ad148bf | ||
|   | 5c7bfb988c | ||
| ![renovate[bot]](/assets/img/avatar_default.png)  | b46f486680 | ||
| ![renovate[bot]](/assets/img/avatar_default.png)  | 05797d0c78 | ||
| ![renovate[bot]](/assets/img/avatar_default.png)  | 36ef2cf9ba | ||
|   | 26ec31a012 | 
							
								
								
									
										2
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							| @@ -8,7 +8,7 @@ jobs: | |||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout Repository |       - name: Checkout Repository | ||||||
|         uses: actions/checkout@v2 |         uses: actions/checkout@v3 | ||||||
|       - name: Validate Gradle Wrapper" |       - name: Validate Gradle Wrapper" | ||||||
|         uses: gradle/wrapper-validation-action@v1 |         uses: gradle/wrapper-validation-action@v1 | ||||||
|       - name: Setup Java |       - name: Setup Java | ||||||
|   | |||||||
							
								
								
									
										8
									
								
								.github/workflows/codeql.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								.github/workflows/codeql.yml
									
									
									
									
										vendored
									
									
								
							| @@ -23,15 +23,15 @@ jobs: | |||||||
|  |  | ||||||
|     steps: |     steps: | ||||||
|       - name: Checkout repository |       - name: Checkout repository | ||||||
|         uses: actions/checkout@v2 |         uses: actions/checkout@v3 | ||||||
|  |  | ||||||
|       - name: Initialize CodeQL |       - name: Initialize CodeQL | ||||||
|         uses: github/codeql-action/init@v1 |         uses: github/codeql-action/init@v2 | ||||||
|         with: |         with: | ||||||
|           languages: ${{ matrix.language }} |           languages: ${{ matrix.language }} | ||||||
|  |  | ||||||
|       - name: Autobuild |       - name: Autobuild | ||||||
|         uses: github/codeql-action/autobuild@v1 |         uses: github/codeql-action/autobuild@v2 | ||||||
|  |  | ||||||
|       - name: Perform CodeQL Analysis |       - name: Perform CodeQL Analysis | ||||||
|         uses: github/codeql-action/analyze@v1 |         uses: github/codeql-action/analyze@v2 | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								.github/workflows/release-drafter.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/release-drafter.yml
									
									
									
									
										vendored
									
									
								
							| @@ -14,6 +14,6 @@ jobs: | |||||||
|     if: ${{ github.event_name != 'pull_request' || github.repository != github.event.pull_request.head.repo.full_name }} |     if: ${{ github.event_name != 'pull_request' || github.repository != github.event.pull_request.head.repo.full_name }} | ||||||
|     runs-on: ubuntu-latest |     runs-on: ubuntu-latest | ||||||
|     steps: |     steps: | ||||||
|       - uses: release-drafter/release-drafter@v5 |       - uses: release-drafter/release-drafter@v5.19.0 | ||||||
|         env: |         env: | ||||||
|           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||||
|   | |||||||
							
								
								
									
										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
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								.idea/icon.svg
									
									
									
										generated
									
									
									
										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") |     relocate("org.jetbrains", "com.plotsquared.core.annotations") | ||||||
|     relocate("org.intellij.lang", "com.plotsquared.core.intellij.annotations") |     relocate("org.intellij.lang", "com.plotsquared.core.intellij.annotations") | ||||||
|     relocate("javax.annotation", "com.plotsquared.core.annotation") |     relocate("javax.annotation", "com.plotsquared.core.annotation") | ||||||
|     relocate("com.google.code.findbugs", "com.plotsquared.core.findbugs") |     relocate("com.github.spotbugs", "com.plotsquared.core.spotbugs") | ||||||
|     relocate("javax.inject", "com.plotsquared.core.annotation.inject") |     relocate("javax.inject", "com.plotsquared.core.annotation.inject") | ||||||
|  |  | ||||||
|     // Get rid of all the libs which are 100% unused. |     // Get rid of all the libs which are 100% unused. | ||||||
|   | |||||||
| @@ -80,7 +80,8 @@ final class DelegatePlotGenerator extends IndependentPlotGenerator { | |||||||
|                     result.setBiome(x, z, BukkitAdapter.adapt(biome)); |                     result.setBiome(x, z, BukkitAdapter.adapt(biome)); | ||||||
|                 } |                 } | ||||||
|  |  | ||||||
|                 //do not annotate with Override until we discontinue support for 1.4.4 |                 //do not annotate with Override until we discontinue support for 1.4.4 (we no longer support 1.4.4) | ||||||
|  |                 @Override | ||||||
|                 public void setBiome(int x, int y, int z, @NonNull Biome biome) { |                 public void setBiome(int x, int y, int z, @NonNull Biome biome) { | ||||||
|                     result.setBiome(x, z, BukkitAdapter.adapt(biome)); |                     result.setBiome(x, z, BukkitAdapter.adapt(biome)); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -44,6 +44,7 @@ import com.plotsquared.core.player.PlotPlayer; | |||||||
| import com.plotsquared.core.plot.Plot; | import com.plotsquared.core.plot.Plot; | ||||||
| import com.plotsquared.core.plot.PlotArea; | import com.plotsquared.core.plot.PlotArea; | ||||||
| import com.plotsquared.core.plot.flag.implementations.DoneFlag; | import com.plotsquared.core.plot.flag.implementations.DoneFlag; | ||||||
|  | import com.plotsquared.core.plot.flag.implementations.ProjectilesFlag; | ||||||
| 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 net.kyori.adventure.text.minimessage.Template; | import net.kyori.adventure.text.minimessage.Template; | ||||||
| @@ -352,6 +353,7 @@ public class PaperListener implements Listener { | |||||||
|                 event.setCancelled(true); |                 event.setCancelled(true); | ||||||
|             } |             } | ||||||
|         } else if (!plot.isAdded(pp.getUUID())) { |         } else if (!plot.isAdded(pp.getUUID())) { | ||||||
|  |             if (!plot.getFlag(ProjectilesFlag.class)) { | ||||||
|                 if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_PROJECTILE_OTHER)) { |                 if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_PROJECTILE_OTHER)) { | ||||||
|                     pp.sendMessage( |                     pp.sendMessage( | ||||||
|                             TranslatableCaption.of("permission.no_permission_event"), |                             TranslatableCaption.of("permission.no_permission_event"), | ||||||
| @@ -362,6 +364,7 @@ public class PaperListener implements Listener { | |||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|     @EventHandler |     @EventHandler | ||||||
|     public void onAsyncTabCompletion(final AsyncTabCompleteEvent event) { |     public void onAsyncTabCompletion(final AsyncTabCompleteEvent event) { | ||||||
|   | |||||||
| @@ -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,15 +254,40 @@ 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(":")) { |  | ||||||
|                 part = parts[0].split(":")[1]; |  | ||||||
|                 msg = msg.replace(parts[0].split(":")[0] + ':', ""); |  | ||||||
|         } |         } | ||||||
|  |         if (Permissions.hasPermission(plotPlayer, Permission.PERMISSION_ADMIN_INTERACT_BLOCKED_CMDS)) { | ||||||
|  |             return; | ||||||
|  |         } | ||||||
|  |         // When using namespaced commands, we're not interested in the namespace | ||||||
|  |         String part = parts[0]; | ||||||
|  |         if (part.contains(":")) { | ||||||
|  |             String[] namespaced = part.split(":"); | ||||||
|  |             part = namespaced[1]; | ||||||
|  |             msg = msg.substring(namespaced[0].length() + 1); | ||||||
|  |         } | ||||||
|  |         msg = replaceAliases(msg, part); | ||||||
|  |         for (String blocked : blockedCommands) { | ||||||
|  |             if (blocked.equalsIgnoreCase(msg)) { | ||||||
|  |                 String perm; | ||||||
|  |                 if (plot != null && plot.isAdded(plotPlayer.getUUID())) { | ||||||
|  |                     perm = "plots.admin.command.blocked-cmds.shared"; | ||||||
|  |                 } else { | ||||||
|  |                     perm = "plots.admin.command.blocked-cmds.road"; | ||||||
|  |                 } | ||||||
|  |                 if (!Permissions.hasPermission(plotPlayer, perm)) { | ||||||
|  |                     plotPlayer.sendMessage(TranslatableCaption.of("blockedcmds.command_blocked")); | ||||||
|  |                     event.setCancelled(true); | ||||||
|  |                 } | ||||||
|  |                 return; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     private String replaceAliases(String msg, String part) { | ||||||
|         String s1 = part; |         String s1 = part; | ||||||
|             List<String> aliases = new ArrayList<>(); |         Set<String> aliases = new HashSet<>(); | ||||||
|         for (HelpTopic cmdLabel : Bukkit.getServer().getHelpMap().getHelpTopics()) { |         for (HelpTopic cmdLabel : Bukkit.getServer().getHelpMap().getHelpTopics()) { | ||||||
|             if (part.equals(cmdLabel.getName())) { |             if (part.equals(cmdLabel.getName())) { | ||||||
|                 break; |                 break; | ||||||
| @@ -275,8 +296,8 @@ public class PlayerEventListener extends PlotListener implements Listener { | |||||||
|             if (aliases.contains(label)) { |             if (aliases.contains(label)) { | ||||||
|                 continue; |                 continue; | ||||||
|             } |             } | ||||||
|                 PluginCommand p; |             PluginCommand p = Bukkit.getPluginCommand(label); | ||||||
|                 if ((p = Bukkit.getPluginCommand(label)) != null) { |             if (p != null) { | ||||||
|                 for (String a : p.getAliases()) { |                 for (String a : p.getAliases()) { | ||||||
|                     if (aliases.contains(a)) { |                     if (aliases.contains(a)) { | ||||||
|                         continue; |                         continue; | ||||||
| @@ -293,28 +314,7 @@ public class PlayerEventListener extends PlotListener implements Listener { | |||||||
|         if (!s1.equals(part)) { |         if (!s1.equals(part)) { | ||||||
|             msg = msg.replace(s1, part); |             msg = msg.replace(s1, part); | ||||||
|         } |         } | ||||||
|             for (String s : blockedCommands) { |         return msg; | ||||||
|                 Pattern pattern; |  | ||||||
|                 if (!RegExUtil.compiledPatterns.containsKey(s)) { |  | ||||||
|                     RegExUtil.compiledPatterns.put(s, pattern = Pattern.compile(s)); |  | ||||||
|                 } else { |  | ||||||
|                     pattern = RegExUtil.compiledPatterns.get(s); |  | ||||||
|                 } |  | ||||||
|                 if (pattern.matcher(msg).matches()) { |  | ||||||
|                     String perm; |  | ||||||
|                     if (plot != null && plot.isAdded(plotPlayer.getUUID())) { |  | ||||||
|                         perm = "plots.admin.command.blocked-cmds.shared"; |  | ||||||
|                     } else { |  | ||||||
|                         perm = "plots.admin.command.blocked-cmds.road"; |  | ||||||
|                     } |  | ||||||
|                     if (!Permissions.hasPermission(plotPlayer, perm)) { |  | ||||||
|                         plotPlayer.sendMessage(TranslatableCaption.of("blockedcmds.command_blocked")); |  | ||||||
|                         event.setCancelled(true); |  | ||||||
|                     } |  | ||||||
|                     return; |  | ||||||
|                 } |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) |     @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) | ||||||
|   | |||||||
| @@ -35,6 +35,7 @@ import com.plotsquared.core.player.PlotPlayer; | |||||||
| import com.plotsquared.core.plot.Plot; | import com.plotsquared.core.plot.Plot; | ||||||
| import com.plotsquared.core.plot.PlotArea; | import com.plotsquared.core.plot.PlotArea; | ||||||
| import com.plotsquared.core.plot.PlotHandler; | import com.plotsquared.core.plot.PlotHandler; | ||||||
|  | import com.plotsquared.core.plot.flag.implementations.ProjectilesFlag; | ||||||
| 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 net.kyori.adventure.text.minimessage.Template; | import net.kyori.adventure.text.minimessage.Template; | ||||||
| @@ -128,6 +129,7 @@ public class ProjectileEventListener implements Listener { | |||||||
|                 event.setCancelled(true); |                 event.setCancelled(true); | ||||||
|             } |             } | ||||||
|         } else if (!plot.isAdded(pp.getUUID())) { |         } else if (!plot.isAdded(pp.getUUID())) { | ||||||
|  |             if (!plot.getFlag(ProjectilesFlag.class)) { | ||||||
|                 if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_PROJECTILE_OTHER)) { |                 if (!Permissions.hasPermission(pp, Permission.PERMISSION_ADMIN_PROJECTILE_OTHER)) { | ||||||
|                     pp.sendMessage( |                     pp.sendMessage( | ||||||
|                             TranslatableCaption.of("permission.no_permission_event"), |                             TranslatableCaption.of("permission.no_permission_event"), | ||||||
| @@ -138,6 +140,7 @@ public class ProjectileEventListener implements Listener { | |||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|     @EventHandler |     @EventHandler | ||||||
|     public void onProjectileHit(ProjectileHitEvent event) { |     public void onProjectileHit(ProjectileHitEvent event) { | ||||||
| @@ -162,7 +165,7 @@ public class ProjectileEventListener implements Listener { | |||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
|             if (plot.isAdded(pp.getUUID()) || Permissions |             if (plot.isAdded(pp.getUUID()) || Permissions | ||||||
|                     .hasPermission(pp, Permission.PERMISSION_ADMIN_PROJECTILE_OTHER)) { |                     .hasPermission(pp, Permission.PERMISSION_ADMIN_PROJECTILE_OTHER) || plot.getFlag(ProjectilesFlag.class)) { | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
|             entity.remove(); |             entity.remove(); | ||||||
|   | |||||||
| @@ -46,7 +46,7 @@ import static com.plotsquared.core.util.ReflectionUtils.getRefClass; | |||||||
| public class SingleWorldListener implements Listener { | public class SingleWorldListener implements Listener { | ||||||
|  |  | ||||||
|     private final Method methodGetHandleChunk; |     private final Method methodGetHandleChunk; | ||||||
|     private Field shouldSave; |     private Field shouldSave = null; | ||||||
|  |  | ||||||
|     public SingleWorldListener() throws Exception { |     public SingleWorldListener() throws Exception { | ||||||
|         ReflectionUtils.RefClass classCraftChunk = getRefClass("{cb}.CraftChunk"); |         ReflectionUtils.RefClass classCraftChunk = getRefClass("{cb}.CraftChunk"); | ||||||
| @@ -59,9 +59,12 @@ public class SingleWorldListener implements Listener { | |||||||
|                 } else { |                 } else { | ||||||
|                     this.shouldSave = classChunk.getField("s").getRealField(); |                     this.shouldSave = classChunk.getField("s").getRealField(); | ||||||
|                 } |                 } | ||||||
|             } else { |             } else if (PlotSquared.platform().serverVersion()[1] == 17) { | ||||||
|                 ReflectionUtils.RefClass classChunk = getRefClass("net.minecraft.world.level.chunk.Chunk"); |                 ReflectionUtils.RefClass classChunk = getRefClass("net.minecraft.world.level.chunk.Chunk"); | ||||||
|                 this.shouldSave = classChunk.getField("r").getRealField(); |                 this.shouldSave = classChunk.getField("r").getRealField(); | ||||||
|  |             } else if (PlotSquared.platform().serverVersion()[1] == 18) { | ||||||
|  |                 ReflectionUtils.RefClass classChunk = getRefClass("net.minecraft.world.level.chunk.IChunkAccess"); | ||||||
|  |                 this.shouldSave = classChunk.getField("b").getRealField(); | ||||||
|             } |             } | ||||||
|         } catch (NoSuchFieldException e) { |         } catch (NoSuchFieldException e) { | ||||||
|             e.printStackTrace(); |             e.printStackTrace(); | ||||||
|   | |||||||
| @@ -347,14 +347,16 @@ public class BukkitUtil extends WorldUtil { | |||||||
|             final Block block = world.getBlockAt(location.getX(), location.getY(), location.getZ()); |             final Block block = world.getBlockAt(location.getX(), location.getY(), location.getZ()); | ||||||
|             final Material type = block.getType(); |             final Material type = block.getType(); | ||||||
|             if (type != Material.LEGACY_SIGN && type != Material.LEGACY_WALL_SIGN) { |             if (type != Material.LEGACY_SIGN && type != Material.LEGACY_WALL_SIGN) { | ||||||
|                 BlockFace facing = BlockFace.EAST; |                 BlockFace facing = BlockFace.NORTH; | ||||||
|                 if (world.getBlockAt(location.getX(), location.getY(), location.getZ() + 1).getType().isSolid()) { |                 if (!world.getBlockAt(location.getX(), location.getY(), location.getZ() + 1).getType().isSolid()) { | ||||||
|                     facing = BlockFace.NORTH; |                     if (world.getBlockAt(location.getX() - 1, location.getY(), location.getZ()).getType().isSolid()) { | ||||||
|  |                         facing = BlockFace.EAST; | ||||||
|                     } else if (world.getBlockAt(location.getX() + 1, location.getY(), location.getZ()).getType().isSolid()) { |                     } else if (world.getBlockAt(location.getX() + 1, location.getY(), location.getZ()).getType().isSolid()) { | ||||||
|                         facing = BlockFace.WEST; |                         facing = BlockFace.WEST; | ||||||
|                     } else if (world.getBlockAt(location.getX(), location.getY(), location.getZ() - 1).getType().isSolid()) { |                     } else if (world.getBlockAt(location.getX(), location.getY(), location.getZ() - 1).getType().isSolid()) { | ||||||
|                         facing = BlockFace.SOUTH; |                         facing = BlockFace.SOUTH; | ||||||
|                     } |                     } | ||||||
|  |                 } | ||||||
|                 if (PlotSquared.platform().serverVersion()[1] == 13) { |                 if (PlotSquared.platform().serverVersion()[1] == 13) { | ||||||
|                     block.setType(Material.valueOf(area.legacySignMaterial()), false); |                     block.setType(Material.valueOf(area.legacySignMaterial()), false); | ||||||
|                 } else { |                 } else { | ||||||
|   | |||||||
| @@ -67,7 +67,7 @@ public class FaweSchematicHandler extends SchematicHandler { | |||||||
|             final PlotPlayer<?> actor, |             final PlotPlayer<?> actor, | ||||||
|             final RunnableVal<Boolean> whenDone |             final RunnableVal<Boolean> whenDone | ||||||
|     ) { |     ) { | ||||||
|         delegate.paste(schematic, plot, xOffset, yOffset, zOffset, autoHeight, whenDone); |         delegate.paste(schematic, plot, xOffset, yOffset, zOffset, autoHeight, actor, whenDone); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|   | |||||||
| @@ -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) { | ||||||
|   | |||||||
| @@ -889,8 +889,8 @@ public class PlotSquared { | |||||||
|                             e.printStackTrace(); |                             e.printStackTrace(); | ||||||
|                         } |                         } | ||||||
|                         LOGGER.info("| generator: {}>{}", baseGenerator, areaGen); |                         LOGGER.info("| generator: {}>{}", baseGenerator, areaGen); | ||||||
|                         LOGGER.info("| plot world: {}", pa); |                         LOGGER.info("| plot world: {}", pa.getClass().getCanonicalName()); | ||||||
|                         LOGGER.info("| manager: {}", pa); |                         LOGGER.info("| manager: {}", pa.getPlotManager().getClass().getCanonicalName()); | ||||||
|                         LOGGER.info("Note: Area created for cluster '{}' (invalid or old configuration?)", name); |                         LOGGER.info("Note: Area created for cluster '{}' (invalid or old configuration?)", name); | ||||||
|                         areaGen.getPlotGenerator().initialize(pa); |                         areaGen.getPlotGenerator().initialize(pa); | ||||||
|                         areaGen.augment(pa); |                         areaGen.augment(pa); | ||||||
| @@ -906,6 +906,13 @@ public class PlotSquared { | |||||||
|                     throw new IllegalArgumentException("Invalid Generator: " + gen_string); |                     throw new IllegalArgumentException("Invalid Generator: " + gen_string); | ||||||
|                 } |                 } | ||||||
|                 PlotArea pa = areaGen.getPlotGenerator().getNewPlotArea(world, null, null, null); |                 PlotArea pa = areaGen.getPlotGenerator().getNewPlotArea(world, null, null, null); | ||||||
|  |                 LOGGER.info("- generator: {}>{}", baseGenerator, areaGen); | ||||||
|  |                 LOGGER.info("- plot world: {}", pa.getClass().getCanonicalName()); | ||||||
|  |                 LOGGER.info("- plot area manager: {}", pa.getPlotManager().getClass().getCanonicalName()); | ||||||
|  |                 if (!this.worldConfiguration.contains(path)) { | ||||||
|  |                     this.worldConfiguration.createSection(path); | ||||||
|  |                     worldSection = this.worldConfiguration.getConfigurationSection(path); | ||||||
|  |                 } | ||||||
|                 pa.saveConfiguration(worldSection); |                 pa.saveConfiguration(worldSection); | ||||||
|                 pa.loadDefaultConfiguration(worldSection); |                 pa.loadDefaultConfiguration(worldSection); | ||||||
|                 try { |                 try { | ||||||
| @@ -913,9 +920,6 @@ public class PlotSquared { | |||||||
|                 } catch (IOException e) { |                 } catch (IOException e) { | ||||||
|                     e.printStackTrace(); |                     e.printStackTrace(); | ||||||
|                 } |                 } | ||||||
|                 LOGGER.info("- generator: {}>{}", baseGenerator, areaGen); |  | ||||||
|                 LOGGER.info("- plot world: {}", pa); |  | ||||||
|                 LOGGER.info("- plot area manager: {}", pa.getPlotManager()); |  | ||||||
|                 areaGen.getPlotGenerator().initialize(pa); |                 areaGen.getPlotGenerator().initialize(pa); | ||||||
|                 areaGen.augment(pa); |                 areaGen.augment(pa); | ||||||
|                 addPlotArea(pa); |                 addPlotArea(pa); | ||||||
|   | |||||||
| @@ -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" + | ||||||
|   | |||||||
| @@ -35,6 +35,7 @@ import com.plotsquared.core.plot.world.PlotAreaManager; | |||||||
| import com.plotsquared.core.util.Permissions; | import com.plotsquared.core.util.Permissions; | ||||||
| import com.plotsquared.core.util.WEManager; | import com.plotsquared.core.util.WEManager; | ||||||
| import com.plotsquared.core.util.WorldUtil; | import com.plotsquared.core.util.WorldUtil; | ||||||
|  | import com.sk89q.worldedit.EditSession; | ||||||
| import com.sk89q.worldedit.WorldEdit; | import com.sk89q.worldedit.WorldEdit; | ||||||
| import com.sk89q.worldedit.entity.Player; | import com.sk89q.worldedit.entity.Player; | ||||||
| import com.sk89q.worldedit.event.extent.EditSessionEvent; | import com.sk89q.worldedit.event.extent.EditSessionEvent; | ||||||
| @@ -67,6 +68,9 @@ public class WESubscriber { | |||||||
|             WorldEdit.getInstance().getEventBus().unregister(this); |             WorldEdit.getInstance().getEventBus().unregister(this); | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|  |         if (event.getStage() != EditSession.Stage.BEFORE_HISTORY) { | ||||||
|  |             return; | ||||||
|  |         } | ||||||
|         World worldObj = event.getWorld(); |         World worldObj = event.getWorld(); | ||||||
|         if (worldObj == null) { |         if (worldObj == null) { | ||||||
|             return; |             return; | ||||||
|   | |||||||
| @@ -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) { | ||||||
|   | |||||||
| @@ -93,6 +93,7 @@ import com.plotsquared.core.plot.flag.implementations.PlayerInteractFlag; | |||||||
| import com.plotsquared.core.plot.flag.implementations.PlotTitleFlag; | import com.plotsquared.core.plot.flag.implementations.PlotTitleFlag; | ||||||
| import com.plotsquared.core.plot.flag.implementations.PreventCreativeCopyFlag; | import com.plotsquared.core.plot.flag.implementations.PreventCreativeCopyFlag; | ||||||
| import com.plotsquared.core.plot.flag.implementations.PriceFlag; | import com.plotsquared.core.plot.flag.implementations.PriceFlag; | ||||||
|  | import com.plotsquared.core.plot.flag.implementations.ProjectilesFlag; | ||||||
| import com.plotsquared.core.plot.flag.implementations.PveFlag; | import com.plotsquared.core.plot.flag.implementations.PveFlag; | ||||||
| import com.plotsquared.core.plot.flag.implementations.PvpFlag; | import com.plotsquared.core.plot.flag.implementations.PvpFlag; | ||||||
| import com.plotsquared.core.plot.flag.implementations.RedstoneFlag; | import com.plotsquared.core.plot.flag.implementations.RedstoneFlag; | ||||||
| @@ -198,6 +199,7 @@ public final class GlobalFlagContainer extends FlagContainer { | |||||||
|         this.addFlag(VehicleUseFlag.VEHICLE_USE_FALSE); |         this.addFlag(VehicleUseFlag.VEHICLE_USE_FALSE); | ||||||
|         this.addFlag(VillagerInteractFlag.VILLAGER_INTERACT_FALSE); |         this.addFlag(VillagerInteractFlag.VILLAGER_INTERACT_FALSE); | ||||||
|         this.addFlag(VineGrowFlag.VINE_GROW_TRUE); |         this.addFlag(VineGrowFlag.VINE_GROW_TRUE); | ||||||
|  |         this.addFlag(ProjectilesFlag.PROJECTILES_FALSE); | ||||||
|  |  | ||||||
|         // Double flags |         // Double flags | ||||||
|         this.addFlag(PriceFlag.PRICE_NOT_BUYABLE); |         this.addFlag(PriceFlag.PRICE_NOT_BUYABLE); | ||||||
|   | |||||||
| @@ -0,0 +1,46 @@ | |||||||
|  | /* | ||||||
|  |  *       _____  _       _    _____                                _ | ||||||
|  |  *      |  __ \| |     | |  / ____|                              | | | ||||||
|  |  *      | |__) | | ___ | |_| (___   __ _ _   _  __ _ _ __ ___  __| | | ||||||
|  |  *      |  ___/| |/ _ \| __|\___ \ / _` | | | |/ _` | '__/ _ \/ _` | | ||||||
|  |  *      | |    | | (_) | |_ ____) | (_| | |_| | (_| | | |  __/ (_| | | ||||||
|  |  *      |_|    |_|\___/ \__|_____/ \__, |\__,_|\__,_|_|  \___|\__,_| | ||||||
|  |  *                                    | | | ||||||
|  |  *                                    |_| | ||||||
|  |  *            PlotSquared plot management system for Minecraft | ||||||
|  |  *               Copyright (C) 2014 - 2022 IntellectualSites | ||||||
|  |  * | ||||||
|  |  *     This program is free software: you can redistribute it and/or modify | ||||||
|  |  *     it under the terms of the GNU General Public License as published by | ||||||
|  |  *     the Free Software Foundation, either version 3 of the License, or | ||||||
|  |  *     (at your option) any later version. | ||||||
|  |  * | ||||||
|  |  *     This program is distributed in the hope that it will be useful, | ||||||
|  |  *     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |  *     GNU General Public License for more details. | ||||||
|  |  * | ||||||
|  |  *     You should have received a copy of the GNU General Public License | ||||||
|  |  *     along with this program.  If not, see <https://www.gnu.org/licenses/>. | ||||||
|  |  */ | ||||||
|  | package com.plotsquared.core.plot.flag.implementations; | ||||||
|  |  | ||||||
|  | import com.plotsquared.core.configuration.caption.TranslatableCaption; | ||||||
|  | import com.plotsquared.core.plot.flag.types.BooleanFlag; | ||||||
|  | import org.checkerframework.checker.nullness.qual.NonNull; | ||||||
|  |  | ||||||
|  | public class ProjectilesFlag extends BooleanFlag<ProjectilesFlag> { | ||||||
|  |  | ||||||
|  |     public static final ProjectilesFlag PROJECTILES_TRUE = new ProjectilesFlag(true); | ||||||
|  |     public static final ProjectilesFlag PROJECTILES_FALSE = new ProjectilesFlag(false); | ||||||
|  |  | ||||||
|  |     private ProjectilesFlag(boolean value){ | ||||||
|  |         super(value, TranslatableCaption.of("flags.flag_description_projectiles")); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     @Override | ||||||
|  |     protected ProjectilesFlag flagOf(@NonNull final Boolean value) { | ||||||
|  |         return value ? PROJECTILES_TRUE : PROJECTILES_FALSE; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -36,8 +36,12 @@ import org.checkerframework.checker.nullness.qual.NonNull; | |||||||
| import org.checkerframework.checker.nullness.qual.Nullable; | import org.checkerframework.checker.nullness.qual.Nullable; | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Queue that is limited to a single chunk |  * Queue that is limited to a single chunk. It does not allow a delegate queue and should be treated as a cache for changes to | ||||||
|  |  * be set to. Does not support tile entities or entities. | ||||||
|  |  * | ||||||
|  |  * @deprecated This class is poorly designed and will no longer be used in P2 | ||||||
|  */ |  */ | ||||||
|  | @Deprecated(forRemoval = true, since = "TODO") | ||||||
| public class ChunkQueueCoordinator extends ScopedQueueCoordinator { | public class ChunkQueueCoordinator extends ScopedQueueCoordinator { | ||||||
|  |  | ||||||
|     public final BiomeType[][][] biomeResult; |     public final BiomeType[][][] biomeResult; | ||||||
|   | |||||||
| @@ -35,8 +35,12 @@ import org.checkerframework.checker.nullness.qual.NonNull; | |||||||
| import org.checkerframework.checker.nullness.qual.Nullable; | import org.checkerframework.checker.nullness.qual.Nullable; | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Queue that only sets blocks with a designated area |  * Queue that only sets blocks with a designated X-Z area, will accept any Y values. Requires all blocks be set normalized in | ||||||
|  |  * the x and z directions, i.e. starting from 0,0. An offset of the minimum point of the region will then be applied to x and z. | ||||||
|  |  * | ||||||
|  |  * @deprecated This should be renamed to NormalizedScopedQueueCoordinator or something. | ||||||
|  */ |  */ | ||||||
|  | @Deprecated(forRemoval = true, since = "TODO") | ||||||
| public class ScopedQueueCoordinator extends DelegateQueueCoordinator { | public class ScopedQueueCoordinator extends DelegateQueueCoordinator { | ||||||
|  |  | ||||||
|     private final Location min; |     private final Location min; | ||||||
|   | |||||||
| @@ -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; | ||||||
|   | |||||||
| @@ -409,13 +409,26 @@ public abstract class RegionManager { | |||||||
|     ) { |     ) { | ||||||
|         final QueueCoordinator queue = blockQueue.getNewQueue(worldUtil.getWeWorld(area.getWorldName())); |         final QueueCoordinator queue = blockQueue.getNewQueue(worldUtil.getWeWorld(area.getWorldName())); | ||||||
|         queue.addReadChunks(region.getChunks()); |         queue.addReadChunks(region.getChunks()); | ||||||
|         queue.setChunkConsumer(blockVector2 -> { |         final BlockVector3 regionMin = region.getMinimumPoint(); | ||||||
|  |         final BlockVector3 regionMax = region.getMaximumPoint(); | ||||||
|  |         queue.setChunkConsumer(chunkPos -> { | ||||||
|  |             BlockVector3 chunkMin = BlockVector3.at( | ||||||
|  |                     Math.max(chunkPos.getX() << 4, regionMin.getBlockX()), | ||||||
|  |                     regionMin.getBlockY(), | ||||||
|  |                     Math.max(chunkPos.getZ() << 4, regionMin.getBlockZ()) | ||||||
|  |             ); | ||||||
|  |             BlockVector3 chunkMax = BlockVector3.at( | ||||||
|  |                     Math.min((chunkPos.getX() << 4) + 15, regionMax.getBlockX()), | ||||||
|  |                     regionMax.getBlockY(), | ||||||
|  |                     Math.min((chunkPos.getZ() << 4) + 15, regionMax.getBlockZ()) | ||||||
|  |             ); | ||||||
|  |             CuboidRegion chunkRegion = new CuboidRegion(region.getWorld(), chunkMin, chunkMax); | ||||||
|             WorldUtil.setBiome( |             WorldUtil.setBiome( | ||||||
|                     area.getWorldName(), |                     area.getWorldName(), | ||||||
|                     region, |                     chunkRegion, | ||||||
|                     biome |                     biome | ||||||
|             ); |             ); | ||||||
|             worldUtil.refreshChunk(blockVector2.getBlockX(), blockVector2.getBlockZ(), area.getWorldName()); |             worldUtil.refreshChunk(chunkPos.getBlockX(), chunkPos.getBlockZ(), area.getWorldName()); | ||||||
|         }); |         }); | ||||||
|         queue.setCompleteTask(whenDone); |         queue.setCompleteTask(whenDone); | ||||||
|         queue.enqueue(); |         queue.enqueue(); | ||||||
|   | |||||||
| @@ -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) { | ||||||
|   | |||||||
| @@ -25,7 +25,6 @@ | |||||||
|  */ |  */ | ||||||
| package com.plotsquared.core.util; | package com.plotsquared.core.util; | ||||||
|  |  | ||||||
| import com.fastasyncworldedit.core.regions.RegionWrapper; |  | ||||||
| import com.plotsquared.core.PlotSquared; | import com.plotsquared.core.PlotSquared; | ||||||
| import com.plotsquared.core.configuration.Settings; | import com.plotsquared.core.configuration.Settings; | ||||||
| import com.plotsquared.core.location.Location; | import com.plotsquared.core.location.Location; | ||||||
| @@ -45,6 +44,9 @@ import java.util.UUID; | |||||||
|  |  | ||||||
| public class WEManager { | public class WEManager { | ||||||
|  |  | ||||||
|  |     private static final BlockVector3 MIN = BlockVector3.at(Integer.MIN_VALUE, Integer.MIN_VALUE, Integer.MIN_VALUE); | ||||||
|  |     private static final BlockVector3 MAX = BlockVector3.at(Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE); | ||||||
|  |  | ||||||
|     public static boolean maskContains(Set<CuboidRegion> mask, int x, int y, int z) { |     public static boolean maskContains(Set<CuboidRegion> mask, int x, int y, int z) { | ||||||
|         for (CuboidRegion region : mask) { |         for (CuboidRegion region : mask) { | ||||||
|             if (RegionUtil.contains(region, x, y, z)) { |             if (RegionUtil.contains(region, x, y, z)) { | ||||||
| @@ -92,7 +94,7 @@ public class WEManager { | |||||||
|         Location location = player.getLocation(); |         Location location = player.getLocation(); | ||||||
|         String world = location.getWorldName(); |         String world = location.getWorldName(); | ||||||
|         if (!PlotSquared.get().getPlotAreaManager().hasPlotArea(world)) { |         if (!PlotSquared.get().getPlotAreaManager().hasPlotArea(world)) { | ||||||
|             regions.add(RegionWrapper.GLOBAL()); |             regions.add(new CuboidRegion(MIN, MAX)); | ||||||
|             return regions; |             return regions; | ||||||
|         } |         } | ||||||
|         PlotArea area = player.getApplicablePlotArea(); |         PlotArea area = player.getApplicablePlotArea(); | ||||||
|   | |||||||
| @@ -613,6 +613,7 @@ | |||||||
|   "flags.flag_description_lectern_read_book": "<gray>Prevent players taking books from lecterns.</gray>", |   "flags.flag_description_lectern_read_book": "<gray>Prevent players taking books from lecterns.</gray>", | ||||||
|   "flags.flag_description_prevent_creative_copy": "<gray>Prevents people from copying item NBT data in the plot unless they're added as members.</gray>", |   "flags.flag_description_prevent_creative_copy": "<gray>Prevents people from copying item NBT data in the plot unless they're added as members.</gray>", | ||||||
|   "flags.flag_description_leaf_decay": "<gray>Set to `false` to prevent leaves from decaying.", |   "flags.flag_description_leaf_decay": "<gray>Set to `false` to prevent leaves from decaying.", | ||||||
|  |   "flags.flag_description_projectiles": "<gray>Prevents guests from shooting projectiles on the plot when set to false.</gray>", | ||||||
|   "flags.flag_error_boolean": "Flag value must be a boolean (true | false).", |   "flags.flag_error_boolean": "Flag value must be a boolean (true | false).", | ||||||
|   "flags.flag_error_enum": "Must be one of: <list>", |   "flags.flag_error_enum": "Must be one of: <list>", | ||||||
|   "flags.flag_error_integer": "Flag value must be a whole positive number.", |   "flags.flag_error_integer": "Flag value must be a whole positive number.", | ||||||
|   | |||||||
| @@ -18,7 +18,7 @@ plugins { | |||||||
|     idea |     idea | ||||||
| } | } | ||||||
|  |  | ||||||
| version = "6.6.0" | version = "6.7.1-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 { | ||||||
| @@ -137,7 +140,7 @@ allprojects { | |||||||
|                         } |                         } | ||||||
|                         developer { |                         developer { | ||||||
|                             id.set("NotMyFault") |                             id.set("NotMyFault") | ||||||
|                             name.set("NotMyFault") |                             name.set("Alexander Brandes") | ||||||
|                             organization.set("IntellectualSites") |                             organization.set("IntellectualSites") | ||||||
|                             email.set("contact@notmyfault.dev") |                             email.set("contact@notmyfault.dev") | ||||||
|                         } |                         } | ||||||
|   | |||||||
| @@ -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.2" | checker-qual = "3.22.0" | ||||||
| guice = "5.1.0" | guice = "5.1.0" | ||||||
| findbugs = "3.0.1" | spotbugs = "4.7.0" | ||||||
| snakeyaml = "1.30" # Version set by Bukkit | snakeyaml = "1.30" # Version set by Bukkit | ||||||
|  |  | ||||||
| # Adventure & MiniMessage | # Adventure & MiniMessage | ||||||
| @@ -17,12 +17,12 @@ 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.0.1" | fawe = "2.1.2" | ||||||
| vault = "1.7.1" | vault = "1.7.1" | ||||||
| placeholderapi = "2.11.1" | placeholderapi = "2.11.1" | ||||||
| luckperms = "5.4" | luckperms = "5.4" | ||||||
| essentialsx = "2.19.2" | essentialsx = "2.19.4" | ||||||
| mvdwapi = "3.1.1" | mvdwapi = "3.1.1" | ||||||
|  |  | ||||||
| # Third party | # Third party | ||||||
| @@ -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-all.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 | ||||||
|   | |||||||
| @@ -8,7 +8,8 @@ | |||||||
|     "com.google.guava:guava", |     "com.google.guava:guava", | ||||||
|     "com.google.code.gson:gson", |     "com.google.code.gson:gson", | ||||||
|     "gson", |     "gson", | ||||||
|     "snakeyaml" |     "snakeyaml", | ||||||
|  |     "net.kyori" | ||||||
|   ], |   ], | ||||||
|   "timezone": "Europe/Berlin", |   "timezone": "Europe/Berlin", | ||||||
|   "schedule": [ |   "schedule": [ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user