mirror of
https://github.com/AtlasMediaGroup/TotalFreedomMod.git
synced 2025-07-01 04:26:42 +00:00
Compare commits
282 Commits
Author | SHA1 | Date | |
---|---|---|---|
5e4649a4d0 | |||
d8560ebc1f | |||
7f2e72ee51 | |||
c98909df12 | |||
d613e0266b | |||
5237fa0ca2 | |||
a54c113a86 | |||
ec8a528564 | |||
6365672eda | |||
d087dc1148 | |||
a3a484dc58 | |||
b89ccb2d55 | |||
9b66304f63 | |||
4784348027 | |||
2705bb4534 | |||
0f6f21e4c6 | |||
527ac6c286 | |||
192b9ea9d9 | |||
fa1a082972 | |||
cf135e211d | |||
56a5a7304a | |||
4b671cc4c7 | |||
10443ff0d5 | |||
5f1f9184ae | |||
a1bb6a34a0 | |||
dfd5f2dba0 | |||
988e62213e | |||
d05f8b7169 | |||
fbca5f0527 | |||
1c14889bdf | |||
114372194a | |||
49b841acc2 | |||
302b538a3a | |||
539f28549a | |||
716ba57739 | |||
0d32ca5451 | |||
b8b8ed8608 | |||
ca5b79331b | |||
78c1a2eaaf | |||
be4ec7fc04 | |||
794ad2e57a | |||
d2a5c399f0 | |||
67d8bfce09 | |||
90aa3ab420 | |||
a395904c43 | |||
42812be4c5 | |||
049432789f | |||
8b2532e9e9 | |||
e5902fc5e8 | |||
71862d6e41 | |||
7dffea0ba2 | |||
67c09546f7 | |||
8b51fd215f | |||
275204fb2e | |||
1330d2b3af | |||
4204210f66 | |||
8297d03a86 | |||
75353ae4b1 | |||
a28959db0e | |||
b2e27ec8bf | |||
c42bc23bfe | |||
e29d4673dd | |||
2ce7e518fb | |||
9ba316464e | |||
60f71c9dfc | |||
3e71286507 | |||
6d48c90d16 | |||
d7ed667b89 | |||
9c61cc2768 | |||
4daad76e74 | |||
05884ae806 | |||
aa0fd34859 | |||
2c14773c9b | |||
695168ebfe | |||
bbc1255963 | |||
34d15d4c96 | |||
75bc17cd8f | |||
87f338194c | |||
b5760afbad | |||
5cfaf8970d | |||
9a48ec04aa | |||
24fca9af97 | |||
a9ef738602 | |||
27a04635a2 | |||
0f58746525 | |||
a8d4b5f582 | |||
d7f1de4cb7 | |||
ddbb6228f1 | |||
d4c3a4ad45 | |||
7140e4c8df | |||
808e02f660 | |||
bed78248fb | |||
ee39e89093 | |||
9405604efc | |||
73acb2448b | |||
c63540129f | |||
6ba96b427d | |||
acd8373f81 | |||
0c4c36b2bd | |||
7ce052900e | |||
f8741b0d4f | |||
6fca19fa41 | |||
7e75287e61 | |||
52641466ff | |||
67f096fbfa | |||
8f24e44c79 | |||
28b9f3089d | |||
6b906864b3 | |||
c2aba0e798 | |||
c78e6483ac | |||
1ef6fcbb70 | |||
ce5d23a5bc | |||
280ddf61f7 | |||
a821f7b606 | |||
1a5f854552 | |||
a38f7b3469 | |||
13eeccbc40 | |||
2b611a2bee | |||
ed0aef033c | |||
2d655e4009 | |||
81995f38a1 | |||
9f889efa76 | |||
1e79b90249 | |||
70a24486b8 | |||
d863a9e274 | |||
902fc0ba11 | |||
415d25da4b | |||
3583c1dbdc | |||
f49c4568b2 | |||
01807d1f0f | |||
c5ddc60b97 | |||
97b27cd7b4 | |||
faeaa3aab7 | |||
e10ab45bda | |||
7b59350833 | |||
adbc658cc7 | |||
927e46a431 | |||
65ba053aee | |||
81ee5f04dd | |||
ded31e4640 | |||
1416429910 | |||
8cdff6a3c1 | |||
8ba477140b | |||
5606fdae1f | |||
4bcd0eb61f | |||
18e4943216 | |||
549c5231e8 | |||
7144894848 | |||
fef5f7604b | |||
2d421178db | |||
650bd11ab0 | |||
05ad222148 | |||
4cde6a53ba | |||
18ed009ddd | |||
b7efe3983d | |||
eb01c0db86 | |||
562e354f37 | |||
b845ff3f7e | |||
3c9245bfaf | |||
4bef1a06a4 | |||
e70f8ffff3 | |||
896af4198a | |||
d1ffbe0412 | |||
8f70fa2c82 | |||
a89948f76d | |||
41cca7cd6a | |||
0067e2cc65 | |||
2168aa957a | |||
3babf8388c | |||
0b0e17e526 | |||
5247a33f88 | |||
3f2aa224f6 | |||
bc00e42990 | |||
88103cefc2 | |||
3819c57adf | |||
c3f8bd33ff | |||
baf7a3b2c1 | |||
74bfdad389 | |||
08a9329864 | |||
be87075337 | |||
ada803cd7d | |||
0b146943ff | |||
0f31ea2953 | |||
3ca46853ac | |||
ee6b93e208 | |||
3e5e11197f | |||
6035f9e50b | |||
f45cc11846 | |||
b28a0778b4 | |||
174043fa58 | |||
dfb6df63c8 | |||
7a6cc55640 | |||
5c61ff27b0 | |||
3da03393e6 | |||
5876f86ac3 | |||
fbdf2b5fc2 | |||
fd6aa7b94b | |||
5981f7f33f | |||
55d94b5d59 | |||
d71b043102 | |||
143b323854 | |||
1f32455e06 | |||
8718b3a8c2 | |||
f5e21f69fd | |||
bf7877addc | |||
6d0b8362b7 | |||
10f905ea36 | |||
dcb6a4513e | |||
ff4751941b | |||
e64fd42855 | |||
467d1d2d3a | |||
6ba8dcaa58 | |||
a3cf53f5b1 | |||
23907ef7e4 | |||
485945047b | |||
75ec2330f5 | |||
5c32c66390 | |||
4494a4c039 | |||
f53b67abf1 | |||
2827ca98a7 | |||
64b1e568b3 | |||
3e57696a21 | |||
fd1bd995ed | |||
9fe05add7f | |||
25fbb0c05a | |||
f646a5122a | |||
af4071c582 | |||
86ee0e96d2 | |||
57efdd2269 | |||
26bcd3ec1c | |||
fd372066eb | |||
122bef2d5a | |||
339518f4f4 | |||
8ce0defb52 | |||
ec6e8431e3 | |||
0964871e8b | |||
422a7716f3 | |||
f1ab8296e4 | |||
f9cbf11abb | |||
b0090a5412 | |||
b94efb525f | |||
5c8f98089e | |||
7879fa24e4 | |||
6fcaed6253 | |||
656dbf8867 | |||
23032e6f9a | |||
ad5a236bc2 | |||
e23db244a5 | |||
eb4622fc28 | |||
0f6b053727 | |||
259335958a | |||
31375b82c3 | |||
0a2d5c8258 | |||
bac25258b0 | |||
c69918d725 | |||
c1d0c01524 | |||
a59e6added | |||
56493adcae | |||
4b91de7414 | |||
c636ee043a | |||
6a5306dd7a | |||
4603dc5613 | |||
af7e6c5d41 | |||
699d366efb | |||
41ed416a51 | |||
074630f720 | |||
4e3c9a6b9e | |||
bea480c1f1 | |||
69fd3566af | |||
f3ac19a616 | |||
696ec119c6 | |||
326c3f6a2b | |||
38b1035020 | |||
1ae6eb8a5a | |||
2c4eca8551 | |||
f23c61d0b3 | |||
c10e0deb8b | |||
d4dfe06ec0 | |||
bcd9658b3d | |||
9b62731e94 | |||
03553b6254 | |||
5b34facdd3 |
@ -21,6 +21,9 @@ For those who wish to contribute, we encourage you to fork the repository and su
|
|||||||
* Make sure your changes build (<b>and work!</b>).
|
* Make sure your changes build (<b>and work!</b>).
|
||||||
|
|
||||||
## Tips - How To Get Your Pull Request Accepted ##
|
## Tips - How To Get Your Pull Request Accepted ##
|
||||||
|
* See this picture for help:
|
||||||
|

|
||||||
|
|
||||||
* Make sure your changes work and compile without difficulty.
|
* Make sure your changes work and compile without difficulty.
|
||||||
* Make sure your change adds something useful, do not add commands to micromanage the server. (ie: Shorthands for a collection of commands)
|
* Make sure your change adds something useful, do not add commands to micromanage the server. (ie: Shorthands for a collection of commands)
|
||||||
* __Commands that make use of `org.bukkit.Server.dispatchCommand()` will probably be rejected.__
|
* __Commands that make use of `org.bukkit.Server.dispatchCommand()` will probably be rejected.__
|
||||||
|
@ -5,6 +5,8 @@ We do, however, ask that you comply by several restrictions. These restrictions
|
|||||||
* A un-edited copy of this LICENSE.md shall always be included with this source code.
|
* A un-edited copy of this LICENSE.md shall always be included with this source code.
|
||||||
* TotalFreedomMod source code and its derivations shall be freely distributable between anyone who chooses to download it.
|
* TotalFreedomMod source code and its derivations shall be freely distributable between anyone who chooses to download it.
|
||||||
* You shall not remove the keywords "Madgeek1450", "StevenLawson", "DarthSalamon" or "JeromSar" from any part of the source code.
|
* You shall not remove the keywords "Madgeek1450", "StevenLawson", "DarthSalamon" or "JeromSar" from any part of the source code.
|
||||||
|
* You shall not edit or remove the file Command_tfm.java
|
||||||
|
* You may not modify the file TFM_FrontDoor.java. Removing it is fine, however.
|
||||||
* Compiled binaries (*.jar's) shall not to be distributed.
|
* Compiled binaries (*.jar's) shall not to be distributed.
|
||||||
* If you wish to obtain a copy of TotalFreedomMod you must compile the original source code or it's derivations yourself.
|
* If you wish to obtain a copy of TotalFreedomMod you must compile the original source code or it's derivations yourself.
|
||||||
* The primary developers, StevenLawson (Madgeek1450) and Jerom van der Sar (DarthSalamon), may choose to provide official binaries on a discretionary basis.
|
* The primary developers, StevenLawson (Madgeek1450) and Jerom van der Sar (DarthSalamon), may choose to provide official binaries on a discretionary basis.
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
#Fri, 09 Aug 2013 15:38:23 +0200
|
|
||||||
|
|
||||||
program.VERSION=2.22
|
|
||||||
program.BUILDNUM=378
|
|
||||||
program.BUILDDATE=08/09/2013 03\:38 PM
|
|
||||||
|
|
95
build.xml
95
build.xml
@ -1,83 +1,20 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!-- You may freely edit this file. See commented blocks below for -->
|
|
||||||
<!-- some examples of how to customize the build. -->
|
|
||||||
<!-- (If you delete it and reopen the project it will be recreated.) -->
|
|
||||||
<!-- By default, only the Clean and Build commands use this build script. -->
|
|
||||||
<!-- Commands such as Run, Debug, and Test only use this build script if -->
|
|
||||||
<!-- the Compile on Save feature is turned off for the project. -->
|
|
||||||
<!-- You can turn off the Compile on Save (or Deploy on Save) setting -->
|
|
||||||
<!-- in the project's Project Properties dialog box.-->
|
|
||||||
<project name="TotalFreedomMod" default="default" basedir=".">
|
<project name="TotalFreedomMod" default="default" basedir=".">
|
||||||
<description>Builds, tests, and runs the project TotalFreedomMod.</description>
|
<description>Builds, tests, and runs the project TotalFreedomMod.</description>
|
||||||
<import file="nbproject/build-impl.xml"/>
|
<import file="nbproject/build-impl.xml" />
|
||||||
<!--
|
<target name="-pre-jar">
|
||||||
|
<buildnumber file="buildnumber.properties" />
|
||||||
There exist several targets which are by default empty and which can be
|
<propertyfile file="appinfo.properties">
|
||||||
used for execution of your tasks. These targets are usually executed
|
<entry key="program.buildnumber" value="${build.number}" />
|
||||||
before and after some main targets. They are:
|
<entry key="program.builddate" type="date" value="now" pattern="MM/dd/yyyy hh:mm aa" />
|
||||||
|
</propertyfile>
|
||||||
-pre-init: called before initialization of project properties
|
<copy file="appinfo.properties" todir="${build.classes.dir}" />
|
||||||
-post-init: called after initialization of project properties
|
<delete file="appinfo.properties" />
|
||||||
-pre-compile: called before javac compilation
|
</target>
|
||||||
-post-compile: called after javac compilation
|
|
||||||
-pre-compile-single: called before javac compilation of single file
|
<target name="-post-jar">
|
||||||
-post-compile-single: called after javac compilation of single file
|
<!-- Cleanup -->
|
||||||
-pre-compile-test: called before javac compilation of JUnit tests
|
<delete file="${dist.dir}/README.TXT" />
|
||||||
-post-compile-test: called after javac compilation of JUnit tests
|
<delete dir="${dist.dir}/lib/" />
|
||||||
-pre-compile-test-single: called before javac compilation of single JUnit test
|
</target>
|
||||||
-post-compile-test-single: called after javac compilation of single JUunit test
|
|
||||||
-pre-jar: called before JAR building
|
|
||||||
-post-jar: called after JAR building
|
|
||||||
-post-clean: called after cleaning build products
|
|
||||||
|
|
||||||
(Targets beginning with '-' are not intended to be called on their own.)
|
|
||||||
|
|
||||||
Example of inserting an obfuscator after compilation could look like this:
|
|
||||||
|
|
||||||
<target name="-post-compile">
|
|
||||||
<obfuscate>
|
|
||||||
<fileset dir="${build.classes.dir}"/>
|
|
||||||
</obfuscate>
|
|
||||||
</target>
|
|
||||||
|
|
||||||
For list of available properties check the imported
|
|
||||||
nbproject/build-impl.xml file.
|
|
||||||
|
|
||||||
|
|
||||||
Another way to customize the build is by overriding existing main targets.
|
|
||||||
The targets of interest are:
|
|
||||||
|
|
||||||
-init-macrodef-javac: defines macro for javac compilation
|
|
||||||
-init-macrodef-junit: defines macro for junit execution
|
|
||||||
-init-macrodef-debug: defines macro for class debugging
|
|
||||||
-init-macrodef-java: defines macro for class execution
|
|
||||||
-do-jar-with-manifest: JAR building (if you are using a manifest)
|
|
||||||
-do-jar-without-manifest: JAR building (if you are not using a manifest)
|
|
||||||
run: execution of project
|
|
||||||
-javadoc-build: Javadoc generation
|
|
||||||
test-report: JUnit report generation
|
|
||||||
|
|
||||||
An example of overriding the target for project execution could look like this:
|
|
||||||
|
|
||||||
<target name="run" depends="TotalFreedomMod-impl.jar">
|
|
||||||
<exec dir="bin" executable="launcher.exe">
|
|
||||||
<arg file="${dist.jar}"/>
|
|
||||||
</exec>
|
|
||||||
</target>
|
|
||||||
|
|
||||||
Notice that the overridden target depends on the jar target and not only on
|
|
||||||
the compile target as the regular run target does. Again, for a list of available
|
|
||||||
properties which you can use, check the target you are overriding in the
|
|
||||||
nbproject/build-impl.xml file.
|
|
||||||
|
|
||||||
-->
|
|
||||||
<target name="-pre-jar">
|
|
||||||
<buildnumber file="buildnumber.properties" />
|
|
||||||
<propertyfile file="appinfo.properties">
|
|
||||||
<entry key="program.VERSION" default="0.0" />
|
|
||||||
<entry key="program.BUILDNUM" value="${build.number}" />
|
|
||||||
<entry key="program.BUILDDATE" type="date" value="now" pattern="MM/dd/yyyy hh:mm aa" />
|
|
||||||
</propertyfile>
|
|
||||||
<copy file="appinfo.properties" todir="${build.classes.dir}" />
|
|
||||||
</target>
|
|
||||||
</project>
|
</project>
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
#Build Number for ANT. Do not edit!
|
#Build Number for ANT. Do not edit!
|
||||||
#Fri Aug 09 15:38:23 CEST 2013
|
#Tue Apr 15 16:28:36 CEST 2014
|
||||||
build.number=379
|
build.number=762
|
||||||
|
@ -18,7 +18,7 @@ is divided into following sections:
|
|||||||
- applet
|
- applet
|
||||||
- cleanup
|
- cleanup
|
||||||
|
|
||||||
-->
|
-->
|
||||||
<project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." default="default" name="TotalFreedomMod-impl">
|
<project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." default="default" name="TotalFreedomMod-impl">
|
||||||
<fail message="Please build using Ant 1.8.0 or higher.">
|
<fail message="Please build using Ant 1.8.0 or higher.">
|
||||||
<condition>
|
<condition>
|
||||||
@ -29,10 +29,10 @@ is divided into following sections:
|
|||||||
</fail>
|
</fail>
|
||||||
<target depends="test,jar,javadoc" description="Build and test whole project." name="default"/>
|
<target depends="test,jar,javadoc" description="Build and test whole project." name="default"/>
|
||||||
<!--
|
<!--
|
||||||
======================
|
======================
|
||||||
INITIALIZATION SECTION
|
INITIALIZATION SECTION
|
||||||
======================
|
======================
|
||||||
-->
|
-->
|
||||||
<target name="-pre-init">
|
<target name="-pre-init">
|
||||||
<!-- Empty placeholder for easier customization. -->
|
<!-- Empty placeholder for easier customization. -->
|
||||||
<!-- You can override this target in the ../build.xml file. -->
|
<!-- You can override this target in the ../build.xml file. -->
|
||||||
@ -645,8 +645,8 @@ is divided into following sections:
|
|||||||
</target>
|
</target>
|
||||||
<target depends="-init-macrodef-test-debug-junit,-init-macrodef-test-debug-testng" name="-init-macrodef-test-debug"/>
|
<target depends="-init-macrodef-test-debug-junit,-init-macrodef-test-debug-testng" name="-init-macrodef-test-debug"/>
|
||||||
<!--
|
<!--
|
||||||
pre NB7.2 profiling section; consider it deprecated
|
pre NB7.2 profiling section; consider it deprecated
|
||||||
-->
|
-->
|
||||||
<target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check" if="profiler.info.jvmargs.agent" name="profile-init"/>
|
<target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check" if="profiler.info.jvmargs.agent" name="profile-init"/>
|
||||||
<target if="profiler.info.jvmargs.agent" name="-profile-pre-init">
|
<target if="profiler.info.jvmargs.agent" name="-profile-pre-init">
|
||||||
<!-- Empty placeholder for easier customization. -->
|
<!-- Empty placeholder for easier customization. -->
|
||||||
@ -693,8 +693,8 @@ is divided into following sections:
|
|||||||
<fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail>
|
<fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail>
|
||||||
</target>
|
</target>
|
||||||
<!--
|
<!--
|
||||||
end of pre NB7.2 profiling section
|
end of pre NB7.2 profiling section
|
||||||
-->
|
-->
|
||||||
<target depends="-init-debug-args" name="-init-macrodef-nbjpda">
|
<target depends="-init-debug-args" name="-init-macrodef-nbjpda">
|
||||||
<macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1">
|
<macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1">
|
||||||
<attribute default="${main.class}" name="name"/>
|
<attribute default="${main.class}" name="name"/>
|
||||||
@ -854,10 +854,10 @@ is divided into following sections:
|
|||||||
</target>
|
</target>
|
||||||
<target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/>
|
<target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/>
|
||||||
<!--
|
<!--
|
||||||
===================
|
===================
|
||||||
COMPILATION SECTION
|
COMPILATION SECTION
|
||||||
===================
|
===================
|
||||||
-->
|
-->
|
||||||
<target name="-deps-jar-init" unless="built-jar.properties">
|
<target name="-deps-jar-init" unless="built-jar.properties">
|
||||||
<property location="${build.dir}/built-jar.properties" name="built-jar.properties"/>
|
<property location="${build.dir}/built-jar.properties" name="built-jar.properties"/>
|
||||||
<delete file="${built-jar.properties}" quiet="true"/>
|
<delete file="${built-jar.properties}" quiet="true"/>
|
||||||
@ -928,10 +928,10 @@ is divided into following sections:
|
|||||||
</target>
|
</target>
|
||||||
<target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/>
|
<target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/>
|
||||||
<!--
|
<!--
|
||||||
====================
|
====================
|
||||||
JAR BUILDING SECTION
|
JAR BUILDING SECTION
|
||||||
====================
|
====================
|
||||||
-->
|
-->
|
||||||
<target depends="init" name="-pre-pre-jar">
|
<target depends="init" name="-pre-pre-jar">
|
||||||
<dirname file="${dist.jar}" property="dist.jar.dir"/>
|
<dirname file="${dist.jar}" property="dist.jar.dir"/>
|
||||||
<mkdir dir="${dist.jar.dir}"/>
|
<mkdir dir="${dist.jar.dir}"/>
|
||||||
@ -1000,10 +1000,10 @@ is divided into following sections:
|
|||||||
</target>
|
</target>
|
||||||
<target depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries,-post-jar" description="Build JAR." name="jar"/>
|
<target depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries,-post-jar" description="Build JAR." name="jar"/>
|
||||||
<!--
|
<!--
|
||||||
=================
|
=================
|
||||||
EXECUTION SECTION
|
EXECUTION SECTION
|
||||||
=================
|
=================
|
||||||
-->
|
-->
|
||||||
<target depends="init,compile" description="Run a main class." name="run">
|
<target depends="init,compile" description="Run a main class." name="run">
|
||||||
<j2seproject1:java>
|
<j2seproject1:java>
|
||||||
<customize>
|
<customize>
|
||||||
@ -1023,10 +1023,10 @@ is divided into following sections:
|
|||||||
<j2seproject1:java classname="${run.class}" classpath="${run.test.classpath}"/>
|
<j2seproject1:java classname="${run.class}" classpath="${run.test.classpath}"/>
|
||||||
</target>
|
</target>
|
||||||
<!--
|
<!--
|
||||||
=================
|
=================
|
||||||
DEBUGGING SECTION
|
DEBUGGING SECTION
|
||||||
=================
|
=================
|
||||||
-->
|
-->
|
||||||
<target depends="init" if="netbeans.home" name="-debug-start-debugger">
|
<target depends="init" if="netbeans.home" name="-debug-start-debugger">
|
||||||
<j2seproject1:nbjpdastart name="${debug.class}"/>
|
<j2seproject1:nbjpdastart name="${debug.class}"/>
|
||||||
</target>
|
</target>
|
||||||
@ -1064,13 +1064,13 @@ is divided into following sections:
|
|||||||
</target>
|
</target>
|
||||||
<target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/>
|
<target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/>
|
||||||
<!--
|
<!--
|
||||||
=================
|
=================
|
||||||
PROFILING SECTION
|
PROFILING SECTION
|
||||||
=================
|
=================
|
||||||
-->
|
-->
|
||||||
<!--
|
<!--
|
||||||
pre NB7.2 profiler integration
|
pre NB7.2 profiler integration
|
||||||
-->
|
-->
|
||||||
<target depends="profile-init,compile" description="Profile a project in the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72">
|
<target depends="profile-init,compile" description="Profile a project in the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72">
|
||||||
<fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
|
<fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
|
||||||
<nbprofiledirect>
|
<nbprofiledirect>
|
||||||
@ -1127,8 +1127,8 @@ is divided into following sections:
|
|||||||
</junit>
|
</junit>
|
||||||
</target>
|
</target>
|
||||||
<!--
|
<!--
|
||||||
end of pre NB72 profiling section
|
end of pre NB72 profiling section
|
||||||
-->
|
-->
|
||||||
<target if="netbeans.home" name="-profile-check">
|
<target if="netbeans.home" name="-profile-check">
|
||||||
<condition property="profiler.configured">
|
<condition property="profiler.configured">
|
||||||
<or>
|
<or>
|
||||||
@ -1163,10 +1163,10 @@ is divided into following sections:
|
|||||||
<antcall target="run-applet"/>
|
<antcall target="run-applet"/>
|
||||||
</target>
|
</target>
|
||||||
<!--
|
<!--
|
||||||
===============
|
===============
|
||||||
JAVADOC SECTION
|
JAVADOC SECTION
|
||||||
===============
|
===============
|
||||||
-->
|
-->
|
||||||
<target depends="init" if="have.sources" name="-javadoc-build">
|
<target depends="init" if="have.sources" name="-javadoc-build">
|
||||||
<mkdir dir="${dist.javadoc.dir}"/>
|
<mkdir dir="${dist.javadoc.dir}"/>
|
||||||
<condition else="" property="javadoc.endorsed.classpath.cmd.line.arg" value="-J${endorsed.classpath.cmd.line.arg}">
|
<condition else="" property="javadoc.endorsed.classpath.cmd.line.arg" value="-J${endorsed.classpath.cmd.line.arg}">
|
||||||
@ -1204,10 +1204,10 @@ is divided into following sections:
|
|||||||
</target>
|
</target>
|
||||||
<target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/>
|
<target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/>
|
||||||
<!--
|
<!--
|
||||||
=========================
|
=========================
|
||||||
TEST COMPILATION SECTION
|
TEST COMPILATION SECTION
|
||||||
=========================
|
=========================
|
||||||
-->
|
-->
|
||||||
<target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
|
<target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
|
||||||
<mkdir dir="${build.test.classes.dir}"/>
|
<mkdir dir="${build.test.classes.dir}"/>
|
||||||
</target>
|
</target>
|
||||||
@ -1243,10 +1243,10 @@ is divided into following sections:
|
|||||||
</target>
|
</target>
|
||||||
<target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
|
<target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
|
||||||
<!--
|
<!--
|
||||||
=======================
|
=======================
|
||||||
TEST EXECUTION SECTION
|
TEST EXECUTION SECTION
|
||||||
=======================
|
=======================
|
||||||
-->
|
-->
|
||||||
<target depends="init" if="have.tests" name="-pre-test-run">
|
<target depends="init" if="have.tests" name="-pre-test-run">
|
||||||
<mkdir dir="${build.test.results.dir}"/>
|
<mkdir dir="${build.test.results.dir}"/>
|
||||||
</target>
|
</target>
|
||||||
@ -1280,10 +1280,10 @@ is divided into following sections:
|
|||||||
</target>
|
</target>
|
||||||
<target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method,-post-test-run-single-method" description="Run single unit test." name="test-single-method"/>
|
<target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method,-post-test-run-single-method" description="Run single unit test." name="test-single-method"/>
|
||||||
<!--
|
<!--
|
||||||
=======================
|
=======================
|
||||||
TEST DEBUGGING SECTION
|
TEST DEBUGGING SECTION
|
||||||
=======================
|
=======================
|
||||||
-->
|
-->
|
||||||
<target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test">
|
<target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test">
|
||||||
<fail unless="test.class">Must select one file in the IDE or set test.class</fail>
|
<fail unless="test.class">Must select one file in the IDE or set test.class</fail>
|
||||||
<j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testincludes="${javac.includes}"/>
|
<j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testincludes="${javac.includes}"/>
|
||||||
@ -1303,10 +1303,10 @@ is divided into following sections:
|
|||||||
</target>
|
</target>
|
||||||
<target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/>
|
<target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/>
|
||||||
<!--
|
<!--
|
||||||
=========================
|
=========================
|
||||||
APPLET EXECUTION SECTION
|
APPLET EXECUTION SECTION
|
||||||
=========================
|
=========================
|
||||||
-->
|
-->
|
||||||
<target depends="init,compile-single" name="run-applet">
|
<target depends="init,compile-single" name="run-applet">
|
||||||
<fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
|
<fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
|
||||||
<j2seproject1:java classname="sun.applet.AppletViewer">
|
<j2seproject1:java classname="sun.applet.AppletViewer">
|
||||||
@ -1316,10 +1316,10 @@ is divided into following sections:
|
|||||||
</j2seproject1:java>
|
</j2seproject1:java>
|
||||||
</target>
|
</target>
|
||||||
<!--
|
<!--
|
||||||
=========================
|
=========================
|
||||||
APPLET DEBUGGING SECTION
|
APPLET DEBUGGING SECTION
|
||||||
=========================
|
=========================
|
||||||
-->
|
-->
|
||||||
<target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-applet">
|
<target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-applet">
|
||||||
<fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
|
<fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
|
||||||
<j2seproject3:debug classname="sun.applet.AppletViewer">
|
<j2seproject3:debug classname="sun.applet.AppletViewer">
|
||||||
@ -1330,10 +1330,10 @@ is divided into following sections:
|
|||||||
</target>
|
</target>
|
||||||
<target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet" if="netbeans.home" name="debug-applet"/>
|
<target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet" if="netbeans.home" name="debug-applet"/>
|
||||||
<!--
|
<!--
|
||||||
===============
|
===============
|
||||||
CLEANUP SECTION
|
CLEANUP SECTION
|
||||||
===============
|
===============
|
||||||
-->
|
-->
|
||||||
<target name="-deps-clean-init" unless="built-clean.properties">
|
<target name="-deps-clean-init" unless="built-clean.properties">
|
||||||
<property location="${build.dir}/built-clean.properties" name="built-clean.properties"/>
|
<property location="${build.dir}/built-clean.properties" name="built-clean.properties"/>
|
||||||
<delete file="${built-clean.properties}" quiet="true"/>
|
<delete file="${built-clean.properties}" quiet="true"/>
|
||||||
|
@ -4,7 +4,23 @@ annotation.processing.processors.list=
|
|||||||
annotation.processing.run.all.processors=true
|
annotation.processing.run.all.processors=true
|
||||||
annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
|
annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
|
||||||
application.title=TotalFreedomMod
|
application.title=TotalFreedomMod
|
||||||
application.vendor=Michael
|
application.vendor=TotalFreedom
|
||||||
|
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.expand-tabs=true
|
||||||
|
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.indent-shift-width=4
|
||||||
|
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.spaces-per-tab=4
|
||||||
|
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.tab-size=4
|
||||||
|
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.text-limit-width=0
|
||||||
|
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.project.text-line-wrap=none
|
||||||
|
auxiliary.org-netbeans-modules-editor-indent.CodeStyle.usedProfile=project
|
||||||
|
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.blankLinesAfterClassHeader=0
|
||||||
|
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.classDeclBracePlacement=NEW_LINE
|
||||||
|
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.enableCommentFormatting=false
|
||||||
|
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.methodDeclBracePlacement=NEW_LINE
|
||||||
|
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.otherBracePlacement=NEW_LINE
|
||||||
|
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.placeCatchOnNewLine=true
|
||||||
|
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.placeElseOnNewLine=true
|
||||||
|
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.placeFinallyOnNewLine=true
|
||||||
|
auxiliary.org-netbeans-modules-editor-indent.text.x-java.CodeStyle.project.placeWhileOnNewLine=true
|
||||||
build.classes.dir=${build.dir}/classes
|
build.classes.dir=${build.dir}/classes
|
||||||
build.classes.excludes=**/*.java,**/*.form
|
build.classes.excludes=**/*.java,**/*.form
|
||||||
# This directory is removed when the project is cleaned:
|
# This directory is removed when the project is cleaned:
|
||||||
@ -32,9 +48,11 @@ jar.archive.disabled=${jnlp.enabled}
|
|||||||
jar.compress=false
|
jar.compress=false
|
||||||
jar.index=${jnlp.enabled}
|
jar.index=${jnlp.enabled}
|
||||||
javac.classpath=\
|
javac.classpath=\
|
||||||
${libs.CraftBukkit.classpath}:\
|
|
||||||
${libs.WorldEdit.classpath}:\
|
${libs.WorldEdit.classpath}:\
|
||||||
${libs.DisguiseCraft.classpath}
|
${libs.DisguiseCraft.classpath}:\
|
||||||
|
${libs.Essentials.classpath}:\
|
||||||
|
${libs.BukkitTelnet.classpath}:\
|
||||||
|
${libs.CraftBukkit.classpath}
|
||||||
# Space-separated list of extra javac options
|
# Space-separated list of extra javac options
|
||||||
javac.compilerargs=-Xlint:unchecked -Xlint:deprecation
|
javac.compilerargs=-Xlint:unchecked -Xlint:deprecation
|
||||||
javac.deprecation=false
|
javac.deprecation=false
|
||||||
@ -67,10 +85,9 @@ jnlp.signed=false
|
|||||||
jnlp.signing=
|
jnlp.signing=
|
||||||
jnlp.signing.alias=
|
jnlp.signing.alias=
|
||||||
jnlp.signing.keystore=
|
jnlp.signing.keystore=
|
||||||
main.class=totalfreedommod.TotalFreedomMod
|
|
||||||
manifest.file=manifest.mf
|
manifest.file=manifest.mf
|
||||||
meta.inf.dir=${src.dir}/META-INF
|
meta.inf.dir=${src.dir}/META-INF
|
||||||
mkdist.disabled=false
|
mkdist.disabled=true
|
||||||
platform.active=default_platform
|
platform.active=default_platform
|
||||||
run.classpath=\
|
run.classpath=\
|
||||||
${javac.classpath}:\
|
${javac.classpath}:\
|
||||||
|
13
src/bans.yml
Normal file
13
src/bans.yml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
#
|
||||||
|
# TotalFreedomMod banning config
|
||||||
|
# Warning: modification of this file is not reccomended
|
||||||
|
#
|
||||||
|
# Format:
|
||||||
|
# Ip: [IP-address / UUID]:[Last login name]:[Expiry unix timestamp (0 = never)][Banned by]:[Reason]
|
||||||
|
#
|
||||||
|
|
||||||
|
ips:
|
||||||
|
- '192.168.1.254:Notch:DarthSalamon:0:IP ban example'
|
||||||
|
|
||||||
|
uuids:
|
||||||
|
- '245d2f30-61fb-4840-9cd3-298b3920f4a4:Cobrex:DarthSalamon:0:UUID ban example'
|
115
src/config.yml
115
src/config.yml
@ -1,4 +1,4 @@
|
|||||||
# TotalFreedomMod v2.22 Configuration
|
# TotalFreedomMod v4.0 Configuration
|
||||||
# by Madgeek1450 and DarthSalamon
|
# by Madgeek1450 and DarthSalamon
|
||||||
|
|
||||||
# Block placement prevention:
|
# Block placement prevention:
|
||||||
@ -12,7 +12,7 @@ allow_tnt_minecarts: false
|
|||||||
|
|
||||||
# Explosion management:
|
# Explosion management:
|
||||||
allow_explosions: false
|
allow_explosions: false
|
||||||
explosiveRadius: 4.0
|
explosive_radius: 4.0
|
||||||
|
|
||||||
# Blocked commands:
|
# Blocked commands:
|
||||||
#
|
#
|
||||||
@ -50,27 +50,38 @@ explosiveRadius: 4.0
|
|||||||
#
|
#
|
||||||
blocked_commands:
|
blocked_commands:
|
||||||
# Disabled commands
|
# Disabled commands
|
||||||
- n:b:/time:Server-side time changing is disabled. Please use /ptime to set your own personal time.
|
- 'n:b:/time:Server-side time changing is disabled. Please use /ptime to set your own personal time.'
|
||||||
- n:b:/md:This server now uses DisguiseCraft instead of MobDisguise. Type /d to disguise and /u to undisguise.
|
- 'n:b:/md:This server now uses DisguiseCraft instead of MobDisguise. Type /d to disguise and /u to undisguise.'
|
||||||
- n:b:/gamemode:Use /creative and /survival to set your gamemode.
|
- 'n:b:/gamemode:Use /creative and /survival to set your gamemode.'
|
||||||
- n:b:/gamerule:_
|
- 'n:b:/gamerule:_'
|
||||||
- n:b:/ban:_
|
- 'n:b:/ban:_'
|
||||||
- n:b:/pardon:_
|
- 'n:b:/pardon:_'
|
||||||
- n:b:/toggledownfall:_
|
- 'n:b:/ban-ip:_'
|
||||||
- n:b:/ban-ip:_
|
- 'n:b:/pardon-ip:_'
|
||||||
- n:b:/pardon-ip:_
|
- 'n:b:/toggledownfall:_'
|
||||||
|
- 'n:b:/effect:Please use /potion to set effects.'
|
||||||
|
- 'n:b:/enderchest:_'
|
||||||
|
|
||||||
# Superadmin commands
|
# Superadmin commands
|
||||||
- s:b:/kick:_
|
- 's:b:/kick:_'
|
||||||
- s:b:/socialspy:_
|
- 's:b:/socialspy:_'
|
||||||
- s:b:/kill:_
|
- 's:b:/kill:_'
|
||||||
- s:b:/clearhistory:_
|
- 's:b://generate:_'
|
||||||
- s:a:/stop:_
|
- 's:b://:_'
|
||||||
- s:a:/reload:_
|
- 's:b:/superpickaxe:_'
|
||||||
- s:a:/nuke:_
|
- 's:b:/brush:_'
|
||||||
- s:a:/save-all:_
|
- 's:b:/mat:_'
|
||||||
- s:a:/save-on:_
|
- 's:b:/tool:_'
|
||||||
- s:a:/save-off:_
|
- 's:b://butcher:_'
|
||||||
|
- 's:b:/scoreboard:_'
|
||||||
|
|
||||||
|
# Superadmin commands - Auto-eject
|
||||||
|
- 's:a:/stop'
|
||||||
|
- 's:a:/reload'
|
||||||
|
- 's:a:/save-all'
|
||||||
|
- 's:a:/save-on'
|
||||||
|
- 's:a:/save-off'
|
||||||
|
- 's:a:/clearhistory'
|
||||||
|
|
||||||
# Automatically wipe dropped objects:
|
# Automatically wipe dropped objects:
|
||||||
auto_wipe: true
|
auto_wipe: true
|
||||||
@ -124,14 +135,68 @@ host_sender_names:
|
|||||||
- rcon
|
- rcon
|
||||||
- remotebukkit
|
- remotebukkit
|
||||||
|
|
||||||
|
# Players who cannot be banned by username
|
||||||
|
unbannable_usernames:
|
||||||
|
- honeydew
|
||||||
|
- xephos
|
||||||
|
- captainsparklez
|
||||||
|
- truemu
|
||||||
|
- kiershar
|
||||||
|
- fvdisco
|
||||||
|
- sethbling
|
||||||
|
- notch
|
||||||
|
- jeb_
|
||||||
|
- gamechap
|
||||||
|
- bertiechap
|
||||||
|
- vechs
|
||||||
|
- antvenom
|
||||||
|
- chimneyswift
|
||||||
|
- deadmau5
|
||||||
|
- etho
|
||||||
|
- ethoslab
|
||||||
|
- skydoesminecraft
|
||||||
|
- skythekidrs
|
||||||
|
- tobyturner
|
||||||
|
- xxslyfoxhoundxx
|
||||||
|
- paulsoaresjr
|
||||||
|
- sips_
|
||||||
|
- deadlox
|
||||||
|
- xxslyxx
|
||||||
|
- jeromeasf
|
||||||
|
- dinnerbone
|
||||||
|
- grumm
|
||||||
|
- grum
|
||||||
|
- evilseph
|
||||||
|
- cavemanfilms
|
||||||
|
- herobrine
|
||||||
|
- whiteboy7thst
|
||||||
|
- stampylonghead
|
||||||
|
- stampylongnose
|
||||||
|
- dantdm
|
||||||
|
|
||||||
# TwitterBot - Used to allow superadmins to verify themselves using twitter
|
# TwitterBot - Used to allow superadmins to verify themselves using twitter
|
||||||
twitterbot_enabled: false
|
twitterbot_enabled: false
|
||||||
twitterbot_url:
|
twitterbot_url: ''
|
||||||
twitterbot_secret:
|
twitterbot_secret: ''
|
||||||
|
|
||||||
# Pet Protect - Prevent tamed pets from being killed.
|
# Pet Protect - Prevent tamed pets from being killed.
|
||||||
pet_protect_enabled: true
|
pet_protect_enabled: true
|
||||||
|
|
||||||
# Logs Registration
|
# Logs Registration
|
||||||
logs_register_password:
|
logs_register_password: ''
|
||||||
logs_register_url:
|
logs_register_url: ''
|
||||||
|
|
||||||
|
# Mojang service checker
|
||||||
|
service_checker_url: http://status.mojang.com/check
|
||||||
|
|
||||||
|
# HTTPD
|
||||||
|
httpd_enabled: true
|
||||||
|
httpd_public_folder: ./public_html
|
||||||
|
httpd_port: 28966
|
||||||
|
|
||||||
|
# Inactivity Auto-Kick (Requires Essentials)
|
||||||
|
autokick_enabled: true
|
||||||
|
# autokick_threshold - Percentage of server player capacity used at which players will be automatically kicked for being inactive. Range: 0.0 - 1.0
|
||||||
|
autokick_threshold: 0.9
|
||||||
|
# autokick_time - Time, in seconds, after which a player should be kicked when inactive
|
||||||
|
autokick_time: 120
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod;
|
package me.StevenLawson.TotalFreedomMod.Bridge;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_Log;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import pgDev.bukkit.DisguiseCraft.DisguiseCraft;
|
import pgDev.bukkit.DisguiseCraft.DisguiseCraft;
|
@ -0,0 +1,118 @@
|
|||||||
|
package me.StevenLawson.TotalFreedomMod.Bridge;
|
||||||
|
|
||||||
|
import com.earth2me.essentials.Essentials;
|
||||||
|
import com.earth2me.essentials.User;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_Log;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.plugin.Plugin;
|
||||||
|
|
||||||
|
public class TFM_EssentialsBridge
|
||||||
|
{
|
||||||
|
private Essentials essentialsPlugin = null;
|
||||||
|
|
||||||
|
private TFM_EssentialsBridge()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public Essentials getEssentialsPlugin()
|
||||||
|
{
|
||||||
|
if (this.essentialsPlugin == null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
final Plugin essentials = Bukkit.getServer().getPluginManager().getPlugin("Essentials");
|
||||||
|
if (essentials != null)
|
||||||
|
{
|
||||||
|
if (essentials instanceof Essentials)
|
||||||
|
{
|
||||||
|
this.essentialsPlugin = (Essentials) essentials;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
TFM_Log.severe(ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return this.essentialsPlugin;
|
||||||
|
}
|
||||||
|
|
||||||
|
public User getEssentialsUser(String username)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
final Essentials essentials = getEssentialsPlugin();
|
||||||
|
if (essentials != null)
|
||||||
|
{
|
||||||
|
return essentials.getUserMap().getUser(username);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
TFM_Log.severe(ex);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNickname(String username, String nickname)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
final User user = getEssentialsUser(username);
|
||||||
|
if (user != null)
|
||||||
|
{
|
||||||
|
user.setNickname(nickname);
|
||||||
|
user.setDisplayNick();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
TFM_Log.severe(ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getLastActivity(String username)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
final User user = getEssentialsUser(username);
|
||||||
|
if (user != null)
|
||||||
|
{
|
||||||
|
return TFM_Util.<Long>getField(user, "lastActivity"); // This is weird
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
TFM_Log.severe(ex);
|
||||||
|
}
|
||||||
|
return 0L;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isEssentialsEnabled()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
final Essentials essentials = getEssentialsPlugin();
|
||||||
|
if (essentials != null)
|
||||||
|
{
|
||||||
|
return essentials.isEnabled();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
TFM_Log.severe(ex);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static TFM_EssentialsBridge getInstance()
|
||||||
|
{
|
||||||
|
return TFM_EssentialsBridgeHolder.INSTANCE;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class TFM_EssentialsBridgeHolder
|
||||||
|
{
|
||||||
|
private static final TFM_EssentialsBridge INSTANCE = new TFM_EssentialsBridge();
|
||||||
|
}
|
||||||
|
}
|
@ -1,11 +1,20 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod;
|
package me.StevenLawson.TotalFreedomMod.Bridge;
|
||||||
|
|
||||||
|
import com.sk89q.worldedit.IncompleteRegionException;
|
||||||
import com.sk89q.worldedit.LocalSession;
|
import com.sk89q.worldedit.LocalSession;
|
||||||
|
import com.sk89q.worldedit.LocalWorld;
|
||||||
import com.sk89q.worldedit.bukkit.BukkitPlayer;
|
import com.sk89q.worldedit.bukkit.BukkitPlayer;
|
||||||
import com.sk89q.worldedit.bukkit.WorldEditPlugin;
|
import com.sk89q.worldedit.bukkit.WorldEditPlugin;
|
||||||
|
import com.sk89q.worldedit.regions.Region;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_Log;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_ProtectedArea;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.plugin.Plugin;
|
import org.bukkit.plugin.Plugin;
|
||||||
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
|
||||||
public class TFM_WorldEditBridge
|
public class TFM_WorldEditBridge
|
||||||
{
|
{
|
||||||
@ -38,14 +47,14 @@ public class TFM_WorldEditBridge
|
|||||||
return this.worldEditPlugin;
|
return this.worldEditPlugin;
|
||||||
}
|
}
|
||||||
|
|
||||||
public BukkitPlayer getBukkitPlayer(Player p)
|
public BukkitPlayer getBukkitPlayer(Player player)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
WorldEditPlugin wep = this.getWorldEditPlugin();
|
WorldEditPlugin wep = this.getWorldEditPlugin();
|
||||||
if (wep != null)
|
if (wep != null)
|
||||||
{
|
{
|
||||||
return wep.wrapPlayer(p);
|
return wep.wrapPlayer(player);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
@ -55,14 +64,14 @@ public class TFM_WorldEditBridge
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public LocalSession getPlayerSession(Player p)
|
public LocalSession getPlayerSession(Player player)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
WorldEditPlugin wep = this.getWorldEditPlugin();
|
WorldEditPlugin wep = this.getWorldEditPlugin();
|
||||||
if (wep != null)
|
if (wep != null)
|
||||||
{
|
{
|
||||||
return wep.getSession(p);
|
return wep.getSession(player);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
@ -72,14 +81,14 @@ public class TFM_WorldEditBridge
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void undo(Player p, int count)
|
public void undo(Player player, int count)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LocalSession session = getPlayerSession(p);
|
LocalSession session = getPlayerSession(player);
|
||||||
if (session != null)
|
if (session != null)
|
||||||
{
|
{
|
||||||
BukkitPlayer bukkitPlayer = this.getBukkitPlayer(p);
|
BukkitPlayer bukkitPlayer = this.getBukkitPlayer(player);
|
||||||
if (bukkitPlayer != null)
|
if (bukkitPlayer != null)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < count; i++)
|
for (int i = 0; i < count; i++)
|
||||||
@ -95,11 +104,11 @@ public class TFM_WorldEditBridge
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setLimit(Player p, int limit)
|
public void setLimit(Player player, int limit)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LocalSession session = getPlayerSession(p);
|
LocalSession session = getPlayerSession(player);
|
||||||
if (session != null)
|
if (session != null)
|
||||||
{
|
{
|
||||||
session.setBlockChangeLimit(limit);
|
session.setBlockChangeLimit(limit);
|
||||||
@ -111,6 +120,51 @@ public class TFM_WorldEditBridge
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void validateSelection(final Player player)
|
||||||
|
{
|
||||||
|
if (TFM_AdminList.isSuperAdmin(player))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
final LocalSession session = getPlayerSession(player);
|
||||||
|
if (session != null)
|
||||||
|
{
|
||||||
|
final LocalWorld selectionWorld = session.getSelectionWorld();
|
||||||
|
final Region selection = session.getSelection(selectionWorld);
|
||||||
|
if (TFM_ProtectedArea.isInProtectedArea(
|
||||||
|
getBukkitVector(selection.getMinimumPoint()),
|
||||||
|
getBukkitVector(selection.getMaximumPoint()),
|
||||||
|
selectionWorld.getName()))
|
||||||
|
{
|
||||||
|
new BukkitRunnable()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void run()
|
||||||
|
{
|
||||||
|
player.sendMessage(ChatColor.RED + "The region that you selected contained a protected area. Selection cleared.");
|
||||||
|
session.getRegionSelector(selectionWorld).clear();
|
||||||
|
}
|
||||||
|
}.runTaskLater(TotalFreedomMod.plugin, 1L);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (IncompleteRegionException ex)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
TFM_Log.severe(ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static org.bukkit.util.Vector getBukkitVector(com.sk89q.worldedit.Vector worldEditVector)
|
||||||
|
{
|
||||||
|
return new org.bukkit.util.Vector(worldEditVector.getX(), worldEditVector.getY(), worldEditVector.getZ());
|
||||||
|
}
|
||||||
|
|
||||||
public static TFM_WorldEditBridge getInstance()
|
public static TFM_WorldEditBridge getInstance()
|
||||||
{
|
{
|
||||||
return TFM_WorldEditBridgeHolder.INSTANCE;
|
return TFM_WorldEditBridgeHolder.INSTANCE;
|
@ -2,5 +2,17 @@ package me.StevenLawson.TotalFreedomMod.Commands;
|
|||||||
|
|
||||||
public enum AdminLevel
|
public enum AdminLevel
|
||||||
{
|
{
|
||||||
ALL, OP, SUPER, SENIOR
|
ALL("All Player Commands"), OP("OP Commands"), SUPER("SuperAdmin Commands"), SENIOR("Senior Admin Commands");
|
||||||
|
//
|
||||||
|
private final String friendlyName;
|
||||||
|
|
||||||
|
private AdminLevel(String friendlyName)
|
||||||
|
{
|
||||||
|
this.friendlyName = friendlyName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFriendlyName()
|
||||||
|
{
|
||||||
|
return friendlyName;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList;
|
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -21,19 +21,19 @@ public class Command_adminmode extends TFM_Command
|
|||||||
|
|
||||||
if (args[0].equalsIgnoreCase("off"))
|
if (args[0].equalsIgnoreCase("off"))
|
||||||
{
|
{
|
||||||
TotalFreedomMod.adminOnlyMode = false;
|
TFM_ConfigEntry.ADMIN_ONLY_MODE.setBoolean(false);
|
||||||
TFM_Util.adminAction(sender.getName(), "Opening the server to all players.", true);
|
TFM_Util.adminAction(sender.getName(), "Opening the server to all players.", true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (args[0].equalsIgnoreCase("on"))
|
else if (args[0].equalsIgnoreCase("on"))
|
||||||
{
|
{
|
||||||
TotalFreedomMod.adminOnlyMode = true;
|
TFM_ConfigEntry.ADMIN_ONLY_MODE.setBoolean(true);
|
||||||
TFM_Util.adminAction(sender.getName(), "Closing the server to non-superadmins.", true);
|
TFM_Util.adminAction(sender.getName(), "Closing the server to non-superadmins.", true);
|
||||||
for (Player p : server.getOnlinePlayers())
|
for (Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
if (!TFM_SuperadminList.isUserSuperadmin(p))
|
if (!TFM_AdminList.isSuperAdmin(player))
|
||||||
{
|
{
|
||||||
p.kickPlayer("Server is now closed to non-superadmins.");
|
player.kickPlayer("Server is now closed to non-superadmins.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -0,0 +1,233 @@
|
|||||||
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.World.TFM_AdminWorld;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||||
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
@CommandPermissions(level = AdminLevel.OP, source = SourceType.BOTH)
|
||||||
|
@CommandParameters(description = "Go to the AdminWorld.", usage = "/<command> [guest < list | purge | add <player> | remove <player> > | time <morning | noon | evening | night> | weather <off | on | storm>]")
|
||||||
|
public class Command_adminworld extends TFM_Command
|
||||||
|
{
|
||||||
|
private enum CommandMode
|
||||||
|
{
|
||||||
|
TELEPORT, GUEST, TIME, WEATHER
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
|
{
|
||||||
|
CommandMode commandMode = null;
|
||||||
|
|
||||||
|
if (args.length == 0)
|
||||||
|
{
|
||||||
|
commandMode = CommandMode.TELEPORT;
|
||||||
|
}
|
||||||
|
else if (args.length >= 2)
|
||||||
|
{
|
||||||
|
if ("guest".equalsIgnoreCase(args[0]))
|
||||||
|
{
|
||||||
|
commandMode = CommandMode.GUEST;
|
||||||
|
}
|
||||||
|
else if ("time".equalsIgnoreCase(args[0]))
|
||||||
|
{
|
||||||
|
commandMode = CommandMode.TIME;
|
||||||
|
}
|
||||||
|
else if ("weather".equalsIgnoreCase(args[0]))
|
||||||
|
{
|
||||||
|
commandMode = CommandMode.WEATHER;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (commandMode == null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
switch (commandMode)
|
||||||
|
{
|
||||||
|
case TELEPORT:
|
||||||
|
{
|
||||||
|
if (!(sender instanceof Player) || sender_p == null)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
World adminWorld = null;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
adminWorld = TFM_AdminWorld.getInstance().getWorld();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
if (adminWorld == null || sender_p.getWorld() == adminWorld)
|
||||||
|
{
|
||||||
|
playerMsg("Going to the main world.");
|
||||||
|
sender_p.teleport(server.getWorlds().get(0).getSpawnLocation());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (TFM_AdminWorld.getInstance().canAccessWorld(sender_p))
|
||||||
|
{
|
||||||
|
playerMsg("Going to the AdminWorld.");
|
||||||
|
TFM_AdminWorld.getInstance().sendToWorld(sender_p);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
playerMsg("You don't have permission to access the AdminWorld.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case GUEST:
|
||||||
|
{
|
||||||
|
if (args.length == 2)
|
||||||
|
{
|
||||||
|
if ("list".equalsIgnoreCase(args[1]))
|
||||||
|
{
|
||||||
|
playerMsg("AdminWorld guest list: " + TFM_AdminWorld.getInstance().guestListToString());
|
||||||
|
}
|
||||||
|
else if ("purge".equalsIgnoreCase(args[1]))
|
||||||
|
{
|
||||||
|
assertCommandPerms(sender, sender_p);
|
||||||
|
TFM_AdminWorld.getInstance().purgeGuestList();
|
||||||
|
TFM_Util.adminAction(sender.getName(), "AdminWorld guest list purged.", false);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (args.length == 3)
|
||||||
|
{
|
||||||
|
assertCommandPerms(sender, sender_p);
|
||||||
|
|
||||||
|
if ("add".equalsIgnoreCase(args[1]))
|
||||||
|
{
|
||||||
|
Player player;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
player = getPlayer(args[2]);
|
||||||
|
}
|
||||||
|
catch (PlayerNotFoundException ex)
|
||||||
|
{
|
||||||
|
sender.sendMessage(ex.getMessage());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player != null && TFM_AdminWorld.getInstance().addGuest(player, sender_p))
|
||||||
|
{
|
||||||
|
TFM_Util.adminAction(sender.getName(), "AdminWorld guest added: " + player.getName(), false);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
playerMsg("Could not add player to guest list.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (TFM_Util.isRemoveCommand(args[1]))
|
||||||
|
{
|
||||||
|
Player player = TFM_AdminWorld.getInstance().removeGuest(args[2]);
|
||||||
|
if (player != null)
|
||||||
|
{
|
||||||
|
TFM_Util.adminAction(sender.getName(), "AdminWorld guest removed: " + player.getName(), false);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
playerMsg("Can't find guest entry for: " + args[2]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case TIME:
|
||||||
|
{
|
||||||
|
assertCommandPerms(sender, sender_p);
|
||||||
|
|
||||||
|
if (args.length == 2)
|
||||||
|
{
|
||||||
|
TFM_AdminWorld.TimeOfDay timeOfDay = TFM_AdminWorld.TimeOfDay.getByAlias(args[1]);
|
||||||
|
if (timeOfDay != null)
|
||||||
|
{
|
||||||
|
TFM_AdminWorld.getInstance().setTimeOfDay(timeOfDay);
|
||||||
|
playerMsg("AdminWorld time set to: " + timeOfDay.name());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
playerMsg("Invalid time of day. Can be: sunrise, noon, sunset, midnight");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case WEATHER:
|
||||||
|
{
|
||||||
|
assertCommandPerms(sender, sender_p);
|
||||||
|
|
||||||
|
if (args.length == 2)
|
||||||
|
{
|
||||||
|
TFM_AdminWorld.WeatherMode weatherMode = TFM_AdminWorld.WeatherMode.getByAlias(args[1]);
|
||||||
|
if (weatherMode != null)
|
||||||
|
{
|
||||||
|
TFM_AdminWorld.getInstance().setWeatherMode(weatherMode);
|
||||||
|
playerMsg("AdminWorld weather set to: " + weatherMode.name());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
playerMsg("Invalid weather mode. Can be: off, rain, storm");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (PermissionDeniedException ex)
|
||||||
|
{
|
||||||
|
sender.sendMessage(ex.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void assertCommandPerms(CommandSender sender, Player sender_p) throws PermissionDeniedException
|
||||||
|
{
|
||||||
|
if (!(sender instanceof Player) || sender_p == null || !TFM_AdminList.isSuperAdmin(sender))
|
||||||
|
{
|
||||||
|
throw new PermissionDeniedException(TotalFreedomMod.MSG_NO_PERMS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private class PermissionDeniedException extends Exception
|
||||||
|
{
|
||||||
|
public PermissionDeniedException(String string)
|
||||||
|
{
|
||||||
|
super(string);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList;
|
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
@ -23,9 +23,9 @@ public class Command_blockcmd extends TFM_Command
|
|||||||
{
|
{
|
||||||
TFM_Util.adminAction(sender.getName(), "Unblocking commands for all players", true);
|
TFM_Util.adminAction(sender.getName(), "Unblocking commands for all players", true);
|
||||||
int counter = 0;
|
int counter = 0;
|
||||||
for (Player p : server.getOnlinePlayers())
|
for (Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(p);
|
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(player);
|
||||||
if (playerdata.allCommandsBlocked())
|
if (playerdata.allCommandsBlocked())
|
||||||
{
|
{
|
||||||
counter += 1;
|
counter += 1;
|
||||||
@ -36,28 +36,28 @@ public class Command_blockcmd extends TFM_Command
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
Player p;
|
Player player;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
p = getPlayer(args[0]);
|
player = getPlayer(args[0]);
|
||||||
}
|
}
|
||||||
catch (CantFindPlayerException ex)
|
catch (PlayerNotFoundException ex)
|
||||||
{
|
{
|
||||||
playerMsg(ex.getMessage());
|
playerMsg(ex.getMessage());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TFM_SuperadminList.isUserSuperadmin(p))
|
if (TFM_AdminList.isSuperAdmin(player))
|
||||||
{
|
{
|
||||||
playerMsg(p.getName() + " is a Superadmin, and cannot have their commands blocked.");
|
playerMsg(player.getName() + " is a Superadmin, and cannot have their commands blocked.");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(p);
|
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(player);
|
||||||
|
|
||||||
playerdata.setCommandsBlocked(!playerdata.allCommandsBlocked());
|
playerdata.setCommandsBlocked(!playerdata.allCommandsBlocked());
|
||||||
|
|
||||||
TFM_Util.adminAction(sender.getName(), (playerdata.allCommandsBlocked() ? "B" : "Unb") + "locking all commands for " + p.getName(), true);
|
TFM_Util.adminAction(sender.getName(), (playerdata.allCommandsBlocked() ? "B" : "Unb") + "locking all commands for " + player.getName(), true);
|
||||||
playerMsg((playerdata.allCommandsBlocked() ? "B" : "Unb") + "locked all commands.");
|
playerMsg((playerdata.allCommandsBlocked() ? "B" : "Unb") + "locked all commands.");
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -10,7 +10,7 @@ import org.bukkit.command.CommandSender;
|
|||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
||||||
@CommandParameters(description = "Place a cage around someone.", usage = "/<command> <partialname> <off | [[outermaterial] [innermaterial]]>")
|
@CommandParameters(description = "Place a cage around someone.", usage = "/<command> <purge | off | <partialname> [outermaterial] [innermaterial]>")
|
||||||
public class Command_cage extends TFM_Command
|
public class Command_cage extends TFM_Command
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
@ -21,26 +21,53 @@ public class Command_cage extends TFM_Command
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
Player p;
|
if (TFM_Util.isStopCommand(args[0]) && sender instanceof Player)
|
||||||
|
{
|
||||||
|
TFM_Util.adminAction(sender.getName(), "Uncaging " + sender.getName(), true);
|
||||||
|
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(sender_p);
|
||||||
|
|
||||||
|
playerdata.setCaged(false);
|
||||||
|
playerdata.regenerateHistory();
|
||||||
|
playerdata.clearHistory();
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if ("purge".equalsIgnoreCase(args[0]))
|
||||||
|
{
|
||||||
|
TFM_Util.adminAction(sender.getName(), "Uncaging all players.", true);
|
||||||
|
|
||||||
|
for (Player player : server.getOnlinePlayers())
|
||||||
|
{
|
||||||
|
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(player);
|
||||||
|
playerdata.setCaged(false);
|
||||||
|
playerdata.regenerateHistory();
|
||||||
|
playerdata.clearHistory();
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
Player player;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
p = getPlayer(args[0]);
|
player = getPlayer(args[0]);
|
||||||
}
|
}
|
||||||
catch (CantFindPlayerException ex)
|
catch (PlayerNotFoundException ex)
|
||||||
{
|
{
|
||||||
sender.sendMessage(ex.getMessage());
|
sender.sendMessage(ex.getMessage());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(p);
|
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(player);
|
||||||
|
|
||||||
|
Material outerMaterial = Material.GLASS;
|
||||||
|
Material innerMaterial = Material.AIR;
|
||||||
|
|
||||||
Material cage_material_outer = Material.GLASS;
|
|
||||||
Material cage_material_inner = Material.AIR;
|
|
||||||
if (args.length >= 2)
|
if (args.length >= 2)
|
||||||
{
|
{
|
||||||
if (TFM_Util.isStopCommand(args[1]))
|
if (TFM_Util.isStopCommand(args[1]))
|
||||||
{
|
{
|
||||||
TFM_Util.adminAction(sender.getName(), "Uncaging " + p.getName() + ".", true);
|
TFM_Util.adminAction(sender.getName(), "Uncaging " + player.getName(), true);
|
||||||
|
|
||||||
playerdata.setCaged(false);
|
playerdata.setCaged(false);
|
||||||
playerdata.regenerateHistory();
|
playerdata.regenerateHistory();
|
||||||
@ -50,10 +77,13 @@ public class Command_cage extends TFM_Command
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
cage_material_outer = Material.matchMaterial(args[1]);
|
if ("darth".equalsIgnoreCase(args[1]))
|
||||||
if (cage_material_outer == null)
|
|
||||||
{
|
{
|
||||||
cage_material_outer = Material.GLASS;
|
outerMaterial = Material.SKULL;
|
||||||
|
}
|
||||||
|
else if (Material.matchMaterial(args[1]) != null)
|
||||||
|
{
|
||||||
|
outerMaterial = Material.matchMaterial(args[1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -62,25 +92,32 @@ public class Command_cage extends TFM_Command
|
|||||||
{
|
{
|
||||||
if (args[2].equalsIgnoreCase("water"))
|
if (args[2].equalsIgnoreCase("water"))
|
||||||
{
|
{
|
||||||
cage_material_inner = Material.STATIONARY_WATER;
|
innerMaterial = Material.STATIONARY_WATER;
|
||||||
}
|
}
|
||||||
else if (args[2].equalsIgnoreCase("lava"))
|
else if (args[2].equalsIgnoreCase("lava"))
|
||||||
{
|
{
|
||||||
cage_material_inner = Material.STATIONARY_LAVA;
|
innerMaterial = Material.STATIONARY_LAVA;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Location target_pos = p.getLocation().add(0, 1, 0);
|
Location targetPos = player.getLocation().clone().add(0, 1, 0);
|
||||||
playerdata.setCaged(true, target_pos, cage_material_outer, cage_material_inner);
|
playerdata.setCaged(true, targetPos, outerMaterial, innerMaterial);
|
||||||
playerdata.regenerateHistory();
|
playerdata.regenerateHistory();
|
||||||
playerdata.clearHistory();
|
playerdata.clearHistory();
|
||||||
TFM_Util.buildHistory(target_pos, 2, playerdata);
|
TFM_Util.buildHistory(targetPos, 2, playerdata);
|
||||||
TFM_Util.generateCube(target_pos, 2, playerdata.getCageMaterial(TFM_PlayerData.CageLayer.OUTER));
|
TFM_Util.generateHollowCube(targetPos, 2, outerMaterial);
|
||||||
TFM_Util.generateCube(target_pos, 1, playerdata.getCageMaterial(TFM_PlayerData.CageLayer.INNER));
|
TFM_Util.generateCube(targetPos, 1, innerMaterial);
|
||||||
|
|
||||||
p.setGameMode(GameMode.SURVIVAL);
|
player.setGameMode(GameMode.SURVIVAL);
|
||||||
|
|
||||||
TFM_Util.adminAction(sender.getName(), "Caging " + p.getName() + ".", true);
|
if (outerMaterial != Material.SKULL)
|
||||||
|
{
|
||||||
|
TFM_Util.adminAction(sender.getName(), "Caging " + player.getName(), true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TFM_Util.adminAction(sender.getName(), "Caging " + player.getName() + " in PURE_DARTH", true);
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -10,6 +10,7 @@ import org.bukkit.command.Command;
|
|||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
|
||||||
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
||||||
@CommandParameters(description = "For the people that are still alive.", usage = "/<command>")
|
@CommandParameters(description = "For the people that are still alive.", usage = "/<command>")
|
||||||
@ -18,6 +19,7 @@ public class Command_cake extends TFM_Command
|
|||||||
@Override
|
@Override
|
||||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
{
|
{
|
||||||
|
|
||||||
StringBuilder output = new StringBuilder();
|
StringBuilder output = new StringBuilder();
|
||||||
Random randomGenerator = new Random();
|
Random randomGenerator = new Random();
|
||||||
|
|
||||||
@ -28,14 +30,18 @@ public class Command_cake extends TFM_Command
|
|||||||
output.append(ChatColor.COLOR_CHAR).append(color_code).append(word).append(" ");
|
output.append(ChatColor.COLOR_CHAR).append(color_code).append(word).append(" ");
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Player p : server.getOnlinePlayers())
|
ItemStack heldItem = new ItemStack(Material.CAKE);
|
||||||
|
ItemMeta heldItemMeta = heldItem.getItemMeta();
|
||||||
|
heldItemMeta.setDisplayName((new StringBuilder()).append(ChatColor.WHITE).append("The ").append(ChatColor.BLACK).append("Lie").toString());
|
||||||
|
heldItem.setItemMeta(heldItemMeta);
|
||||||
|
|
||||||
|
for (Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
ItemStack heldItem = new ItemStack(Material.CAKE, 1);
|
player.getInventory().setItem(player.getInventory().firstEmpty(), heldItem);
|
||||||
p.getInventory().setItem(p.getInventory().firstEmpty(), heldItem);
|
player.awardAchievement(Achievement.MINE_WOOD);
|
||||||
p.awardAchievement(Achievement.MINE_WOOD);
|
player.awardAchievement(Achievement.BUILD_WORKBENCH);
|
||||||
p.awardAchievement(Achievement.BUILD_WORKBENCH);
|
player.awardAchievement(Achievement.BUILD_HOE);
|
||||||
p.awardAchievement(Achievement.BUILD_HOE);
|
player.awardAchievement(Achievement.BAKE_CAKE);
|
||||||
p.awardAchievement(Achievement.BAKE_CAKE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TFM_Util.bcastMsg(output.toString());
|
TFM_Util.bcastMsg(output.toString());
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList;
|
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Minecart;
|
import org.bukkit.entity.Minecart;
|
||||||
@ -13,15 +13,15 @@ public class Command_cartsit extends TFM_Command
|
|||||||
@Override
|
@Override
|
||||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
{
|
{
|
||||||
Player target_player = sender_p;
|
Player targetPlayer = sender_p;
|
||||||
|
|
||||||
if (args.length == 1)
|
if (args.length == 1)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
target_player = getPlayer(args[0]);
|
targetPlayer = getPlayer(args[0]);
|
||||||
}
|
}
|
||||||
catch (CantFindPlayerException ex)
|
catch (PlayerNotFoundException ex)
|
||||||
{
|
{
|
||||||
sender.sendMessage(ex.getMessage());
|
sender.sendMessage(ex.getMessage());
|
||||||
return true;
|
return true;
|
||||||
@ -30,26 +30,26 @@ public class Command_cartsit extends TFM_Command
|
|||||||
|
|
||||||
if (senderIsConsole)
|
if (senderIsConsole)
|
||||||
{
|
{
|
||||||
if (target_player == null)
|
if (targetPlayer == null)
|
||||||
{
|
{
|
||||||
sender.sendMessage("When used from the console, you must define a target player: /cartsit <player>");
|
sender.sendMessage("When used from the console, you must define a target player: /cartsit <player>");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (target_player != sender_p && !TFM_SuperadminList.isUserSuperadmin(sender))
|
else if (targetPlayer != sender_p && !TFM_AdminList.isSuperAdmin(sender))
|
||||||
{
|
{
|
||||||
sender.sendMessage("Only superadmins can select another player as a /cartsit target.");
|
sender.sendMessage("Only superadmins can select another player as a /cartsit target.");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (target_player.isInsideVehicle())
|
if (targetPlayer.isInsideVehicle())
|
||||||
{
|
{
|
||||||
target_player.getVehicle().eject();
|
targetPlayer.getVehicle().eject();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Minecart nearest_cart = null;
|
Minecart nearest_cart = null;
|
||||||
for (Minecart cart : target_player.getWorld().getEntitiesByClass(Minecart.class))
|
for (Minecart cart : targetPlayer.getWorld().getEntitiesByClass(Minecart.class))
|
||||||
{
|
{
|
||||||
if (cart.isEmpty())
|
if (cart.isEmpty())
|
||||||
{
|
{
|
||||||
@ -59,7 +59,7 @@ public class Command_cartsit extends TFM_Command
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (cart.getLocation().distanceSquared(target_player.getLocation()) < nearest_cart.getLocation().distanceSquared(target_player.getLocation()))
|
if (cart.getLocation().distanceSquared(targetPlayer.getLocation()) < nearest_cart.getLocation().distanceSquared(targetPlayer.getLocation()))
|
||||||
{
|
{
|
||||||
nearest_cart = cart;
|
nearest_cart = cart;
|
||||||
}
|
}
|
||||||
@ -69,7 +69,7 @@ public class Command_cartsit extends TFM_Command
|
|||||||
|
|
||||||
if (nearest_cart != null)
|
if (nearest_cart != null)
|
||||||
{
|
{
|
||||||
nearest_cart.setPassenger(target_player);
|
nearest_cart.setPassenger(targetPlayer);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
206
src/me/StevenLawson/TotalFreedomMod/Commands/Command_cbtool.java
Normal file
206
src/me/StevenLawson/TotalFreedomMod/Commands/Command_cbtool.java
Normal file
@ -0,0 +1,206 @@
|
|||||||
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_Log;
|
||||||
|
import net.minecraft.util.org.apache.commons.lang3.ArrayUtils;
|
||||||
|
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.block.Block;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
@CommandPermissions(level = AdminLevel.ALL, source = SourceType.BOTH)
|
||||||
|
@CommandParameters(description = "No Description Yet", usage = "/<command>")
|
||||||
|
public class Command_cbtool extends TFM_Command
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
|
{
|
||||||
|
if (args.length < 1)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ("targetblock".equalsIgnoreCase(args[0]) && sender instanceof Player)
|
||||||
|
{
|
||||||
|
Block targetBlock = sender_p.getTargetBlock(null, 100);
|
||||||
|
playerMsg("Your target block: " + targetBlock.getLocation().toString());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
final StringBuffer generatedCommand = new StringBuffer();
|
||||||
|
|
||||||
|
final Matcher matcher = Pattern.compile("\\[(.+?)\\]").matcher(StringUtils.join(args, " ").trim());
|
||||||
|
while (matcher.find())
|
||||||
|
{
|
||||||
|
matcher.appendReplacement(generatedCommand, processSubCommand(matcher.group(1)));
|
||||||
|
}
|
||||||
|
matcher.appendTail(generatedCommand);
|
||||||
|
|
||||||
|
server.dispatchCommand(sender, generatedCommand.toString());
|
||||||
|
}
|
||||||
|
catch (SubCommandFailureException ex)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
TFM_Log.severe(ex);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String processSubCommand(final String subcommand) throws SubCommandFailureException
|
||||||
|
{
|
||||||
|
final String[] args = StringUtils.split(subcommand, " ");
|
||||||
|
|
||||||
|
if (args.length == 1)
|
||||||
|
{
|
||||||
|
throw new SubCommandFailureException("Invalid subcommand name.");
|
||||||
|
}
|
||||||
|
|
||||||
|
return SubCommand.getByName(args[0]).getExecutable().execute(ArrayUtils.remove(args, 0));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static enum SubCommand
|
||||||
|
{
|
||||||
|
PLAYER_DETECT("playerdetect", new SubCommandExecutable()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public String execute(String[] args) throws SubCommandFailureException
|
||||||
|
{
|
||||||
|
if (args.length != 5)
|
||||||
|
{
|
||||||
|
throw new SubCommandFailureException("Invalid # of arguments.");
|
||||||
|
}
|
||||||
|
|
||||||
|
double x, y, z;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
x = Double.parseDouble(args[0].trim());
|
||||||
|
y = Double.parseDouble(args[1].trim());
|
||||||
|
z = Double.parseDouble(args[2].trim());
|
||||||
|
}
|
||||||
|
catch (NumberFormatException ex)
|
||||||
|
{
|
||||||
|
throw new SubCommandFailureException("Invalid coordinates.");
|
||||||
|
}
|
||||||
|
|
||||||
|
World world = null;
|
||||||
|
final String needleWorldName = args[3].trim();
|
||||||
|
final List<World> worlds = Bukkit.getWorlds();
|
||||||
|
for (final World testWorld : worlds)
|
||||||
|
{
|
||||||
|
if (testWorld.getName().trim().equalsIgnoreCase(needleWorldName))
|
||||||
|
{
|
||||||
|
world = testWorld;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (world == null)
|
||||||
|
{
|
||||||
|
throw new SubCommandFailureException("Invalid world name.");
|
||||||
|
}
|
||||||
|
|
||||||
|
final Location testLocation = new Location(world, x, y, z);
|
||||||
|
|
||||||
|
double radius;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
radius = Double.parseDouble(args[4].trim());
|
||||||
|
}
|
||||||
|
catch (NumberFormatException ex)
|
||||||
|
{
|
||||||
|
throw new SubCommandFailureException("Invalid radius.");
|
||||||
|
}
|
||||||
|
|
||||||
|
final double radiusSq = radius * radius;
|
||||||
|
|
||||||
|
final List<Player> worldPlayers = testLocation.getWorld().getPlayers();
|
||||||
|
for (final Player testPlayer : worldPlayers)
|
||||||
|
{
|
||||||
|
if (testPlayer.getLocation().distanceSquared(testLocation) < radiusSq)
|
||||||
|
{
|
||||||
|
return testPlayer.getName();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new SubCommandFailureException("No player found in range.");
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
PLAYER_DETECT_BOOLEAN("playerdetectboolean", new SubCommandExecutable()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public String execute(String[] args) throws SubCommandFailureException
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
PLAYER_DETECT.getExecutable().execute(args);
|
||||||
|
}
|
||||||
|
catch (SubCommandFailureException ex)
|
||||||
|
{
|
||||||
|
return "0";
|
||||||
|
}
|
||||||
|
|
||||||
|
return "1";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
//
|
||||||
|
private final String name;
|
||||||
|
private final SubCommandExecutable executable;
|
||||||
|
|
||||||
|
private SubCommand(String subCommandName, SubCommandExecutable subCommandImpl)
|
||||||
|
{
|
||||||
|
this.name = subCommandName;
|
||||||
|
this.executable = subCommandImpl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SubCommandExecutable getExecutable()
|
||||||
|
{
|
||||||
|
return executable;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName()
|
||||||
|
{
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static SubCommand getByName(String needle) throws SubCommandFailureException
|
||||||
|
{
|
||||||
|
needle = needle.trim();
|
||||||
|
for (SubCommand subCommand : values())
|
||||||
|
{
|
||||||
|
if (subCommand.getName().equalsIgnoreCase(needle))
|
||||||
|
{
|
||||||
|
return subCommand;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw new SubCommandFailureException("Invalid subcommand name.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private interface SubCommandExecutable
|
||||||
|
{
|
||||||
|
public String execute(String[] args) throws SubCommandFailureException;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class SubCommandFailureException extends Exception
|
||||||
|
{
|
||||||
|
public SubCommandFailureException()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public SubCommandFailureException(String message)
|
||||||
|
{
|
||||||
|
super(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -5,7 +5,7 @@ import java.util.Collections;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -21,11 +21,11 @@ public class Command_cmdlist extends TFM_Command
|
|||||||
{
|
{
|
||||||
List<String> commands = new ArrayList<String>();
|
List<String> commands = new ArrayList<String>();
|
||||||
|
|
||||||
for (Plugin p : server.getPluginManager().getPlugins())
|
for (Plugin targetPlugin : server.getPluginManager().getPlugins())
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
PluginDescriptionFile desc = p.getDescription();
|
PluginDescriptionFile desc = targetPlugin.getDescription();
|
||||||
Map<String, Map<String, Object>> map = (Map<String, Map<String, Object>>) desc.getCommands();
|
Map<String, Map<String, Object>> map = (Map<String, Map<String, Object>>) desc.getCommands();
|
||||||
|
|
||||||
if (map != null)
|
if (map != null)
|
||||||
|
@ -6,7 +6,7 @@ import org.bukkit.command.CommandSender;
|
|||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.ONLY_IN_GAME)
|
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.ONLY_IN_GAME)
|
||||||
@CommandParameters(description = "Spy on commands", usage = "/<command>")
|
@CommandParameters(description = "Spy on commands", usage = "/<command>", aliases = "commandspy")
|
||||||
public class Command_cmdspy extends TFM_Command
|
public class Command_cmdspy extends TFM_Command
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
|
@ -0,0 +1,58 @@
|
|||||||
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.Map;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.Bridge.TFM_EssentialsBridge;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
|
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
@CommandPermissions(level = AdminLevel.OP, source = SourceType.ONLY_IN_GAME)
|
||||||
|
@CommandParameters(description = "Essentials Interface Command - Color your current nickname.", usage = "/<command> <color>")
|
||||||
|
public class Command_colorme extends TFM_Command
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
|
{
|
||||||
|
if (args.length != 1)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ("list".equalsIgnoreCase(args[0]))
|
||||||
|
{
|
||||||
|
playerMsg("Colors: " + StringUtils.join(TFM_Util.CHAT_COLOR_NAMES.keySet(), ", "));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
final String needle = args[0].trim().toLowerCase();
|
||||||
|
ChatColor color = null;
|
||||||
|
final Iterator<Map.Entry<String, ChatColor>> it = TFM_Util.CHAT_COLOR_NAMES.entrySet().iterator();
|
||||||
|
while (it.hasNext())
|
||||||
|
{
|
||||||
|
final Map.Entry<String, ChatColor> entry = it.next();
|
||||||
|
if (entry.getKey().contains(needle))
|
||||||
|
{
|
||||||
|
color = entry.getValue();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (color == null)
|
||||||
|
{
|
||||||
|
playerMsg("Invalid color: " + needle + " - Use \"/colorme list\" to list colors.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
final String newNick = color + ChatColor.stripColor(sender_p.getDisplayName()).trim() + ChatColor.WHITE;
|
||||||
|
|
||||||
|
TFM_EssentialsBridge.getInstance().setNickname(sender.getName(), newNick);
|
||||||
|
|
||||||
|
playerMsg("Your nickname is now: " + newNick);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,70 @@
|
|||||||
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
@CommandPermissions(level = AdminLevel.SENIOR, source = SourceType.ONLY_CONSOLE)
|
||||||
|
@CommandParameters(description = "Temporarily change config parameters.", usage = "/<command> <entry> <value>")
|
||||||
|
public class Command_config extends TFM_Command
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
|
{
|
||||||
|
if (args.length != 2)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
TFM_ConfigEntry entry = TFM_ConfigEntry.findConfigEntry(args[0]);
|
||||||
|
|
||||||
|
if (entry == null)
|
||||||
|
{
|
||||||
|
sender.sendMessage("Can't find configuration option: " + args[0]);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
Object newValue = null;
|
||||||
|
final String newValueString = args[1].trim();
|
||||||
|
final Class<?> type = entry.getType();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (type.isAssignableFrom(Integer.class))
|
||||||
|
{
|
||||||
|
newValue = new Integer(newValueString);
|
||||||
|
entry.setInteger((Integer) newValue);
|
||||||
|
}
|
||||||
|
else if (type.isAssignableFrom(Double.class))
|
||||||
|
{
|
||||||
|
newValue = new Double(newValueString);
|
||||||
|
entry.setDouble((Double) newValue);
|
||||||
|
}
|
||||||
|
else if (type.isAssignableFrom(Boolean.class))
|
||||||
|
{
|
||||||
|
newValue = Boolean.valueOf(newValueString);
|
||||||
|
entry.setBoolean((Boolean) newValue);
|
||||||
|
}
|
||||||
|
else if (type.isAssignableFrom(String.class))
|
||||||
|
{
|
||||||
|
newValue = newValueString;
|
||||||
|
entry.setString((String) newValue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
if (newValue != null)
|
||||||
|
{
|
||||||
|
sender.sendMessage(String.format("Set configuration entry \"%s\" to \"%s\" value \"%s\".",
|
||||||
|
entry.toString(), type.getName(), newValue.toString()));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sender.sendMessage("Could not parse value \"" + newValueString + "\" as type \"" + type.getName() + "\".");
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList;
|
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
@ -24,31 +24,31 @@ public class Command_creative extends TFM_Command
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Player p;
|
Player player;
|
||||||
if (args.length == 0)
|
if (args.length == 0)
|
||||||
{
|
{
|
||||||
p = sender_p;
|
player = sender_p;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (args[0].equalsIgnoreCase("-a"))
|
if (args[0].equalsIgnoreCase("-a"))
|
||||||
{
|
{
|
||||||
if (!TFM_SuperadminList.isUserSuperadmin(sender))
|
if (!TFM_AdminList.isSuperAdmin(sender))
|
||||||
{
|
{
|
||||||
sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS);
|
sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Player player : server.getOnlinePlayers())
|
for (Player targetPlayer : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
player.setGameMode(GameMode.CREATIVE);
|
targetPlayer.setGameMode(GameMode.CREATIVE);
|
||||||
}
|
}
|
||||||
|
|
||||||
TFM_Util.adminAction(sender.getName(), "Changing everyone's gamemode to creative", false);
|
TFM_Util.adminAction(sender.getName(), "Changing everyone's gamemode to creative", false);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender)))
|
if (!(senderIsConsole || TFM_AdminList.isSuperAdmin(sender)))
|
||||||
{
|
{
|
||||||
playerMsg("Only superadmins can change other user's gamemode.");
|
playerMsg("Only superadmins can change other user's gamemode.");
|
||||||
return true;
|
return true;
|
||||||
@ -56,9 +56,9 @@ public class Command_creative extends TFM_Command
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
p = getPlayer(args[0]);
|
player = getPlayer(args[0]);
|
||||||
}
|
}
|
||||||
catch (CantFindPlayerException ex)
|
catch (PlayerNotFoundException ex)
|
||||||
{
|
{
|
||||||
sender.sendMessage(ex.getMessage());
|
sender.sendMessage(ex.getMessage());
|
||||||
return true;
|
return true;
|
||||||
@ -66,9 +66,9 @@ public class Command_creative extends TFM_Command
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
playerMsg("Setting " + p.getName() + " to game mode 'Creative'.");
|
playerMsg("Setting " + player.getName() + " to game mode 'Creative'.");
|
||||||
playerMsg(p, sender.getName() + " set your game mode to 'Creative'.");
|
playerMsg(player, sender.getName() + " set your game mode to 'Creative'.");
|
||||||
p.setGameMode(GameMode.CREATIVE);
|
player.setGameMode(GameMode.CREATIVE);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
@ -18,7 +18,7 @@ public class Command_deafen extends TFM_Command
|
|||||||
@Override
|
@Override
|
||||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
{
|
{
|
||||||
for (final Player p : server.getOnlinePlayers())
|
for (final Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
for (double percent = 0.0; percent <= 1.0; percent += (1.0 / STEPS))
|
for (double percent = 0.0; percent <= 1.0; percent += (1.0 / STEPS))
|
||||||
{
|
{
|
||||||
@ -29,7 +29,7 @@ public class Command_deafen extends TFM_Command
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
p.playSound(randomOffset(p.getLocation(), 5.0), Sound.values()[random.nextInt(Sound.values().length)], 100.0f, pitch);
|
player.playSound(randomOffset(player.getLocation(), 5.0), Sound.values()[random.nextInt(Sound.values().length)], 100.0f, pitch);
|
||||||
}
|
}
|
||||||
}.runTaskLater(plugin, Math.round(20.0 * percent * 2.0));
|
}.runTaskLater(plugin, Math.round(20.0 * percent * 2.0));
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import org.apache.commons.lang.ArrayUtils;
|
import net.minecraft.util.org.apache.commons.lang3.ArrayUtils;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
@ -0,0 +1,26 @@
|
|||||||
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.Bridge.TFM_EssentialsBridge;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
||||||
|
@CommandParameters(description = "Essentials Interface Command - Remove the nickname of all players on the server.", usage = "/<command>")
|
||||||
|
public class Command_denick extends TFM_Command
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
|
{
|
||||||
|
TFM_Util.adminAction(sender.getName(), "Removing all nicknames.", false);
|
||||||
|
|
||||||
|
Player[] onlinePlayers = server.getOnlinePlayers();
|
||||||
|
for (Player player : onlinePlayers)
|
||||||
|
{
|
||||||
|
TFM_EssentialsBridge.getInstance().setNickname(player.getName(), null);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
@ -18,25 +18,25 @@ public class Command_deop extends TFM_Command
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
OfflinePlayer p = null;
|
OfflinePlayer player = null;
|
||||||
|
|
||||||
for (Player onlinePlayer : server.getOnlinePlayers())
|
for (Player onlinePlayer : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
if (args[0].equalsIgnoreCase(onlinePlayer.getName()))
|
if (args[0].equalsIgnoreCase(onlinePlayer.getName()))
|
||||||
{
|
{
|
||||||
p = onlinePlayer;
|
player = onlinePlayer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if the player is not online
|
// if the player is not online
|
||||||
if (p == null)
|
if (player == null)
|
||||||
{
|
{
|
||||||
p = server.getOfflinePlayer(args[0]);
|
player = server.getOfflinePlayer(args[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
TFM_Util.adminAction(sender.getName(), "De-opping " + p.getName(), false);
|
TFM_Util.adminAction(sender.getName(), "De-opping " + player.getName(), false);
|
||||||
|
|
||||||
p.setOp(false);
|
player.setOp(false);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -15,10 +15,10 @@ public class Command_deopall extends TFM_Command
|
|||||||
{
|
{
|
||||||
TFM_Util.adminAction(sender.getName(), "De-opping all players on the server", true);
|
TFM_Util.adminAction(sender.getName(), "De-opping all players on the server", true);
|
||||||
|
|
||||||
for (Player p : server.getOnlinePlayers())
|
for (Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
p.setOp(false);
|
player.setOp(false);
|
||||||
p.sendMessage(TotalFreedomMod.YOU_ARE_NOT_OP);
|
player.sendMessage(TotalFreedomMod.YOU_ARE_NOT_OP);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -3,7 +3,7 @@ package me.StevenLawson.TotalFreedomMod.Commands;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
@ -74,13 +74,13 @@ public class Command_dispfill extends TFM_Command
|
|||||||
{
|
{
|
||||||
for (int z_offset = -radius; z_offset <= radius; z_offset++)
|
for (int z_offset = -radius; z_offset <= radius; z_offset++)
|
||||||
{
|
{
|
||||||
Block target_block = center_block.getRelative(x_offset, y_offset, z_offset);
|
Block targetBlock = center_block.getRelative(x_offset, y_offset, z_offset);
|
||||||
if (target_block.getLocation().distanceSquared(center_location) < (radius * radius))
|
if (targetBlock.getLocation().distanceSquared(center_location) < (radius * radius))
|
||||||
{
|
{
|
||||||
if (target_block.getType().equals(Material.DISPENSER))
|
if (targetBlock.getType().equals(Material.DISPENSER))
|
||||||
{
|
{
|
||||||
sender.sendMessage("Filling dispenser @ " + TFM_Util.formatLocation(target_block.getLocation()));
|
sender.sendMessage("Filling dispenser @ " + TFM_Util.formatLocation(targetBlock.getLocation()));
|
||||||
setDispenserContents(target_block, items_array);
|
setDispenserContents(targetBlock, items_array);
|
||||||
affected++;
|
affected++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -98,9 +98,9 @@ public class Command_dispfill extends TFM_Command
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void setDispenserContents(Block target_block, ItemStack[] items)
|
private static void setDispenserContents(Block targetBlock, ItemStack[] items)
|
||||||
{
|
{
|
||||||
Dispenser dispenser = (Dispenser) target_block.getState();
|
Dispenser dispenser = (Dispenser) targetBlock.getState();
|
||||||
Inventory disp_inv = dispenser.getInventory();
|
Inventory disp_inv = dispenser.getInventory();
|
||||||
disp_inv.clear();
|
disp_inv.clear();
|
||||||
disp_inv.addItem(items);
|
disp_inv.addItem(items);
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_ServerInterface;
|
import me.StevenLawson.TotalFreedomMod.TFM_ServerInterface;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList;
|
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_Ban;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_BanManager;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
@ -11,7 +13,7 @@ import org.bukkit.entity.Player;
|
|||||||
import org.bukkit.scheduler.BukkitRunnable;
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
|
||||||
@CommandPermissions(level = AdminLevel.SENIOR, source = SourceType.ONLY_CONSOLE)
|
@CommandPermissions(level = AdminLevel.SENIOR, source = SourceType.ONLY_CONSOLE)
|
||||||
@CommandParameters(description = "For the bad Superadmins.", usage = "/<command> <playername>")
|
@CommandParameters(description = "For the bad Superadmins", usage = "/<command> <playername>")
|
||||||
public class Command_doom extends TFM_Command
|
public class Command_doom extends TFM_Command
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
@ -22,53 +24,53 @@ public class Command_doom extends TFM_Command
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
final Player p;
|
final Player player;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
p = getPlayer(args[0]);
|
player = getPlayer(args[0]);
|
||||||
}
|
}
|
||||||
catch (CantFindPlayerException ex)
|
catch (PlayerNotFoundException ex)
|
||||||
{
|
{
|
||||||
sender.sendMessage(ex.getMessage());
|
sender.sendMessage(ex.getMessage());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
TFM_Util.adminAction(sender.getName(), "Casting oblivion over " + p.getName(), true);
|
TFM_Util.adminAction(sender.getName(), "Casting oblivion over " + player.getName(), true);
|
||||||
TFM_Util.bcastMsg(p.getName() + " will be completely obliviated!", ChatColor.RED);
|
TFM_Util.bcastMsg(player.getName() + " will be completely obliviated!", ChatColor.RED);
|
||||||
|
|
||||||
final String IP = p.getAddress().getAddress().getHostAddress().trim();
|
final String ip = player.getAddress().getAddress().getHostAddress().trim();
|
||||||
|
|
||||||
// remove from superadmin
|
// remove from superadmin
|
||||||
if (TFM_SuperadminList.isUserSuperadmin(p))
|
if (TFM_AdminList.isSuperAdmin(player))
|
||||||
{
|
{
|
||||||
TFM_Util.adminAction(sender.getName(), "Removing " + p.getName() + " from the superadmin list.", true);
|
TFM_Util.adminAction(sender.getName(), "Removing " + player.getName() + " from the superadmin list.", true);
|
||||||
TFM_SuperadminList.removeSuperadmin(p);
|
TFM_AdminList.removeSuperadmin(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
// remove from whitelist
|
// remove from whitelist
|
||||||
p.setWhitelisted(false);
|
player.setWhitelisted(false);
|
||||||
|
|
||||||
// deop
|
// deop
|
||||||
p.setOp(false);
|
player.setOp(false);
|
||||||
|
|
||||||
// ban IP
|
// ban IP
|
||||||
TFM_ServerInterface.banIP(IP, null, null, null);
|
TFM_BanManager.getInstance().addIpBan(new TFM_Ban(ip, player.getName()));
|
||||||
|
|
||||||
// ban name
|
// ban name
|
||||||
TFM_ServerInterface.banUsername(p.getName(), null, null, null);
|
TFM_BanManager.getInstance().addUuidBan(new TFM_Ban(player.getUniqueId(), player.getName()));
|
||||||
|
|
||||||
// set gamemode to survival
|
// set gamemode to survival
|
||||||
p.setGameMode(GameMode.SURVIVAL);
|
player.setGameMode(GameMode.SURVIVAL);
|
||||||
|
|
||||||
// clear inventory
|
// clear inventory
|
||||||
p.closeInventory();
|
player.closeInventory();
|
||||||
p.getInventory().clear();
|
player.getInventory().clear();
|
||||||
|
|
||||||
// ignite player
|
// ignite player
|
||||||
p.setFireTicks(10000);
|
player.setFireTicks(10000);
|
||||||
|
|
||||||
// generate explosion
|
// generate explosion
|
||||||
p.getWorld().createExplosion(p.getLocation(), 4F);
|
player.getWorld().createExplosion(player.getLocation(), 4F);
|
||||||
|
|
||||||
new BukkitRunnable()
|
new BukkitRunnable()
|
||||||
{
|
{
|
||||||
@ -76,10 +78,10 @@ public class Command_doom extends TFM_Command
|
|||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
// strike lightning
|
// strike lightning
|
||||||
p.getWorld().strikeLightning(p.getLocation());
|
player.getWorld().strikeLightning(player.getLocation());
|
||||||
|
|
||||||
// kill (if not done already)
|
// kill (if not done already)
|
||||||
p.setHealth(0.0);
|
player.setHealth(0.0);
|
||||||
}
|
}
|
||||||
}.runTaskLater(plugin, 20L * 2L);
|
}.runTaskLater(plugin, 20L * 2L);
|
||||||
|
|
||||||
@ -89,13 +91,13 @@ public class Command_doom extends TFM_Command
|
|||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
// message
|
// message
|
||||||
TFM_Util.adminAction(sender.getName(), "Banning " + p.getName() + ", IP: " + IP, true);
|
TFM_Util.adminAction(sender.getName(), "Banning " + player.getName() + ", IP: " + ip, true);
|
||||||
|
|
||||||
// generate explosion
|
// generate explosion
|
||||||
p.getWorld().createExplosion(p.getLocation(), 4F);
|
player.getWorld().createExplosion(player.getLocation(), 4F);
|
||||||
|
|
||||||
// kick player
|
// kick player
|
||||||
p.kickPlayer(ChatColor.RED + "FUCKOFF, and get your shit together!");
|
player.kickPlayer(ChatColor.RED + "FUCKOFF, and get your shit together!");
|
||||||
}
|
}
|
||||||
}.runTaskLater(plugin, 20L * 3L);
|
}.runTaskLater(plugin, 20L * 3L);
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -18,7 +18,7 @@ public class Command_droptoggle extends TFM_Command
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
TFM_Util.adminAction(sender.getName(),
|
TFM_Util.adminAction(sender.getName(),
|
||||||
((TotalFreedomMod.autoEntityWipe = !args[0].equalsIgnoreCase("off")) ? "Enabled" : "Disabled")
|
(TFM_ConfigEntry.AUTO_ENTITY_WIPE.setBoolean(!args[0].equalsIgnoreCase("off")) ? "Enabled" : "Disabled")
|
||||||
+ " automatic entity wiping.", false);
|
+ " automatic entity wiping.", false);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,42 @@
|
|||||||
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
|
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.plugin.Plugin;
|
||||||
|
import org.bukkit.plugin.PluginManager;
|
||||||
|
|
||||||
|
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
||||||
|
@CommandParameters(description = "Shortcut to enable/disable DisguiseCraft.", usage = "/<command>")
|
||||||
|
public class Command_dtoggle extends TFM_Command
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
|
{
|
||||||
|
Plugin disguiseCraft = server.getPluginManager().getPlugin("DisguiseCraft");
|
||||||
|
if (disguiseCraft != null)
|
||||||
|
{
|
||||||
|
PluginManager pluginManager = plugin.getServer().getPluginManager();
|
||||||
|
|
||||||
|
boolean enabled = disguiseCraft.isEnabled();
|
||||||
|
if (enabled)
|
||||||
|
{
|
||||||
|
pluginManager.disablePlugin(disguiseCraft);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pluginManager.enablePlugin(disguiseCraft);
|
||||||
|
}
|
||||||
|
|
||||||
|
TFM_Util.adminAction(sender.getName(), (!enabled ? "Enabled" : "Disabled") + " DisguiseCraft.", true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sender.sendMessage("DisguiseCraft is not installed on this server.");
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
@ -1,6 +1,7 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Log;
|
import me.StevenLawson.TotalFreedomMod.TFM_Log;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.enchantments.Enchantment;
|
import org.bukkit.enchantments.Enchantment;
|
||||||
@ -121,7 +122,7 @@ public class Command_enchant extends TFM_Command
|
|||||||
playerMsg("Can't use this enchantment on held item.");
|
playerMsg("Can't use this enchantment on held item.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (args[0].equalsIgnoreCase("remove"))
|
else if (TFM_Util.isRemoveCommand(args[0]))
|
||||||
{
|
{
|
||||||
itemInHand.removeEnchantment(ench);
|
itemInHand.removeEnchantment(ench);
|
||||||
|
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.ONLY_IN_GAME)
|
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.ONLY_IN_GAME)
|
||||||
@CommandParameters(description = "Push people away from you.", usage = "/<command> [radius] [strength]")
|
@CommandParameters(description = "Push people away from you.", usage = "/<command> [radius] [strength]")
|
||||||
@ -12,8 +16,8 @@ public class Command_expel extends TFM_Command
|
|||||||
@Override
|
@Override
|
||||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
{
|
{
|
||||||
double radius = 15.0;
|
double radius = 20.0;
|
||||||
double strength = 20.0;
|
double strength = 5.0;
|
||||||
|
|
||||||
if (args.length >= 1)
|
if (args.length >= 1)
|
||||||
{
|
{
|
||||||
@ -21,7 +25,7 @@ public class Command_expel extends TFM_Command
|
|||||||
{
|
{
|
||||||
radius = Math.max(1.0, Math.min(100.0, Double.parseDouble(args[0])));
|
radius = Math.max(1.0, Math.min(100.0, Double.parseDouble(args[0])));
|
||||||
}
|
}
|
||||||
catch (NumberFormatException nfex)
|
catch (NumberFormatException ex)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -32,33 +36,50 @@ public class Command_expel extends TFM_Command
|
|||||||
{
|
{
|
||||||
strength = Math.max(0.0, Math.min(50.0, Double.parseDouble(args[1])));
|
strength = Math.max(0.0, Math.min(50.0, Double.parseDouble(args[1])));
|
||||||
}
|
}
|
||||||
catch (NumberFormatException nfex)
|
catch (NumberFormatException ex)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Location sender_pos = sender_p.getLocation();
|
List<String> pushedPlayers = new ArrayList<String>();
|
||||||
for (Player p : sender_pos.getWorld().getPlayers())
|
|
||||||
|
final Vector senderPos = sender_p.getLocation().toVector();
|
||||||
|
final List<Player> players = sender_p.getWorld().getPlayers();
|
||||||
|
for (final Player player : players)
|
||||||
{
|
{
|
||||||
if (!p.equals(sender_p))
|
if (player.equals(sender_p))
|
||||||
{
|
{
|
||||||
Location target_pos = p.getLocation();
|
continue;
|
||||||
|
|
||||||
boolean in_range = false;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
in_range = target_pos.distanceSquared(sender_pos) < (radius * radius);
|
|
||||||
}
|
|
||||||
catch (IllegalArgumentException ex)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
if (in_range)
|
|
||||||
{
|
|
||||||
p.setVelocity(target_pos.clone().subtract(sender_pos).toVector().normalize().multiply(strength));
|
|
||||||
playerMsg("Pushing " + p.getName() + ".");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Location targetPos = player.getLocation();
|
||||||
|
final Vector targetPosVec = targetPos.toVector();
|
||||||
|
|
||||||
|
boolean inRange = false;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
inRange = targetPosVec.distanceSquared(senderPos) < (radius * radius);
|
||||||
|
}
|
||||||
|
catch (IllegalArgumentException ex)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
if (inRange)
|
||||||
|
{
|
||||||
|
player.getWorld().createExplosion(targetPos, 0.0f, false);
|
||||||
|
player.setFlying(false);
|
||||||
|
player.setVelocity(targetPosVec.subtract(senderPos).normalize().multiply(strength));
|
||||||
|
pushedPlayers.add(player.getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pushedPlayers.isEmpty())
|
||||||
|
{
|
||||||
|
playerMsg("No players pushed.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
playerMsg("Pushed " + pushedPlayers.size() + " players: " + StringUtils.join(pushedPlayers, ", "));
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -22,7 +22,7 @@ public class Command_explosives extends TFM_Command
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
TotalFreedomMod.explosiveRadius = Math.max(1.0, Math.min(30.0, Double.parseDouble(args[1])));
|
TFM_ConfigEntry.EXPLOSIVE_RADIUS.setDouble(Math.max(1.0, Math.min(30.0, Double.parseDouble(args[1]))));
|
||||||
}
|
}
|
||||||
catch (NumberFormatException nfex)
|
catch (NumberFormatException nfex)
|
||||||
{
|
{
|
||||||
@ -33,12 +33,12 @@ public class Command_explosives extends TFM_Command
|
|||||||
|
|
||||||
if (args[0].equalsIgnoreCase("on"))
|
if (args[0].equalsIgnoreCase("on"))
|
||||||
{
|
{
|
||||||
TotalFreedomMod.allowExplosions = true;
|
TFM_ConfigEntry.ALLOW_EXPLOSIONS.setBoolean(true);
|
||||||
playerMsg("Explosives are now enabled, radius set to " + TotalFreedomMod.explosiveRadius + " blocks.");
|
playerMsg("Explosives are now enabled, radius set to " + TFM_ConfigEntry.EXPLOSIVE_RADIUS.getDouble() + " blocks.");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
TotalFreedomMod.allowExplosions = false;
|
TFM_ConfigEntry.ALLOW_EXPLOSIONS.setBoolean(false);
|
||||||
playerMsg("Explosives are now disabled.");
|
playerMsg("Explosives are now disabled.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,37 @@
|
|||||||
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_PlayerList;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||||
|
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
||||||
|
@CommandParameters(description = "Shows all IPs registered to a player", usage = "/<command> <player>")
|
||||||
|
public class Command_findip extends TFM_Command
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
|
{
|
||||||
|
if (args.length != 1)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
final Player player;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
player = getPlayer(args[0]);
|
||||||
|
}
|
||||||
|
catch (PlayerNotFoundException ex)
|
||||||
|
{
|
||||||
|
playerMsg(ex.getMessage());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
playerMsg("Player IPs: " + StringUtils.join(TFM_PlayerList.getInstance().getEntry(player).getIps(), ", "));
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -19,12 +19,12 @@ public class Command_fireplace extends TFM_Command
|
|||||||
|
|
||||||
if (args[0].equalsIgnoreCase("on"))
|
if (args[0].equalsIgnoreCase("on"))
|
||||||
{
|
{
|
||||||
TotalFreedomMod.allowFirePlace = true;
|
TFM_ConfigEntry.ALLOW_FIRE_PLACE.setBoolean(true);
|
||||||
playerMsg("Fire placement is now enabled.");
|
playerMsg("Fire placement is now enabled.");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
TotalFreedomMod.allowFirePlace = false;
|
TFM_ConfigEntry.ALLOW_FIRE_PLACE.setBoolean(false);
|
||||||
playerMsg("Fire placement is now disabled.");
|
playerMsg("Fire placement is now disabled.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_GameRuleHandler;
|
import me.StevenLawson.TotalFreedomMod.TFM_GameRuleHandler;
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -18,9 +18,13 @@ public class Command_firespread extends TFM_Command
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
playerMsg("Fire spread is now " + ((TotalFreedomMod.allowFireSpread = !args[0].equalsIgnoreCase("off")) ? "enabled" : "disabled") + ".");
|
boolean fireSpread = !args[0].equalsIgnoreCase("off");
|
||||||
|
|
||||||
TFM_GameRuleHandler.setGameRule(TFM_GameRuleHandler.TFM_GameRule.DO_FIRE_TICK, TotalFreedomMod.allowFireSpread);
|
TFM_ConfigEntry.ALLOW_FIRE_SPREAD.setBoolean(fireSpread);
|
||||||
|
|
||||||
|
playerMsg("Fire spread is now " + (fireSpread ? "enabled" : "disabled") + ".");
|
||||||
|
|
||||||
|
TFM_GameRuleHandler.setGameRule(TFM_GameRuleHandler.TFM_GameRule.DO_FIRE_TICK, fireSpread);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -1,21 +1,21 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
import me.StevenLawson.TotalFreedomMod.World.TFM_Flatlands;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
@CommandPermissions(level = AdminLevel.ALL, source = SourceType.BOTH)
|
@CommandPermissions(level = AdminLevel.ALL, source = SourceType.ONLY_IN_GAME)
|
||||||
@CommandParameters(description = "Goto the flatlands.", usage = "/<command>")
|
@CommandParameters(description = "Goto the flatlands.", usage = "/<command>")
|
||||||
public class Command_flatlands extends TFM_Command
|
public class Command_flatlands extends TFM_Command
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
{
|
{
|
||||||
if (TotalFreedomMod.generateFlatlands)
|
if (TFM_ConfigEntry.GENERATE_FLATLANDS.getBoolean())
|
||||||
{
|
{
|
||||||
TFM_Util.gotoWorld(sender, "flatlands");
|
TFM_Flatlands.getInstance().sendToWorld(sender_p);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -17,16 +17,7 @@ public class Command_fluidspread extends TFM_Command
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (args[0].equalsIgnoreCase("on"))
|
playerMsg("Lava and water spread is now " + (TFM_ConfigEntry.ALLOW_FLUID_SPREAD.setBoolean(!args[0].equalsIgnoreCase("off")) ? "enabled" : "disabled") + ".");
|
||||||
{
|
|
||||||
TotalFreedomMod.allowFliudSpread = true;
|
|
||||||
playerMsg("Lava and water spread is now enabled.");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
TotalFreedomMod.allowFliudSpread = false;
|
|
||||||
playerMsg("Lava and water spread is now disabled.");
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -40,6 +42,13 @@ public class Command_fr extends TFM_Command
|
|||||||
}.runTaskLater(plugin, 20L * 60L * 5L);
|
}.runTaskLater(plugin, 20L * 60L * 5L);
|
||||||
|
|
||||||
playerMsg("Players are now frozen.");
|
playerMsg("Players are now frozen.");
|
||||||
|
for (Player player : Bukkit.getOnlinePlayers())
|
||||||
|
{
|
||||||
|
if (!TFM_AdminList.isSuperAdmin(player))
|
||||||
|
{
|
||||||
|
TFM_Util.playerMsg(player, "You have been frozen due to rule breaker(s), you will be unfrozen very soon.", ChatColor.RED);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -62,9 +71,9 @@ public class Command_fr extends TFM_Command
|
|||||||
TotalFreedomMod.freezePurgeTask.cancel();
|
TotalFreedomMod.freezePurgeTask.cancel();
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Player p : server.getOnlinePlayers())
|
for (Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(p);
|
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(player);
|
||||||
playerdata.setFrozen(false);
|
playerdata.setFrozen(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -72,22 +81,22 @@ public class Command_fr extends TFM_Command
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Player p;
|
Player player;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
p = getPlayer(args[0]);
|
player = getPlayer(args[0]);
|
||||||
}
|
}
|
||||||
catch (CantFindPlayerException ex)
|
catch (PlayerNotFoundException ex)
|
||||||
{
|
{
|
||||||
playerMsg(ex.getMessage(), ChatColor.RED);
|
playerMsg(ex.getMessage(), ChatColor.RED);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(p);
|
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(player);
|
||||||
playerdata.setFrozen(!playerdata.isFrozen());
|
playerdata.setFrozen(!playerdata.isFrozen());
|
||||||
|
|
||||||
playerMsg(p.getName() + " has been " + (playerdata.isFrozen() ? "frozen" : "unfrozen") + ".");
|
playerMsg(player.getName() + " has been " + (playerdata.isFrozen() ? "frozen" : "unfrozen") + ".");
|
||||||
playerMsg(p, "You have been " + (playerdata.isFrozen() ? "frozen" : "unfrozen") + ".", ChatColor.AQUA);
|
playerMsg(player, "You have been " + (playerdata.isFrozen() ? "frozen" : "unfrozen") + ".", ChatColor.AQUA);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_Ban;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_BanManager;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_ServerInterface;
|
import me.StevenLawson.TotalFreedomMod.TFM_ServerInterface;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
@ -12,7 +14,7 @@ import org.bukkit.entity.Player;
|
|||||||
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
||||||
@CommandParameters(
|
@CommandParameters(
|
||||||
description = "Use admin commands on someone by hash. Use mode 'list' to get a player's hash. Other modes are kick, nameban, ipban, ban, op, deop, ci",
|
description = "Use admin commands on someone by hash. Use mode 'list' to get a player's hash. Other modes are kick, nameban, ipban, ban, op, deop, ci",
|
||||||
usage = "/<command> [list | [<kick | nameban | ipban | ban | op | deop | ci> <targethash>] ]")
|
usage = "/<command> [list | [<kick | nameban | ipban | ban | op | deop | ci | fr> <targethash>] ]")
|
||||||
public class Command_gadmin extends TFM_Command
|
public class Command_gadmin extends TFM_Command
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
@ -30,77 +32,77 @@ public class Command_gadmin extends TFM_Command
|
|||||||
playerMsg("[ Real Name ] : [ Display Name ] - Hash:");
|
playerMsg("[ Real Name ] : [ Display Name ] - Hash:");
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Player p : server.getOnlinePlayers())
|
for (Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
String hash = p.getUniqueId().toString().substring(0, 4);
|
String hash = player.getUniqueId().toString().substring(0, 4);
|
||||||
if (mode.equals("list"))
|
if (mode.equals("list"))
|
||||||
{
|
{
|
||||||
sender.sendMessage(ChatColor.GRAY + String.format("[ %s ] : [ %s ] - %s",
|
sender.sendMessage(ChatColor.GRAY + String.format("[ %s ] : [ %s ] - %s",
|
||||||
p.getName(),
|
player.getName(),
|
||||||
ChatColor.stripColor(p.getDisplayName()),
|
ChatColor.stripColor(player.getDisplayName()),
|
||||||
hash));
|
hash));
|
||||||
}
|
}
|
||||||
else if (hash.equalsIgnoreCase(args[1]))
|
else if (hash.equalsIgnoreCase(args[1]))
|
||||||
{
|
{
|
||||||
if (mode.equals("kick"))
|
if (mode.equals("kick"))
|
||||||
{
|
{
|
||||||
TFM_Util.adminAction(sender.getName(), String.format("Kicking: %s.", p.getName()), false);
|
TFM_Util.adminAction(sender.getName(), String.format("Kicking: %s.", player.getName()), false);
|
||||||
p.kickPlayer("Kicked by Administrator");
|
player.kickPlayer("Kicked by Administrator");
|
||||||
}
|
}
|
||||||
else if (mode.equals("nameban"))
|
else if (mode.equals("nameban"))
|
||||||
{
|
{
|
||||||
TFM_ServerInterface.banUsername(p.getName(), null, null, null);
|
TFM_BanManager.getInstance().addUuidBan(new TFM_Ban(player.getUniqueId(), player.getName()));
|
||||||
TFM_Util.adminAction(sender.getName(), String.format("Banning Name: %s.", p.getName()), true);
|
TFM_Util.adminAction(sender.getName(), String.format("Banning Name: %s.", player.getName()), true);
|
||||||
p.kickPlayer("Username banned by Administrator.");
|
player.kickPlayer("Username banned by Administrator.");
|
||||||
}
|
}
|
||||||
else if (mode.equals("ipban"))
|
else if (mode.equals("ipban"))
|
||||||
{
|
{
|
||||||
String user_ip = p.getAddress().getAddress().getHostAddress();
|
String ip = player.getAddress().getAddress().getHostAddress();
|
||||||
String[] ip_parts = user_ip.split("\\.");
|
String[] ip_parts = ip.split("\\.");
|
||||||
if (ip_parts.length == 4)
|
if (ip_parts.length == 4)
|
||||||
{
|
{
|
||||||
user_ip = String.format("%s.%s.*.*", ip_parts[0], ip_parts[1]);
|
ip = String.format("%s.%s.*.*", ip_parts[0], ip_parts[1]);
|
||||||
}
|
}
|
||||||
TFM_Util.adminAction(sender.getName(), String.format("Banning IP: %s.", p.getName(), user_ip), true);
|
TFM_Util.adminAction(sender.getName(), String.format("Banning IP: %s.", player.getName(), ip), true);
|
||||||
TFM_ServerInterface.banIP(user_ip, null, null, null);
|
TFM_BanManager.getInstance().addIpBan(new TFM_Ban(ip, player.getName()));
|
||||||
p.kickPlayer("IP address banned by Administrator.");
|
player.kickPlayer("IP address banned by Administrator.");
|
||||||
}
|
}
|
||||||
else if (mode.equals("ban"))
|
else if (mode.equals("ban"))
|
||||||
{
|
{
|
||||||
String user_ip = p.getAddress().getAddress().getHostAddress();
|
String ip = player.getAddress().getAddress().getHostAddress();
|
||||||
String[] ip_parts = user_ip.split("\\.");
|
String[] ip_parts = ip.split("\\.");
|
||||||
if (ip_parts.length == 4)
|
if (ip_parts.length == 4)
|
||||||
{
|
{
|
||||||
user_ip = String.format("%s.%s.*.*", ip_parts[0], ip_parts[1]);
|
ip = String.format("%s.%s.*.*", ip_parts[0], ip_parts[1]);
|
||||||
}
|
}
|
||||||
TFM_Util.adminAction(sender.getName(), String.format("Banning Name: %s, IP: %s.", p.getName(), user_ip), true);
|
TFM_Util.adminAction(sender.getName(), String.format("Banning Name: %s, IP: %s.", player.getName(), ip), true);
|
||||||
TFM_ServerInterface.banIP(user_ip, null, null, null);
|
TFM_BanManager.getInstance().addUuidBan(new TFM_Ban(player.getUniqueId(), player.getName()));
|
||||||
TFM_ServerInterface.banUsername(p.getName(), null, null, null);
|
TFM_BanManager.getInstance().addIpBan(new TFM_Ban(ip, player.getName()));
|
||||||
p.kickPlayer("IP and username banned by Administrator.");
|
player.kickPlayer("IP and username banned by Administrator.");
|
||||||
}
|
}
|
||||||
else if (mode.equals("op"))
|
else if (mode.equals("op"))
|
||||||
{
|
{
|
||||||
TFM_Util.adminAction(sender.getName(), String.format("Opping %s.", p.getName()), false);
|
TFM_Util.adminAction(sender.getName(), String.format("Opping %s.", player.getName()), false);
|
||||||
p.setOp(false);
|
player.setOp(false);
|
||||||
p.sendMessage(TotalFreedomMod.YOU_ARE_OP);
|
player.sendMessage(TotalFreedomMod.YOU_ARE_OP);
|
||||||
}
|
}
|
||||||
else if (mode.equals("deop"))
|
else if (mode.equals("deop"))
|
||||||
{
|
{
|
||||||
TFM_Util.adminAction(sender.getName(), String.format("Deopping %s.", p.getName()), false);
|
TFM_Util.adminAction(sender.getName(), String.format("Deopping %s.", player.getName()), false);
|
||||||
p.setOp(false);
|
player.setOp(false);
|
||||||
p.sendMessage(TotalFreedomMod.YOU_ARE_NOT_OP);
|
player.sendMessage(TotalFreedomMod.YOU_ARE_NOT_OP);
|
||||||
}
|
}
|
||||||
else if (mode.equals("ci"))
|
else if (mode.equals("ci"))
|
||||||
{
|
{
|
||||||
p.getInventory().clear();
|
player.getInventory().clear();
|
||||||
}
|
}
|
||||||
else if (mode.equals("fr"))
|
else if (mode.equals("fr"))
|
||||||
{
|
{
|
||||||
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(p);
|
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(player);
|
||||||
playerdata.setFrozen(!playerdata.isFrozen());
|
playerdata.setFrozen(!playerdata.isFrozen());
|
||||||
|
|
||||||
playerMsg(p.getName() + " has been " + (playerdata.isFrozen() ? "frozen" : "unfrozen") + ".");
|
playerMsg(player.getName() + " has been " + (playerdata.isFrozen() ? "frozen" : "unfrozen") + ".");
|
||||||
p.sendMessage(ChatColor.AQUA + "You have been " + (playerdata.isFrozen() ? "frozen" : "unfrozen") + ".");
|
player.sendMessage(ChatColor.AQUA + "You have been " + (playerdata.isFrozen() ? "frozen" : "unfrozen") + ".");
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_CommandBlocker;
|
||||||
|
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
@ -17,37 +19,28 @@ public class Command_gcmd extends TFM_Command
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
Player p;
|
Player player;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
p = getPlayer(args[0]);
|
player = getPlayer(args[0]);
|
||||||
}
|
}
|
||||||
catch (CantFindPlayerException ex)
|
catch (PlayerNotFoundException ex)
|
||||||
{
|
{
|
||||||
sender.sendMessage(ex.getMessage());
|
sender.sendMessage(ex.getMessage());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
String outcommand = "";
|
final String outCommand = StringUtils.join(args, " ", 1, args.length);
|
||||||
try
|
|
||||||
|
if (TFM_CommandBlocker.getInstance().isCommandBlocked(outCommand, sender))
|
||||||
{
|
{
|
||||||
StringBuilder outcommand_bldr = new StringBuilder();
|
|
||||||
for (int i = 1; i < args.length; i++)
|
|
||||||
{
|
|
||||||
outcommand_bldr.append(args[i]).append(" ");
|
|
||||||
}
|
|
||||||
outcommand = outcommand_bldr.toString().trim();
|
|
||||||
}
|
|
||||||
catch (Throwable ex)
|
|
||||||
{
|
|
||||||
sender.sendMessage(ChatColor.GRAY + "Error building command: " + ex.getMessage());
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
playerMsg("Sending command as " + p.getName() + ": " + outcommand);
|
playerMsg("Sending command as " + player.getName() + ": " + outCommand);
|
||||||
if (server.dispatchCommand(p, outcommand))
|
if (server.dispatchCommand(player, outCommand))
|
||||||
{
|
{
|
||||||
playerMsg("Command sent.");
|
playerMsg("Command sent.");
|
||||||
}
|
}
|
||||||
|
@ -3,11 +3,14 @@ package me.StevenLawson.TotalFreedomMod.Commands;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_ServerInterface;
|
import me.StevenLawson.TotalFreedomMod.TFM_ServerInterface;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList;
|
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_UserList;
|
import me.StevenLawson.TotalFreedomMod.TFM_Ban;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_UserList.TFM_UserListEntry;
|
import me.StevenLawson.TotalFreedomMod.TFM_BanManager;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_PlayerEntry;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_PlayerList;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -29,9 +32,9 @@ public class Command_glist extends TFM_Command
|
|||||||
if (args[0].equalsIgnoreCase("purge"))
|
if (args[0].equalsIgnoreCase("purge"))
|
||||||
{
|
{
|
||||||
//Purge does not clear the banlist! This is not for clearing bans! This is for clearing the yaml file that stores the player/IP database!
|
//Purge does not clear the banlist! This is not for clearing bans! This is for clearing the yaml file that stores the player/IP database!
|
||||||
if (TFM_SuperadminList.isSeniorAdmin(sender))
|
if (TFM_AdminList.isSeniorAdmin(sender))
|
||||||
{
|
{
|
||||||
TFM_UserList.getInstance(plugin).purge();
|
TFM_PlayerList.getInstance().purgeAll();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -47,18 +50,18 @@ public class Command_glist extends TFM_Command
|
|||||||
else if (args.length == 2)
|
else if (args.length == 2)
|
||||||
{
|
{
|
||||||
String username;
|
String username;
|
||||||
List<String> ip_addresses = new ArrayList<String>();
|
List<String> ips = new ArrayList<String>();
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Player p = getPlayer(args[1]);
|
Player player = getPlayer(args[1]);
|
||||||
|
|
||||||
username = p.getName();
|
username = player.getName();
|
||||||
ip_addresses.add(p.getAddress().getAddress().getHostAddress());
|
ips.add(player.getAddress().getAddress().getHostAddress());
|
||||||
}
|
}
|
||||||
catch (CantFindPlayerException ex)
|
catch (PlayerNotFoundException ex)
|
||||||
{
|
{
|
||||||
TFM_UserListEntry entry = TFM_UserList.getInstance(plugin).getEntry(args[1]);
|
final TFM_PlayerEntry entry = TFM_PlayerList.getInstance().getEntry(args[1]);
|
||||||
|
|
||||||
if (entry == null)
|
if (entry == null)
|
||||||
{
|
{
|
||||||
@ -66,44 +69,44 @@ public class Command_glist extends TFM_Command
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
username = entry.getUsername();
|
username = entry.getLastJoinName();
|
||||||
ip_addresses = entry.getIpAddresses();
|
ips = entry.getIps();
|
||||||
}
|
}
|
||||||
|
|
||||||
String mode = args[0].toLowerCase();
|
String mode = args[0].toLowerCase();
|
||||||
if (mode.equalsIgnoreCase("ban"))
|
if (mode.equalsIgnoreCase("ban"))
|
||||||
{
|
{
|
||||||
TFM_Util.adminAction(sender.getName(), "Banning " + username + " and IPs: " + StringUtils.join(ip_addresses, ","), true);
|
TFM_Util.adminAction(sender.getName(), "Banning " + username + " and IPs: " + StringUtils.join(ips, ","), true);
|
||||||
|
|
||||||
Player p = server.getPlayerExact(username);
|
Player player = server.getPlayerExact(username);
|
||||||
if (p != null)
|
if (player != null)
|
||||||
{
|
{
|
||||||
TFM_ServerInterface.banUsername(p.getName(), null, null, null);
|
TFM_BanManager.getInstance().addUuidBan(new TFM_Ban(player.getUniqueId(), player.getName()));
|
||||||
p.kickPlayer("You have been banned by " + sender.getName() + "\n If you think you have been banned wrongly, appeal here: http://www.totalfreedom.boards.net");
|
player.kickPlayer("You have been banned by " + sender.getName() + "\n If you think you have been banned wrongly, appeal here: http://www.totalfreedom.boards.net");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
TFM_ServerInterface.banUsername(username, null, null, null);
|
TFM_BanManager.getInstance().addUuidBan(new TFM_Ban(Bukkit.getOfflinePlayer(username).getUniqueId(), username));
|
||||||
}
|
}
|
||||||
|
|
||||||
for (String ip_address : ip_addresses)
|
for (String ip : ips)
|
||||||
{
|
{
|
||||||
TFM_ServerInterface.banIP(ip_address, null, null, null);
|
TFM_BanManager.getInstance().addIpBan(new TFM_Ban(ip, username));
|
||||||
String[] ip_address_parts = ip_address.split("\\.");
|
String[] ip_address_parts = ip.split("\\.");
|
||||||
TFM_ServerInterface.banIP(ip_address_parts[0] + "." + ip_address_parts[1] + ".*.*", null, null, null);
|
TFM_BanManager.getInstance().addIpBan(new TFM_Ban(ip_address_parts[0] + "." + ip_address_parts[1] + ".*.*", username));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (mode.equalsIgnoreCase("unban") || mode.equalsIgnoreCase("pardon"))
|
else if (mode.equalsIgnoreCase("unban") || mode.equalsIgnoreCase("pardon"))
|
||||||
{
|
{
|
||||||
TFM_Util.adminAction(sender.getName(), "Unbanning " + username + " and IPs: " + StringUtils.join(ip_addresses, ","), true);
|
TFM_Util.adminAction(sender.getName(), "Unbanning " + username + " and IPs: " + StringUtils.join(ips, ","), true);
|
||||||
|
|
||||||
TFM_ServerInterface.unbanUsername(username);
|
TFM_BanManager.getInstance().unbanUuid(Bukkit.getOfflinePlayer(username).getUniqueId());
|
||||||
|
|
||||||
for (String ip_address : ip_addresses)
|
for (String ip : ips)
|
||||||
{
|
{
|
||||||
TFM_ServerInterface.unbanIP(ip_address);
|
TFM_BanManager.getInstance().unbanIp(ip);
|
||||||
String[] ip_address_parts = ip_address.split("\\.");
|
String[] ipParts = ip.split("\\.");
|
||||||
TFM_ServerInterface.unbanIP(ip_address_parts[0] + "." + ip_address_parts[1] + ".*.*");
|
TFM_BanManager.getInstance().unbanIp(ipParts[0] + "." + ipParts[1] + ".*.*");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.Bridge.TFM_WorldEditBridge;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_Ban;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_BanManager;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_RollbackManager;
|
import me.StevenLawson.TotalFreedomMod.TFM_RollbackManager;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_ServerInterface;
|
import me.StevenLawson.TotalFreedomMod.TFM_ServerInterface;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_WorldEditBridge;
|
import net.minecraft.util.org.apache.commons.lang3.ArrayUtils;
|
||||||
import org.apache.commons.lang.ArrayUtils;
|
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.commons.lang.StringUtils;
|
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
@ -25,66 +27,73 @@ public class Command_gtfo extends TFM_Command
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
Player p;
|
Player player;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
p = getPlayer(args[0]);
|
player = getPlayer(args[0]);
|
||||||
}
|
}
|
||||||
catch (CantFindPlayerException ex)
|
catch (PlayerNotFoundException ex)
|
||||||
{
|
{
|
||||||
playerMsg(ex.getMessage(), ChatColor.RED);
|
playerMsg(ex.getMessage(), ChatColor.RED);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
String ban_reason = null;
|
String reason = null;
|
||||||
if (args.length >= 2)
|
if (args.length >= 2)
|
||||||
{
|
{
|
||||||
ban_reason = StringUtils.join(ArrayUtils.subarray(args, 1, args.length), " ");
|
reason = StringUtils.join(ArrayUtils.subarray(args, 1, args.length), " ");
|
||||||
}
|
}
|
||||||
|
|
||||||
TFM_Util.bcastMsg(p.getName() + " has been a VERY naughty, naughty boy.", ChatColor.RED);
|
TFM_Util.bcastMsg(player.getName() + " has been a VERY naughty, naughty boy.", ChatColor.RED);
|
||||||
|
|
||||||
// Undo WorldEdits:
|
// Undo WorldEdits:
|
||||||
TFM_WorldEditBridge.getInstance().undo(p, 15);
|
try
|
||||||
|
{
|
||||||
|
TFM_WorldEditBridge.getInstance().undo(player, 15);
|
||||||
|
}
|
||||||
|
catch (NoClassDefFoundError ex)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
// rollback
|
// rollback
|
||||||
TFM_RollbackManager.rollback(p.getName());
|
TFM_RollbackManager.rollback(player.getName());
|
||||||
|
|
||||||
// deop
|
// deop
|
||||||
p.setOp(false);
|
player.setOp(false);
|
||||||
|
|
||||||
// set gamemode to survival:
|
// set gamemode to survival:
|
||||||
p.setGameMode(GameMode.SURVIVAL);
|
player.setGameMode(GameMode.SURVIVAL);
|
||||||
|
|
||||||
// clear inventory:
|
// clear inventory:
|
||||||
p.getInventory().clear();
|
player.getInventory().clear();
|
||||||
|
|
||||||
// strike with lightning effect:
|
// strike with lightning effect:
|
||||||
final Location target_pos = p.getLocation();
|
final Location targetPos = player.getLocation();
|
||||||
for (int x = -1; x <= 1; x++)
|
for (int x = -1; x <= 1; x++)
|
||||||
{
|
{
|
||||||
for (int z = -1; z <= 1; z++)
|
for (int z = -1; z <= 1; z++)
|
||||||
{
|
{
|
||||||
final Location strike_pos = new Location(target_pos.getWorld(), target_pos.getBlockX() + x, target_pos.getBlockY(), target_pos.getBlockZ() + z);
|
final Location strike_pos = new Location(targetPos.getWorld(), targetPos.getBlockX() + x, targetPos.getBlockY(), targetPos.getBlockZ() + z);
|
||||||
target_pos.getWorld().strikeLightning(strike_pos);
|
targetPos.getWorld().strikeLightning(strike_pos);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ban IP address:
|
// ban IP address:
|
||||||
String user_ip = p.getAddress().getAddress().getHostAddress();
|
String ip = player.getAddress().getAddress().getHostAddress();
|
||||||
String[] ip_parts = user_ip.split("\\.");
|
String[] ipParts = ip.split("\\.");
|
||||||
if (ip_parts.length == 4)
|
if (ipParts.length == 4)
|
||||||
{
|
{
|
||||||
user_ip = String.format("%s.%s.*.*", ip_parts[0], ip_parts[1]);
|
ip = String.format("%s.%s.*.*", ipParts[0], ipParts[1]);
|
||||||
}
|
}
|
||||||
TFM_Util.bcastMsg(String.format("Banning: %s, IP: %s.", p.getName(), user_ip), ChatColor.RED);
|
TFM_Util.bcastMsg(String.format("Banning: %s, IP: %s.", player.getName(), ip), ChatColor.RED);
|
||||||
TFM_ServerInterface.banIP(user_ip, ban_reason, null, null);
|
|
||||||
|
TFM_BanManager.getInstance().addIpBan(new TFM_Ban(ip, player.getName(), sender.getName(), null, reason));
|
||||||
|
|
||||||
// ban username:
|
// ban username:
|
||||||
TFM_ServerInterface.banUsername(p.getName(), ban_reason, null, null);
|
TFM_BanManager.getInstance().addUuidBan(new TFM_Ban(player.getUniqueId(), player.getName(), sender.getName(), null, reason));
|
||||||
|
|
||||||
// kick Player:
|
// kick Player:
|
||||||
p.kickPlayer(ChatColor.RED + "GTFO" + (ban_reason != null ? ("\nReason: " + ChatColor.YELLOW + ban_reason) : ""));
|
player.kickPlayer(ChatColor.RED + "GTFO" + (reason != null ? ("\nReason: " + ChatColor.YELLOW + reason) : ""));
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList;
|
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
@ -23,11 +23,11 @@ public class Command_halt extends TFM_Command
|
|||||||
{
|
{
|
||||||
TFM_Util.adminAction(sender.getName(), "Halting all non-superadmins.", true);
|
TFM_Util.adminAction(sender.getName(), "Halting all non-superadmins.", true);
|
||||||
int counter = 0;
|
int counter = 0;
|
||||||
for (Player p : server.getOnlinePlayers())
|
for (Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
if (!TFM_SuperadminList.isUserSuperadmin(p))
|
if (!TFM_AdminList.isSuperAdmin(player))
|
||||||
{
|
{
|
||||||
TFM_PlayerData.getPlayerData(p).setHalted(true);
|
TFM_PlayerData.getPlayerData(player).setHalted(true);
|
||||||
counter++;
|
counter++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -39,10 +39,10 @@ public class Command_halt extends TFM_Command
|
|||||||
{
|
{
|
||||||
TFM_Util.adminAction(sender.getName(), "Unhalting all players.", true);
|
TFM_Util.adminAction(sender.getName(), "Unhalting all players.", true);
|
||||||
int counter = 0;
|
int counter = 0;
|
||||||
for (Player p : server.getOnlinePlayers())
|
for (Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(p);
|
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(player);
|
||||||
if (TFM_PlayerData.getPlayerData(p).isHalted())
|
if (TFM_PlayerData.getPlayerData(player).isHalted())
|
||||||
{
|
{
|
||||||
playerdata.setHalted(false);
|
playerdata.setHalted(false);
|
||||||
counter++;
|
counter++;
|
||||||
@ -76,28 +76,28 @@ public class Command_halt extends TFM_Command
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
Player p;
|
Player player;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
p = getPlayer(args[0]);
|
player = getPlayer(args[0]);
|
||||||
}
|
}
|
||||||
catch (CantFindPlayerException ex)
|
catch (PlayerNotFoundException ex)
|
||||||
{
|
{
|
||||||
sender.sendMessage(ex.getMessage());
|
sender.sendMessage(ex.getMessage());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(p);
|
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(player);
|
||||||
if (!playerdata.isHalted())
|
if (!playerdata.isHalted())
|
||||||
{
|
{
|
||||||
TFM_Util.adminAction(sender.getName(), "Halting " + p.getName(), true);
|
TFM_Util.adminAction(sender.getName(), "Halting " + player.getName(), true);
|
||||||
playerdata.setHalted(true);
|
playerdata.setHalted(true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
TFM_Util.adminAction(sender.getName(), "Unhalting " + p.getName(), true);
|
TFM_Util.adminAction(sender.getName(), "Unhalting " + player.getName(), true);
|
||||||
playerdata.setHalted(false);
|
playerdata.setHalted(false);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -1,62 +1,100 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Log;
|
import me.StevenLawson.TotalFreedomMod.TFM_Log;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_TickMeter;
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||||
import org.apache.commons.lang.exception.ExceptionUtils;
|
import org.apache.commons.lang.math.DoubleRange;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
import org.bukkit.scheduler.BukkitTask;
|
||||||
|
|
||||||
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
||||||
@CommandParameters(description = "View ticks-per-second", usage = "/<command>")
|
@CommandParameters(description = "View ticks-per-second", usage = "/<command>")
|
||||||
public class Command_health extends TFM_Command
|
public class Command_health extends TFM_Command
|
||||||
{
|
{
|
||||||
|
private static final int BYTES_PER_MB = 1024 * 1024;
|
||||||
|
private static final DoubleRange TPS_RANGE = new DoubleRange(20.0 - 0.1, 20.0 + 0.1);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean run(final CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
public boolean run(final CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
{
|
{
|
||||||
|
Runtime runtime = Runtime.getRuntime();
|
||||||
|
long usedMem = runtime.totalMemory() - runtime.freeMemory();
|
||||||
|
|
||||||
|
playerMsg("Reserved Memory: " + (double) runtime.totalMemory() / (double) BYTES_PER_MB + "mb");
|
||||||
|
playerMsg("Used Memory: " + new DecimalFormat("#").format((double) usedMem / (double) BYTES_PER_MB) + "mb (" + new DecimalFormat("#").format(((double) usedMem / (double) runtime.totalMemory()) * 100.0) + "%)");
|
||||||
|
playerMsg("Max Memory: " + (double) runtime.maxMemory() / (double) BYTES_PER_MB + "mb");
|
||||||
|
playerMsg("Calculating ticks per second, please wait...");
|
||||||
|
|
||||||
new BukkitRunnable()
|
new BukkitRunnable()
|
||||||
{
|
{
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
final TFM_TickMeter meter = new TFM_TickMeter(plugin);
|
TFM_TickMeter tickMeter = new TFM_TickMeter(plugin);
|
||||||
meter.startTicking();
|
tickMeter.startTicking();
|
||||||
Thread.sleep(1000); // per second
|
Thread.sleep(2500);
|
||||||
meter.stopTicking();
|
final double ticksPerSecond = tickMeter.stopTicking();
|
||||||
|
|
||||||
final Runtime runtime = Runtime.getRuntime();
|
|
||||||
final int mb = 1048576; // 1024 * 1024
|
|
||||||
|
|
||||||
final float usedMem = runtime.totalMemory() - runtime.freeMemory();
|
|
||||||
|
|
||||||
new BukkitRunnable()
|
new BukkitRunnable()
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run()
|
||||||
playerMsg("Reserved Memory: " + runtime.totalMemory() / mb + "mb");
|
{
|
||||||
playerMsg("Used Memory: " + new DecimalFormat("#").format(usedMem / mb) + "mb (" + new DecimalFormat("#").format((usedMem / runtime.totalMemory()) * 100) + "%)");
|
playerMsg("Ticks per second: " + (TPS_RANGE.containsDouble(ticksPerSecond) ? ChatColor.GREEN : ChatColor.RED) + ticksPerSecond);
|
||||||
playerMsg("Max Memory: " + runtime.maxMemory() / mb + "mb");
|
|
||||||
playerMsg("Ticks per second: " + (meter.getTicks() == 20 ? ChatColor.GREEN : ChatColor.RED) + meter.getTicks());
|
|
||||||
}
|
}
|
||||||
}.runTask(TotalFreedomMod.plugin);
|
}.runTask(plugin);
|
||||||
}
|
}
|
||||||
catch (Exception iex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
TFM_Log.warning("Exception in TFM_TickMeter: Thread was interupted in sleeping process.");
|
TFM_Log.severe(ex);
|
||||||
TFM_Log.warning(ExceptionUtils.getStackTrace(iex));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}.runTaskAsynchronously(plugin);
|
||||||
}.runTaskAsynchronously(TotalFreedomMod.plugin);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private class TFM_TickMeter
|
||||||
|
{
|
||||||
|
private final AtomicInteger ticks = new AtomicInteger();
|
||||||
|
private final TotalFreedomMod plugin;
|
||||||
|
private long startTime;
|
||||||
|
private BukkitTask task;
|
||||||
|
|
||||||
|
public TFM_TickMeter(TotalFreedomMod plugin)
|
||||||
|
{
|
||||||
|
this.plugin = plugin;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void startTicking()
|
||||||
|
{
|
||||||
|
startTime = System.currentTimeMillis();
|
||||||
|
ticks.set(0);
|
||||||
|
|
||||||
|
task = new BukkitRunnable()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void run()
|
||||||
|
{
|
||||||
|
ticks.incrementAndGet();
|
||||||
|
}
|
||||||
|
}.runTaskTimer(plugin, 0L, 1L);
|
||||||
|
}
|
||||||
|
|
||||||
|
public double stopTicking()
|
||||||
|
{
|
||||||
|
task.cancel();
|
||||||
|
long elapsed = System.currentTimeMillis() - startTime;
|
||||||
|
int tickCount = ticks.get();
|
||||||
|
|
||||||
|
return (double) tickCount / ((double) elapsed / 1000.0);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,9 +2,9 @@ package me.StevenLawson.TotalFreedomMod.Commands;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList;
|
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -33,14 +33,15 @@ public class Command_invis extends TFM_Command
|
|||||||
List<String> players = new ArrayList<String>();
|
List<String> players = new ArrayList<String>();
|
||||||
int smites = 0;
|
int smites = 0;
|
||||||
|
|
||||||
for (Player p : server.getOnlinePlayers())
|
for (Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
if (p.hasPotionEffect(PotionEffectType.INVISIBILITY))
|
if (player.hasPotionEffect(PotionEffectType.INVISIBILITY))
|
||||||
{
|
{
|
||||||
players.add(p.getName());
|
players.add(player.getName());
|
||||||
if (smite && !TFM_SuperadminList.isUserSuperadmin(p))
|
if (smite && !TFM_AdminList.isSuperAdmin(player))
|
||||||
{
|
{
|
||||||
Command_smite.smite(p);
|
TFM_Util.adminAction(sender.getName(), "Smiting all invisible players", true);
|
||||||
|
player.setHealth(0.0);
|
||||||
smites++;
|
smites++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,94 @@
|
|||||||
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_Jumppads;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
||||||
|
@CommandParameters(description = "Manage jumppads", usage = "/<command> <on | off | info |sideways <on | off> | strength <strength (1-10)>>", aliases = "launchpads,jp")
|
||||||
|
public class Command_jumppads extends TFM_Command
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
|
{
|
||||||
|
if (args.length == 0 || args.length > 2)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args.length == 1)
|
||||||
|
{
|
||||||
|
if (args[0].equalsIgnoreCase("info"))
|
||||||
|
{
|
||||||
|
playerMsg("Jumppads: " + (TFM_Jumppads.getInstance().getMode().isOn() ? "Enabled" : "Disabled"), ChatColor.BLUE);
|
||||||
|
playerMsg("Sideways: " + (TFM_Jumppads.getInstance().getMode() == TFM_Jumppads.JumpPadMode.NORMAL_AND_SIDEWAYS ? "Enabled" : "Disabled"), ChatColor.BLUE);
|
||||||
|
playerMsg("Strength: " + (TFM_Jumppads.getInstance().getStrength() * 10 - 1), ChatColor.BLUE);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (TFM_Util.isStopCommand(args[0]))
|
||||||
|
{
|
||||||
|
TFM_Util.adminAction(sender.getName(), "Disabling Jumppads", false);
|
||||||
|
TFM_Jumppads.getInstance().setMode(TFM_Jumppads.JumpPadMode.OFF);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TFM_Util.adminAction(sender.getName(), "Enabling Jumppads", false);
|
||||||
|
TFM_Jumppads.getInstance().setMode(TFM_Jumppads.JumpPadMode.MADGEEK);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (TFM_Jumppads.getInstance().getMode() == TFM_Jumppads.JumpPadMode.OFF)
|
||||||
|
{
|
||||||
|
playerMsg("Jumppads are currently disabled, please enable them before changing jumppads settings.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args[0].equalsIgnoreCase("sideways"))
|
||||||
|
{
|
||||||
|
if (TFM_Util.isStopCommand(args[1]))
|
||||||
|
{
|
||||||
|
TFM_Util.adminAction(sender.getName(), "Setting Jumppads mode to: Madgeek", false);
|
||||||
|
TFM_Jumppads.getInstance().setMode(TFM_Jumppads.JumpPadMode.MADGEEK);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TFM_Util.adminAction(sender.getName(), "Setting Jumppads mode to: Normal and Sideways", false);
|
||||||
|
TFM_Jumppads.getInstance().setMode(TFM_Jumppads.JumpPadMode.NORMAL_AND_SIDEWAYS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (args[0].equalsIgnoreCase("strength"))
|
||||||
|
{
|
||||||
|
final float strength;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
strength = Float.parseFloat(args[1]);
|
||||||
|
}
|
||||||
|
catch (NumberFormatException ex)
|
||||||
|
{
|
||||||
|
playerMsg("Invalid Strength");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (strength > 10 || strength < 1)
|
||||||
|
{
|
||||||
|
playerMsg("Invalid Strength: The strength may be 1 through 10.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
TFM_Util.adminAction(sender.getName(), "Setting Jumppads strength to: " + String.valueOf(strength), false);
|
||||||
|
TFM_Jumppads.getInstance().setStrength((strength / 10) + 0.1F);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList;
|
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
@ -16,11 +16,11 @@ public class Command_kicknoob extends TFM_Command
|
|||||||
{
|
{
|
||||||
TFM_Util.adminAction(sender.getName(), "Disconnecting all non-superadmins.", true);
|
TFM_Util.adminAction(sender.getName(), "Disconnecting all non-superadmins.", true);
|
||||||
|
|
||||||
for (Player p : server.getOnlinePlayers())
|
for (Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
if (!TFM_SuperadminList.isUserSuperadmin(p))
|
if (!TFM_AdminList.isSuperAdmin(player))
|
||||||
{
|
{
|
||||||
p.kickPlayer(ChatColor.RED + "Disconnected by admin.");
|
player.kickPlayer(ChatColor.RED + "Disconnected by admin.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_LandmineData;
|
import java.util.ArrayList;
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
import java.util.List;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.block.BlockFace;
|
import org.bukkit.block.BlockFace;
|
||||||
@ -17,11 +19,11 @@ public class Command_landmine extends TFM_Command
|
|||||||
@Override
|
@Override
|
||||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
{
|
{
|
||||||
if (!TotalFreedomMod.landminesEnabled)
|
if (!TFM_ConfigEntry.LANDMINES_ENABLED.getBoolean())
|
||||||
{
|
{
|
||||||
playerMsg("The landmine is currently disabled.", ChatColor.GREEN);
|
playerMsg("The landmine is currently disabled.", ChatColor.GREEN);
|
||||||
}
|
}
|
||||||
else if (!TotalFreedomMod.allowExplosions)
|
else if (!TFM_ConfigEntry.ALLOW_EXPLOSIONS.getBoolean())
|
||||||
{
|
{
|
||||||
playerMsg("Explosions are currently disabled.", ChatColor.GREEN);
|
playerMsg("Explosions are currently disabled.", ChatColor.GREEN);
|
||||||
}
|
}
|
||||||
@ -48,4 +50,20 @@ public class Command_landmine extends TFM_Command
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static class TFM_LandmineData
|
||||||
|
{
|
||||||
|
public static List<TFM_LandmineData> landmines = new ArrayList<TFM_LandmineData>();
|
||||||
|
public Location location;
|
||||||
|
public Player player;
|
||||||
|
public double radius;
|
||||||
|
|
||||||
|
public TFM_LandmineData(Location landmine_pos, Player player, double radius)
|
||||||
|
{
|
||||||
|
super();
|
||||||
|
this.location = landmine_pos;
|
||||||
|
this.player = player;
|
||||||
|
this.radius = radius;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,18 +18,18 @@ public class Command_lastcmd extends TFM_Command
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
Player p;
|
Player player;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
p = getPlayer(args[0]);
|
player = getPlayer(args[0]);
|
||||||
}
|
}
|
||||||
catch (CantFindPlayerException ex)
|
catch (PlayerNotFoundException ex)
|
||||||
{
|
{
|
||||||
playerMsg(ex.getMessage(), ChatColor.RED);
|
playerMsg(ex.getMessage(), ChatColor.RED);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(p);
|
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(player);
|
||||||
|
|
||||||
if (playerdata != null)
|
if (playerdata != null)
|
||||||
{
|
{
|
||||||
@ -38,7 +38,7 @@ public class Command_lastcmd extends TFM_Command
|
|||||||
{
|
{
|
||||||
last_command = "(none)";
|
last_command = "(none)";
|
||||||
}
|
}
|
||||||
playerMsg(p.getName() + " - Last Command: " + last_command, ChatColor.GRAY);
|
playerMsg(player.getName() + " - Last Command: " + last_command, ChatColor.GRAY);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -17,16 +17,7 @@ public class Command_lavadmg extends TFM_Command
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (args[0].equalsIgnoreCase("on"))
|
playerMsg("Lava damage is now " + (TFM_ConfigEntry.ALLOW_LAVA_DAMAGE.setBoolean(!args[0].equalsIgnoreCase("off")) ? "enabled" : "disabled") + ".");
|
||||||
{
|
|
||||||
TotalFreedomMod.allowLavaDamage = true;
|
|
||||||
playerMsg("Lava damage is now enabled.");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
TotalFreedomMod.allowLavaDamage = false;
|
|
||||||
playerMsg("Lava damage is now disabled.");
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -17,16 +17,7 @@ public class Command_lavaplace extends TFM_Command
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (args[0].equalsIgnoreCase("on"))
|
playerMsg("Lava placement is now " + (TFM_ConfigEntry.ALLOW_LAVA_PLACE.setBoolean(!args[0].equalsIgnoreCase("off")) ? "enabled" : "disabled") + ".");
|
||||||
{
|
|
||||||
TotalFreedomMod.allowLavaPlace = true;
|
|
||||||
playerMsg("Lava placement is now enabled.");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
TotalFreedomMod.allowLavaPlace = false;
|
|
||||||
playerMsg("Lava placement is now disabled.");
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -2,98 +2,72 @@ package me.StevenLawson.TotalFreedomMod.Commands;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList;
|
import me.StevenLawson.TotalFreedomMod.TFM_PlayerRank;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_Admin;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
@CommandPermissions(level = AdminLevel.ALL, source = SourceType.BOTH)
|
@CommandPermissions(level = AdminLevel.ALL, source = SourceType.BOTH)
|
||||||
@CommandParameters(description = "Lists the real names of all online players.", usage = "/<command>", aliases = "who")
|
@CommandParameters(description = "Lists the real names of all online players.", usage = "/<command> [-a]", aliases = "who")
|
||||||
public class Command_list extends TFM_Command
|
public class Command_list extends TFM_Command
|
||||||
{
|
{
|
||||||
private static enum ListFilter
|
private static enum ListFilter
|
||||||
{
|
{
|
||||||
SHOW_ALL, SHOW_ADMINS
|
ALL,
|
||||||
|
ADMINS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
{
|
{
|
||||||
|
if (args.length > 1)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (TFM_Util.isFromHostConsole(sender.getName()))
|
if (TFM_Util.isFromHostConsole(sender.getName()))
|
||||||
{
|
{
|
||||||
List<String> player_names = new ArrayList<String>();
|
final List<String> names = new ArrayList<String>();
|
||||||
for (Player p : server.getOnlinePlayers())
|
for (Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
player_names.add(p.getName());
|
names.add(player.getName());
|
||||||
}
|
}
|
||||||
playerMsg("There are " + player_names.size() + "/" + server.getMaxPlayers() + " players online:\n" + StringUtils.join(player_names, ", "), ChatColor.WHITE);
|
playerMsg("There are " + names.size() + "/" + server.getMaxPlayers() + " players online:\n" + StringUtils.join(names, ", "), ChatColor.WHITE);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
ListFilter listFilter = ListFilter.SHOW_ALL;
|
final Command_list.ListFilter listFilter = (args.length == 1 && args[0].equals("-a") ? Command_list.ListFilter.ADMINS : Command_list.ListFilter.ALL);
|
||||||
if (args.length >= 1)
|
|
||||||
{
|
|
||||||
if (args[0].equalsIgnoreCase("-a"))
|
|
||||||
{
|
|
||||||
listFilter = ListFilter.SHOW_ADMINS;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
StringBuilder onlineStats = new StringBuilder();
|
final StringBuilder onlineStats = new StringBuilder();
|
||||||
StringBuilder onlineUsers = new StringBuilder();
|
final StringBuilder onlineUsers = new StringBuilder();
|
||||||
|
|
||||||
onlineStats.append(ChatColor.BLUE).append("There are ").append(ChatColor.RED).append(server.getOnlinePlayers().length);
|
onlineStats.append(ChatColor.BLUE).append("There are ").append(ChatColor.RED).append(server.getOnlinePlayers().length);
|
||||||
onlineStats.append(ChatColor.BLUE).append(" out of a maximum ").append(ChatColor.RED).append(server.getMaxPlayers());
|
onlineStats.append(ChatColor.BLUE).append(" out of a maximum ").append(ChatColor.RED).append(server.getMaxPlayers());
|
||||||
onlineStats.append(ChatColor.BLUE).append(" players online.");
|
onlineStats.append(ChatColor.BLUE).append(" players online.");
|
||||||
|
|
||||||
List<String> player_names = new ArrayList<String>();
|
final List<String> names = new ArrayList<String>();
|
||||||
for (Player p : server.getOnlinePlayers())
|
for (Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
boolean userSuperadmin = TFM_SuperadminList.isUserSuperadmin(p);
|
final boolean userSuperadmin = TFM_AdminList.isSuperAdmin(player);
|
||||||
|
|
||||||
if (listFilter == ListFilter.SHOW_ADMINS && !userSuperadmin)
|
if (listFilter == Command_list.ListFilter.ADMINS && !userSuperadmin)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
String prefix = "";
|
names.add(TFM_PlayerRank.fromSender(player).getPrefix() + player.getName());
|
||||||
|
|
||||||
if (userSuperadmin)
|
|
||||||
{
|
|
||||||
if (TFM_SuperadminList.isSeniorAdmin(p))
|
|
||||||
{
|
|
||||||
prefix = (ChatColor.LIGHT_PURPLE + "[SrA]");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
prefix = (ChatColor.GOLD + "[SA]");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (TFM_Util.DEVELOPERS.contains(p.getName()))
|
|
||||||
{
|
|
||||||
prefix = (ChatColor.DARK_PURPLE + "[Dev]");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (p.getName().equals("markbyron"))
|
|
||||||
{
|
|
||||||
prefix = (ChatColor.BLUE + "[Owner]");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (p.isOp())
|
|
||||||
{
|
|
||||||
prefix = (ChatColor.RED + "[OP]");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
player_names.add(prefix + p.getName() + ChatColor.WHITE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
onlineUsers.append("Connected ").append(listFilter == ListFilter.SHOW_ADMINS ? "admins" : "players").append(": ").append(StringUtils.join(player_names, ", "));
|
onlineUsers.append("Connected ");
|
||||||
|
onlineUsers.append(listFilter == Command_list.ListFilter.ADMINS ? "admins: " : "players: ");
|
||||||
|
onlineUsers.append(StringUtils.join(names, ChatColor.WHITE + ", "));
|
||||||
|
|
||||||
if (senderIsConsole)
|
if (senderIsConsole)
|
||||||
{
|
{
|
||||||
|
@ -0,0 +1,18 @@
|
|||||||
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
@CommandPermissions(level = AdminLevel.ALL, source = SourceType.ONLY_IN_GAME)
|
||||||
|
@CommandParameters(description = "Teleport to the spawn point for the current world.", usage = "/<command>", aliases = "worldspawn,gotospawn")
|
||||||
|
public class Command_localspawn extends TFM_Command
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
|
{
|
||||||
|
sender_p.teleport(sender_p.getWorld().getSpawnLocation());
|
||||||
|
playerMsg("Teleported to spawnpoint for world \"" + sender_p.getWorld().getName() + "\".");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,34 @@
|
|||||||
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
||||||
|
@CommandParameters(description = "Prevents new players from joining the server", usage = "/<command> <on | off>")
|
||||||
|
public class Command_lockdown extends TFM_Command
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
|
{
|
||||||
|
if (args.length != 1)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (TFM_Util.isStopCommand(args[0]))
|
||||||
|
{
|
||||||
|
TFM_Util.adminAction(sender.getName(), "De-activating server lockdown", true);
|
||||||
|
TotalFreedomMod.lockdownEnabled = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TFM_Util.adminAction(sender.getName(), "Activating server lockdown", true);
|
||||||
|
TotalFreedomMod.lockdownEnabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
@ -21,18 +21,18 @@ public class Command_lockup extends TFM_Command
|
|||||||
{
|
{
|
||||||
TFM_Util.adminAction(sender.getName(), "Locking up all players", true);
|
TFM_Util.adminAction(sender.getName(), "Locking up all players", true);
|
||||||
|
|
||||||
for (Player p : server.getOnlinePlayers())
|
for (Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
startLockup(p);
|
startLockup(player);
|
||||||
}
|
}
|
||||||
playerMsg("Locked up all players.");
|
playerMsg("Locked up all players.");
|
||||||
}
|
}
|
||||||
else if (args[0].equalsIgnoreCase("purge"))
|
else if (args[0].equalsIgnoreCase("purge"))
|
||||||
{
|
{
|
||||||
TFM_Util.adminAction(sender.getName(), "Unlocking all players", true);
|
TFM_Util.adminAction(sender.getName(), "Unlocking all players", true);
|
||||||
for (Player p : server.getOnlinePlayers())
|
for (Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
cancelLockup(p);
|
cancelLockup(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
playerMsg("Unlocked all players.");
|
playerMsg("Unlocked all players.");
|
||||||
@ -46,37 +46,37 @@ public class Command_lockup extends TFM_Command
|
|||||||
{
|
{
|
||||||
if (args[1].equalsIgnoreCase("on"))
|
if (args[1].equalsIgnoreCase("on"))
|
||||||
{
|
{
|
||||||
final Player p;
|
final Player player;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
p = getPlayer(args[0]);
|
player = getPlayer(args[0]);
|
||||||
}
|
}
|
||||||
catch (CantFindPlayerException ex)
|
catch (PlayerNotFoundException ex)
|
||||||
{
|
{
|
||||||
sender.sendMessage(ex.getMessage());
|
sender.sendMessage(ex.getMessage());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
TFM_Util.adminAction(sender.getName(), "Locking up " + p.getName(), true);
|
TFM_Util.adminAction(sender.getName(), "Locking up " + player.getName(), true);
|
||||||
startLockup(p);
|
startLockup(player);
|
||||||
playerMsg("Locked up " + p.getName() + ".");
|
playerMsg("Locked up " + player.getName() + ".");
|
||||||
}
|
}
|
||||||
else if (TFM_Util.isStopCommand(args[1]))
|
else if (TFM_Util.isStopCommand(args[1]))
|
||||||
{
|
{
|
||||||
final Player p;
|
final Player player;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
p = getPlayer(args[0]);
|
player = getPlayer(args[0]);
|
||||||
}
|
}
|
||||||
catch (CantFindPlayerException ex)
|
catch (PlayerNotFoundException ex)
|
||||||
{
|
{
|
||||||
sender.sendMessage(ex.getMessage());
|
sender.sendMessage(ex.getMessage());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
TFM_Util.adminAction(sender.getName(), "Unlocking " + p.getName(), true);
|
TFM_Util.adminAction(sender.getName(), "Unlocking " + player.getName(), true);
|
||||||
cancelLockup(p);
|
cancelLockup(player);
|
||||||
playerMsg("Unlocked " + p.getName() + ".");
|
playerMsg("Unlocked " + player.getName() + ".");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -101,14 +101,14 @@ public class Command_lockup extends TFM_Command
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void cancelLockup(final Player p)
|
private void cancelLockup(final Player player)
|
||||||
{
|
{
|
||||||
cancelLockup(TFM_PlayerData.getPlayerData(p));
|
cancelLockup(TFM_PlayerData.getPlayerData(player));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void startLockup(final Player p)
|
private void startLockup(final Player player)
|
||||||
{
|
{
|
||||||
final TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(p);
|
final TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(player);
|
||||||
|
|
||||||
cancelLockup(playerdata);
|
cancelLockup(playerdata);
|
||||||
|
|
||||||
@ -117,9 +117,9 @@ public class Command_lockup extends TFM_Command
|
|||||||
@Override
|
@Override
|
||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
if (p.isOnline())
|
if (player.isOnline())
|
||||||
{
|
{
|
||||||
p.openInventory(p.getInventory());
|
player.openInventory(player.getInventory());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -9,11 +9,12 @@ import java.util.Iterator;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Log;
|
import me.StevenLawson.TotalFreedomMod.TFM_Log;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Superadmin;
|
import me.StevenLawson.TotalFreedomMod.TFM_Admin;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
@ -46,12 +47,10 @@ public class Command_logs extends TFM_Command
|
|||||||
|
|
||||||
public static void updateLogsRegistration(final CommandSender sender, final String targetName, final String targetIP, final LogsRegistrationMode mode)
|
public static void updateLogsRegistration(final CommandSender sender, final String targetName, final String targetIP, final LogsRegistrationMode mode)
|
||||||
{
|
{
|
||||||
if (TotalFreedomMod.logsRegisterURL == null || TotalFreedomMod.logsRegisterPassword == null)
|
final String logsRegisterURL = TFM_ConfigEntry.LOGS_REGISTER_URL.getString();
|
||||||
{
|
final String logsRegisterPassword = TFM_ConfigEntry.LOGS_REGISTER_PASSWORD.getString();
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (TotalFreedomMod.logsRegisterPassword.isEmpty() || TotalFreedomMod.logsRegisterURL.isEmpty())
|
if (logsRegisterURL == null || logsRegisterPassword == null || logsRegisterURL.isEmpty() || logsRegisterPassword.isEmpty())
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -68,9 +67,9 @@ public class Command_logs extends TFM_Command
|
|||||||
sender.sendMessage(ChatColor.YELLOW + "Connecting...");
|
sender.sendMessage(ChatColor.YELLOW + "Connecting...");
|
||||||
}
|
}
|
||||||
|
|
||||||
URL url = new URLBuilder(TotalFreedomMod.logsRegisterURL)
|
URL url = new URLBuilder(logsRegisterURL)
|
||||||
.addQueryParameter("mode", mode.toString())
|
.addQueryParameter("mode", mode.toString())
|
||||||
.addQueryParameter("password", TotalFreedomMod.logsRegisterPassword)
|
.addQueryParameter("password", logsRegisterPassword)
|
||||||
.addQueryParameter("name", targetName)
|
.addQueryParameter("name", targetName)
|
||||||
.addQueryParameter("ip", targetIP)
|
.addQueryParameter("ip", targetIP)
|
||||||
.getURL();
|
.getURL();
|
||||||
@ -110,11 +109,11 @@ public class Command_logs extends TFM_Command
|
|||||||
}.runTaskAsynchronously(TotalFreedomMod.plugin);
|
}.runTaskAsynchronously(TotalFreedomMod.plugin);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void deactivateSuperadmin(TFM_Superadmin superadmin)
|
public static void deactivateSuperadmin(TFM_Admin superadmin)
|
||||||
{
|
{
|
||||||
for (String ip : superadmin.getIps())
|
for (String ip : superadmin.getIps())
|
||||||
{
|
{
|
||||||
updateLogsRegistration(null, superadmin.getName(), ip, Command_logs.LogsRegistrationMode.DELETE);
|
updateLogsRegistration(null, superadmin.getLastLoginName(), ip, Command_logs.LogsRegistrationMode.DELETE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_GameRuleHandler;
|
import me.StevenLawson.TotalFreedomMod.TFM_GameRuleHandler;
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -20,27 +20,27 @@ public class Command_moblimiter extends TFM_Command
|
|||||||
|
|
||||||
if (args[0].equalsIgnoreCase("on"))
|
if (args[0].equalsIgnoreCase("on"))
|
||||||
{
|
{
|
||||||
TotalFreedomMod.mobLimiterEnabled = true;
|
TFM_ConfigEntry.MOB_LIMITER_ENABLED.setBoolean(true);
|
||||||
}
|
}
|
||||||
else if (args[0].equalsIgnoreCase("off"))
|
else if (args[0].equalsIgnoreCase("off"))
|
||||||
{
|
{
|
||||||
TotalFreedomMod.mobLimiterEnabled = false;
|
TFM_ConfigEntry.MOB_LIMITER_ENABLED.setBoolean(false);
|
||||||
}
|
}
|
||||||
else if (args[0].equalsIgnoreCase("dragon"))
|
else if (args[0].equalsIgnoreCase("dragon"))
|
||||||
{
|
{
|
||||||
TotalFreedomMod.mobLimiterDisableDragon = !TotalFreedomMod.mobLimiterDisableDragon;
|
TFM_ConfigEntry.MOB_LIMITER_DISABLE_DRAGON.setBoolean(!TFM_ConfigEntry.MOB_LIMITER_DISABLE_DRAGON.getBoolean());
|
||||||
}
|
}
|
||||||
else if (args[0].equalsIgnoreCase("giant"))
|
else if (args[0].equalsIgnoreCase("giant"))
|
||||||
{
|
{
|
||||||
TotalFreedomMod.mobLimiterDisableGiant = !TotalFreedomMod.mobLimiterDisableGiant;
|
TFM_ConfigEntry.MOB_LIMITER_DISABLE_GIANT.setBoolean(!TFM_ConfigEntry.MOB_LIMITER_DISABLE_GIANT.getBoolean());
|
||||||
}
|
}
|
||||||
else if (args[0].equalsIgnoreCase("slime"))
|
else if (args[0].equalsIgnoreCase("slime"))
|
||||||
{
|
{
|
||||||
TotalFreedomMod.mobLimiterDisableSlime = !TotalFreedomMod.mobLimiterDisableSlime;
|
TFM_ConfigEntry.MOB_LIMITER_DISABLE_SLIME.setBoolean(!TFM_ConfigEntry.MOB_LIMITER_DISABLE_SLIME.getBoolean());
|
||||||
}
|
}
|
||||||
else if (args[0].equalsIgnoreCase("ghast"))
|
else if (args[0].equalsIgnoreCase("ghast"))
|
||||||
{
|
{
|
||||||
TotalFreedomMod.mobLimiterDisableGhast = !TotalFreedomMod.mobLimiterDisableGhast;
|
TFM_ConfigEntry.MOB_LIMITER_DISABLE_GHAST.setBoolean(!TFM_ConfigEntry.MOB_LIMITER_DISABLE_GHAST.getBoolean());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -53,7 +53,7 @@ public class Command_moblimiter extends TFM_Command
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
TotalFreedomMod.mobLimiterMax = Math.max(0, Math.min(2000, Integer.parseInt(args[1])));
|
TFM_ConfigEntry.MOB_LIMITER_MAX.setInteger(Math.max(0, Math.min(2000, Integer.parseInt(args[1]))));
|
||||||
}
|
}
|
||||||
catch (NumberFormatException nfex)
|
catch (NumberFormatException nfex)
|
||||||
{
|
{
|
||||||
@ -61,21 +61,21 @@ public class Command_moblimiter extends TFM_Command
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TotalFreedomMod.mobLimiterEnabled)
|
if (TFM_ConfigEntry.MOB_LIMITER_ENABLED.getBoolean())
|
||||||
{
|
{
|
||||||
sender.sendMessage("Moblimiter enabled. Maximum mobcount set to: " + TotalFreedomMod.mobLimiterMax + ".");
|
sender.sendMessage("Moblimiter enabled. Maximum mobcount set to: " + TFM_ConfigEntry.MOB_LIMITER_MAX.getInteger() + ".");
|
||||||
|
|
||||||
playerMsg("Dragon: " + (TotalFreedomMod.mobLimiterDisableDragon ? "disabled" : "enabled") + ".");
|
playerMsg("Dragon: " + (TFM_ConfigEntry.MOB_LIMITER_DISABLE_DRAGON.getBoolean() ? "disabled" : "enabled") + ".");
|
||||||
playerMsg("Giant: " + (TotalFreedomMod.mobLimiterDisableGiant ? "disabled" : "enabled") + ".");
|
playerMsg("Giant: " + (TFM_ConfigEntry.MOB_LIMITER_DISABLE_GIANT.getBoolean() ? "disabled" : "enabled") + ".");
|
||||||
playerMsg("Slime: " + (TotalFreedomMod.mobLimiterDisableSlime ? "disabled" : "enabled") + ".");
|
playerMsg("Slime: " + (TFM_ConfigEntry.MOB_LIMITER_DISABLE_SLIME.getBoolean() ? "disabled" : "enabled") + ".");
|
||||||
playerMsg("Ghast: " + (TotalFreedomMod.mobLimiterDisableGhast ? "disabled" : "enabled") + ".");
|
playerMsg("Ghast: " + (TFM_ConfigEntry.MOB_LIMITER_DISABLE_GHAST.getBoolean() ? "disabled" : "enabled") + ".");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
playerMsg("Moblimiter is disabled. No mob restrictions are in effect.");
|
playerMsg("Moblimiter is disabled. No mob restrictions are in effect.");
|
||||||
}
|
}
|
||||||
|
|
||||||
TFM_GameRuleHandler.setGameRule(TFM_GameRuleHandler.TFM_GameRule.DO_MOB_SPAWNING, !TotalFreedomMod.mobLimiterEnabled);
|
TFM_GameRuleHandler.setGameRule(TFM_GameRuleHandler.TFM_GameRule.DO_MOB_SPAWNING, !TFM_ConfigEntry.MOB_LIMITER_ENABLED.getBoolean());
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
@ -16,7 +16,7 @@ public class Command_mp44 extends TFM_Command
|
|||||||
@Override
|
@Override
|
||||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
{
|
{
|
||||||
if (!TotalFreedomMod.mp44Enabled)
|
if (!TFM_ConfigEntry.MP44_ENABLED.getBoolean())
|
||||||
{
|
{
|
||||||
playerMsg("The mp44 is currently disabled.", ChatColor.GREEN);
|
playerMsg("The mp44 is currently disabled.", ChatColor.GREEN);
|
||||||
return true;
|
return true;
|
||||||
|
125
src/me/StevenLawson/TotalFreedomMod/Commands/Command_nf.java
Normal file
125
src/me/StevenLawson/TotalFreedomMod/Commands/Command_nf.java
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
@CommandPermissions(level = AdminLevel.OP, source = SourceType.BOTH)
|
||||||
|
@CommandParameters(description = "NickFilter: Prefix any command with this command to replace nicknames in that command with real names. Nicknames should be prefixed with a !.", usage = "/<command> <other_command> !<playernick>")
|
||||||
|
public class Command_nf extends TFM_Command
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
|
{
|
||||||
|
boolean nickMatched = false;
|
||||||
|
|
||||||
|
final List<String> outputCommand = new ArrayList<String>();
|
||||||
|
|
||||||
|
if (args.length >= 1)
|
||||||
|
{
|
||||||
|
final List<String> argsList = Arrays.asList(args);
|
||||||
|
for (String arg : argsList)
|
||||||
|
{
|
||||||
|
Player player = null;
|
||||||
|
|
||||||
|
Matcher matcher = Pattern.compile("^!(.+)$").matcher(arg);
|
||||||
|
if (matcher.find())
|
||||||
|
{
|
||||||
|
String displayName = matcher.group(1);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
player = getPlayerByDisplayName(displayName);
|
||||||
|
}
|
||||||
|
catch (PlayerNotFoundException ex)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
if (player == null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
player = getPlayerByDisplayNameAlt(displayName);
|
||||||
|
}
|
||||||
|
catch (PlayerNotFoundException ex)
|
||||||
|
{
|
||||||
|
sender.sendMessage(ChatColor.GRAY + "Can't find player by nickname: " + displayName);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player == null)
|
||||||
|
{
|
||||||
|
outputCommand.add(arg);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
nickMatched = true;
|
||||||
|
outputCommand.add(player.getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!nickMatched)
|
||||||
|
{
|
||||||
|
sender.sendMessage("No nicknames replaced in command.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
String newCommand = StringUtils.join(outputCommand, " ");
|
||||||
|
sender.sendMessage("Sending command: \"" + newCommand + "\".");
|
||||||
|
server.dispatchCommand(sender, newCommand);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Player getPlayerByDisplayName(String needle) throws PlayerNotFoundException
|
||||||
|
{
|
||||||
|
needle = needle.toLowerCase().trim();
|
||||||
|
|
||||||
|
Player[] onlinePlayers = Bukkit.getOnlinePlayers();
|
||||||
|
for (Player player : onlinePlayers)
|
||||||
|
{
|
||||||
|
if (player.getDisplayName().toLowerCase().trim().contains(needle))
|
||||||
|
{
|
||||||
|
return player;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new PlayerNotFoundException();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Player getPlayerByDisplayNameAlt(String needle) throws PlayerNotFoundException
|
||||||
|
{
|
||||||
|
needle = needle.toLowerCase().trim();
|
||||||
|
|
||||||
|
Integer minEditDistance = null;
|
||||||
|
Player minEditMatch = null;
|
||||||
|
|
||||||
|
Player[] onlinePlayers = Bukkit.getOnlinePlayers();
|
||||||
|
for (Player player : onlinePlayers)
|
||||||
|
{
|
||||||
|
String haystack = player.getDisplayName().toLowerCase().trim();
|
||||||
|
int editDistance = StringUtils.getLevenshteinDistance(needle, haystack.toLowerCase());
|
||||||
|
if (minEditDistance == null || minEditDistance.intValue() > editDistance)
|
||||||
|
{
|
||||||
|
minEditDistance = editDistance;
|
||||||
|
minEditMatch = player;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (minEditMatch == null)
|
||||||
|
{
|
||||||
|
throw new PlayerNotFoundException();
|
||||||
|
}
|
||||||
|
|
||||||
|
return minEditMatch;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,72 @@
|
|||||||
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.Bridge.TFM_EssentialsBridge;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
@CommandPermissions(level = AdminLevel.OP, source = SourceType.ONLY_IN_GAME)
|
||||||
|
@CommandParameters(description = "Essentials Interface Command - Nyanify your nickname.", usage = "/<command> <<nick> | off>")
|
||||||
|
public class Command_nicknyan extends TFM_Command
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
|
{
|
||||||
|
if (args.length != 1)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (TFM_Util.isStopCommand(args[0]))
|
||||||
|
{
|
||||||
|
TFM_EssentialsBridge.getInstance().setNickname(sender.getName(), null);
|
||||||
|
playerMsg("Nickname cleared.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
final String nickPlain = ChatColor.stripColor(TFM_Util.colorize(args[0].trim()));
|
||||||
|
|
||||||
|
if (!nickPlain.matches("^[a-zA-Z_0-9\u00a7]+$"))
|
||||||
|
{
|
||||||
|
playerMsg("That nickname contains invalid characters.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if (nickPlain.length() < 4 || nickPlain.length() > 30)
|
||||||
|
{
|
||||||
|
playerMsg("Your nickname must be between 4 and 30 characters long.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
final Player[] onlinePlayers = server.getOnlinePlayers();
|
||||||
|
for (final Player player : onlinePlayers)
|
||||||
|
{
|
||||||
|
if (player == sender_p)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (player.getName().equalsIgnoreCase(nickPlain) || ChatColor.stripColor(player.getDisplayName()).trim().equalsIgnoreCase(nickPlain))
|
||||||
|
{
|
||||||
|
playerMsg("That nickname is already in use.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
final StringBuilder newNick = new StringBuilder();
|
||||||
|
|
||||||
|
final char[] chars = nickPlain.toCharArray();
|
||||||
|
for (char c : chars)
|
||||||
|
{
|
||||||
|
newNick.append(TFM_Util.randomChatColor()).append(c);
|
||||||
|
}
|
||||||
|
|
||||||
|
newNick.append(ChatColor.WHITE);
|
||||||
|
|
||||||
|
TFM_EssentialsBridge.getInstance().setNickname(sender.getName(), newNick.toString());
|
||||||
|
|
||||||
|
playerMsg("Your nickname is now: " + newNick.toString());
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -21,7 +21,7 @@ public class Command_nonuke extends TFM_Command
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
TotalFreedomMod.nukeMonitorRange = Math.max(1.0, Math.min(500.0, Double.parseDouble(args[1])));
|
TFM_ConfigEntry.NUKE_MONITOR_RANGE.setDouble(Math.max(1.0, Math.min(500.0, Double.parseDouble(args[1]))));
|
||||||
}
|
}
|
||||||
catch (NumberFormatException nfex)
|
catch (NumberFormatException nfex)
|
||||||
{
|
{
|
||||||
@ -32,7 +32,7 @@ public class Command_nonuke extends TFM_Command
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
TotalFreedomMod.nukeMonitorCountBreak = Math.max(1, Math.min(500, Integer.parseInt(args[2])));
|
TFM_ConfigEntry.NUKE_MONITOR_COUNT_BREAK.setInteger(Math.max(1, Math.min(500, Integer.parseInt(args[2]))));
|
||||||
}
|
}
|
||||||
catch (NumberFormatException nfex)
|
catch (NumberFormatException nfex)
|
||||||
{
|
{
|
||||||
@ -41,14 +41,14 @@ public class Command_nonuke extends TFM_Command
|
|||||||
|
|
||||||
if (args[0].equalsIgnoreCase("on"))
|
if (args[0].equalsIgnoreCase("on"))
|
||||||
{
|
{
|
||||||
TotalFreedomMod.nukeMonitor = true;
|
TFM_ConfigEntry.NUKE_MONITOR.setBoolean(true);
|
||||||
playerMsg("Nuke monitor is enabled.");
|
playerMsg("Nuke monitor is enabled.");
|
||||||
playerMsg("Anti-freecam range is set to " + TotalFreedomMod.nukeMonitorRange + " blocks.");
|
playerMsg("Anti-freecam range is set to " + TFM_ConfigEntry.NUKE_MONITOR_RANGE.getDouble() + " blocks.");
|
||||||
playerMsg("Block throttle rate is set to " + TotalFreedomMod.nukeMonitorCountBreak + " blocks destroyed per 5 seconds.");
|
playerMsg("Block throttle rate is set to " + TFM_ConfigEntry.NUKE_MONITOR_COUNT_BREAK.getInteger() + " blocks destroyed per 5 seconds.");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
TotalFreedomMod.nukeMonitor = false;
|
TFM_ConfigEntry.NUKE_MONITOR.setBoolean(false);
|
||||||
playerMsg("Nuke monitor is disabled.");
|
playerMsg("Nuke monitor is disabled.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ package me.StevenLawson.TotalFreedomMod.Commands;
|
|||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
@ -2,13 +2,15 @@ package me.StevenLawson.TotalFreedomMod.Commands;
|
|||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Log;
|
import me.StevenLawson.TotalFreedomMod.TFM_Log;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_ServerInterface;
|
import me.StevenLawson.TotalFreedomMod.TFM_ServerInterface;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
@CommandPermissions(level = AdminLevel.SENIOR, source = SourceType.ONLY_CONSOLE, block_host_console = true)
|
@CommandPermissions(level = AdminLevel.ALL, source = SourceType.BOTH)
|
||||||
@CommandParameters(description = "Switch server online-mode on and off.", usage = "/<command> <on | off>")
|
@CommandParameters(description = "Switch server online-mode on and off.", usage = "/<command> <on | off>")
|
||||||
public class Command_onlinemode extends TFM_Command
|
public class Command_onlinemode extends TFM_Command
|
||||||
{
|
{
|
||||||
@ -18,12 +20,18 @@ public class Command_onlinemode extends TFM_Command
|
|||||||
if (args.length < 1)
|
if (args.length < 1)
|
||||||
{
|
{
|
||||||
playerMsg("Server is currently running with 'online-mode=" + (server.getOnlineMode() ? "true" : "false") + "'.", ChatColor.WHITE);
|
playerMsg("Server is currently running with 'online-mode=" + (server.getOnlineMode() ? "true" : "false") + "'.", ChatColor.WHITE);
|
||||||
playerMsg("Use \"/onlinemode on\" and \"/onlinemode off\" to change online mode.", ChatColor.WHITE);
|
playerMsg("\"/onlinemode on\" and \"/onlinemode off\" can be used to change online mode from the console.", ChatColor.WHITE);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
boolean online_mode;
|
boolean online_mode;
|
||||||
|
|
||||||
|
if (sender instanceof Player && !TFM_AdminList.isSeniorAdmin(sender, true))
|
||||||
|
{
|
||||||
|
playerMsg(TotalFreedomMod.MSG_NO_PERMS);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
if (args[0].equalsIgnoreCase("on"))
|
if (args[0].equalsIgnoreCase("on"))
|
||||||
{
|
{
|
||||||
online_mode = true;
|
online_mode = true;
|
||||||
@ -43,9 +51,9 @@ public class Command_onlinemode extends TFM_Command
|
|||||||
|
|
||||||
if (online_mode)
|
if (online_mode)
|
||||||
{
|
{
|
||||||
for (Player p : server.getOnlinePlayers())
|
for (Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
p.kickPlayer("Server is activating \"online-mode=true\". Please reconnect.");
|
player.kickPlayer("Server is activating \"online-mode=true\". Please reconnect.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList;
|
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.OfflinePlayer;
|
import org.bukkit.OfflinePlayer;
|
||||||
@ -26,21 +26,21 @@ public class Command_op extends TFM_Command
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
OfflinePlayer p = null;
|
OfflinePlayer player = null;
|
||||||
for (Player onlinePlayer : server.getOnlinePlayers())
|
for (Player onlinePlayer : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
if (args[0].equalsIgnoreCase(onlinePlayer.getName()))
|
if (args[0].equalsIgnoreCase(onlinePlayer.getName()))
|
||||||
{
|
{
|
||||||
p = onlinePlayer;
|
player = onlinePlayer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if the player is not online
|
// if the player is not online
|
||||||
if (p == null)
|
if (player == null)
|
||||||
{
|
{
|
||||||
if (TFM_SuperadminList.isUserSuperadmin(sender) || senderIsConsole)
|
if (TFM_AdminList.isSuperAdmin(sender) || senderIsConsole)
|
||||||
{
|
{
|
||||||
p = server.getOfflinePlayer(args[0]);
|
player = server.getOfflinePlayer(args[0]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -50,8 +50,8 @@ public class Command_op extends TFM_Command
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TFM_Util.adminAction(sender.getName(), "Opping " + p.getName(), false);
|
TFM_Util.adminAction(sender.getName(), "Opping " + player.getName(), false);
|
||||||
p.setOp(true);
|
player.setOp(true);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -32,14 +32,14 @@ public class Command_opall extends TFM_Command
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Player p : server.getOnlinePlayers())
|
for (Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
p.setOp(true);
|
player.setOp(true);
|
||||||
p.sendMessage(TotalFreedomMod.YOU_ARE_OP);
|
player.sendMessage(TotalFreedomMod.YOU_ARE_OP);
|
||||||
|
|
||||||
if (doSetGamemode)
|
if (doSetGamemode)
|
||||||
{
|
{
|
||||||
p.setGameMode(targetGamemode);
|
player.setGameMode(targetGamemode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,14 +1,13 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
|
||||||
import org.bukkit.OfflinePlayer;
|
import org.bukkit.OfflinePlayer;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
@CommandPermissions(level = AdminLevel.OP, source = SourceType.BOTH)
|
@CommandPermissions(level = AdminLevel.OP, source = SourceType.BOTH)
|
||||||
@CommandParameters(description = "Manage operators", usage = "/<command> <count | list | purge>")
|
@CommandParameters(description = "Manage operators", usage = "/<command> <count | list>")
|
||||||
public class Command_ops extends TFM_Command
|
public class Command_ops extends TFM_Command
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
@ -31,9 +30,9 @@ public class Command_ops extends TFM_Command
|
|||||||
int offlineOPs = 0;
|
int offlineOPs = 0;
|
||||||
int totalOPs = 0;
|
int totalOPs = 0;
|
||||||
|
|
||||||
for (OfflinePlayer p : server.getOperators())
|
for (OfflinePlayer player : server.getOperators())
|
||||||
{
|
{
|
||||||
if (p.isOnline())
|
if (player.isOnline())
|
||||||
{
|
{
|
||||||
onlineOPs++;
|
onlineOPs++;
|
||||||
}
|
}
|
||||||
@ -51,29 +50,6 @@ public class Command_ops extends TFM_Command
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (args[0].equalsIgnoreCase("purge"))
|
|
||||||
{
|
|
||||||
if (!senderIsConsole)
|
|
||||||
{
|
|
||||||
playerMsg(TotalFreedomMod.MSG_NO_PERMS);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
TFM_Util.adminAction(sender.getName(), "Removing all operators", true);
|
|
||||||
|
|
||||||
for (OfflinePlayer p : server.getOperators())
|
|
||||||
{
|
|
||||||
p.setOp(false);
|
|
||||||
|
|
||||||
if (p.isOnline())
|
|
||||||
{
|
|
||||||
p.getPlayer().sendMessage(TotalFreedomMod.YOU_ARE_NOT_OP);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,18 +21,18 @@ public class Command_orbit extends TFM_Command
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
Player p;
|
Player player;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
p = getPlayer(args[0]);
|
player = getPlayer(args[0]);
|
||||||
}
|
}
|
||||||
catch (CantFindPlayerException ex)
|
catch (PlayerNotFoundException ex)
|
||||||
{
|
{
|
||||||
playerMsg(ex.getMessage(), ChatColor.RED);
|
playerMsg(ex.getMessage(), ChatColor.RED);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(p);
|
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(player);
|
||||||
|
|
||||||
double strength = 10.0;
|
double strength = 10.0;
|
||||||
|
|
||||||
@ -40,7 +40,7 @@ public class Command_orbit extends TFM_Command
|
|||||||
{
|
{
|
||||||
if (TFM_Util.isStopCommand(args[1]))
|
if (TFM_Util.isStopCommand(args[1]))
|
||||||
{
|
{
|
||||||
playerMsg("Stopped orbiting " + p.getName());
|
playerMsg("Stopped orbiting " + player.getName());
|
||||||
playerdata.stopOrbiting();
|
playerdata.stopOrbiting();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -56,11 +56,11 @@ public class Command_orbit extends TFM_Command
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
p.setGameMode(GameMode.SURVIVAL);
|
player.setGameMode(GameMode.SURVIVAL);
|
||||||
playerdata.startOrbiting(strength);
|
playerdata.startOrbiting(strength);
|
||||||
|
|
||||||
p.setVelocity(new Vector(0, strength, 0));
|
player.setVelocity(new Vector(0, strength, 0));
|
||||||
TFM_Util.adminAction(sender.getName(), "Orbiting " + p.getName() + ".", false);
|
TFM_Util.adminAction(sender.getName(), "Orbiting " + player.getName() + ".", false);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
@ -44,24 +44,24 @@ public class Command_permban extends TFM_Command
|
|||||||
|
|
||||||
private void dumplist(CommandSender sender)
|
private void dumplist(CommandSender sender)
|
||||||
{
|
{
|
||||||
if (TotalFreedomMod.permbanned_players.isEmpty())
|
if (TotalFreedomMod.permbannedPlayers.isEmpty())
|
||||||
{
|
{
|
||||||
playerMsg(sender, "No permanently banned player names.");
|
playerMsg(sender, "No permanently banned player names.");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
playerMsg(sender, TotalFreedomMod.permbanned_players.size() + " permanently banned players:");
|
playerMsg(sender, TotalFreedomMod.permbannedPlayers.size() + " permanently banned players:");
|
||||||
playerMsg(sender, StringUtils.join(TotalFreedomMod.permbanned_players, ", "));
|
playerMsg(sender, StringUtils.join(TotalFreedomMod.permbannedPlayers, ", "));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TotalFreedomMod.permbanned_ips.isEmpty())
|
if (TotalFreedomMod.permbannedIps.isEmpty())
|
||||||
{
|
{
|
||||||
playerMsg(sender, "No permanently banned IPs.");
|
playerMsg(sender, "No permanently banned IPs.");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
playerMsg(sender, TotalFreedomMod.permbanned_ips.size() + " permanently banned IPs:");
|
playerMsg(sender, TotalFreedomMod.permbannedIps.size() + " permanently banned IPs:");
|
||||||
playerMsg(sender, StringUtils.join(TotalFreedomMod.permbanned_ips, ", "));
|
playerMsg(sender, StringUtils.join(TotalFreedomMod.permbannedIps, ", "));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -18,11 +18,9 @@ public class Command_petprotect extends TFM_Command
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
TotalFreedomMod.petProtectEnabled = !TFM_Util.isStopCommand(args[0]);
|
|
||||||
|
|
||||||
TFM_Util.adminAction(
|
TFM_Util.adminAction(
|
||||||
sender.getName(),
|
sender.getName(),
|
||||||
"Tamed pet protection is now " + (TotalFreedomMod.petProtectEnabled ? "enabled" : "disabled") + ".",
|
"Tamed pet protection is now " + (TFM_ConfigEntry.PET_PROTECT_ENABLED.setBoolean(!TFM_Util.isStopCommand(args[0])) ? "enabled" : "disabled") + ".",
|
||||||
false);
|
false);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import org.apache.commons.lang.StringUtils;
|
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -58,20 +58,20 @@ public class Command_plugincontrol extends TFM_Command
|
|||||||
else if (commandMode == CommandMode.RELOAD)
|
else if (commandMode == CommandMode.RELOAD)
|
||||||
{
|
{
|
||||||
playerMsg("Disabling all plugins.");
|
playerMsg("Disabling all plugins.");
|
||||||
for (Plugin p : pluginManager.getPlugins())
|
for (Plugin targetPlugin : pluginManager.getPlugins())
|
||||||
{
|
{
|
||||||
if (!p.getName().toLowerCase().startsWith("totalfreedommod"))
|
if (!targetPlugin.getName().toLowerCase().startsWith("totalfreedommod"))
|
||||||
{
|
{
|
||||||
pluginManager.disablePlugin(p);
|
pluginManager.disablePlugin(targetPlugin);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
playerMsg("Enabling all plugins.");
|
playerMsg("Enabling all plugins.");
|
||||||
for (Plugin p : pluginManager.getPlugins())
|
for (Plugin targetPlugin : pluginManager.getPlugins())
|
||||||
{
|
{
|
||||||
if (!p.getName().toLowerCase().startsWith("totalfreedommod"))
|
if (!targetPlugin.getName().toLowerCase().startsWith("totalfreedommod"))
|
||||||
{
|
{
|
||||||
pluginManager.enablePlugin(p);
|
pluginManager.enablePlugin(targetPlugin);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -81,11 +81,11 @@ public class Command_plugincontrol extends TFM_Command
|
|||||||
|
|
||||||
Plugin targetPlugin = null;
|
Plugin targetPlugin = null;
|
||||||
|
|
||||||
for (Plugin p : pluginManager.getPlugins())
|
for (Plugin serverPlugin : pluginManager.getPlugins())
|
||||||
{
|
{
|
||||||
if (searchPluginName.equalsIgnoreCase(p.getName().toLowerCase().trim()))
|
if (searchPluginName.equalsIgnoreCase(serverPlugin.getName().toLowerCase().trim()))
|
||||||
{
|
{
|
||||||
targetPlugin = p;
|
targetPlugin = serverPlugin;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,10 +2,10 @@ package me.StevenLawson.TotalFreedomMod.Commands;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList;
|
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
@ -16,7 +16,7 @@ import org.bukkit.potion.PotionEffectType;
|
|||||||
@CommandPermissions(level = AdminLevel.OP, source = SourceType.BOTH)
|
@CommandPermissions(level = AdminLevel.OP, source = SourceType.BOTH)
|
||||||
@CommandParameters(
|
@CommandParameters(
|
||||||
description = "Manipulate potion effects. Duration is measured in server ticks (~20 ticks per second).",
|
description = "Manipulate potion effects. Duration is measured in server ticks (~20 ticks per second).",
|
||||||
usage = "/<command> <list | clear [target_name] | add <type> <duration> <amplifier> [target_name]>")
|
usage = "/<command> <list | clear [target name] | add <type> <duration> <amplifier> [target name]>")
|
||||||
public class Command_potion extends TFM_Command
|
public class Command_potion extends TFM_Command
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
@ -38,7 +38,7 @@ public class Command_potion extends TFM_Command
|
|||||||
}
|
}
|
||||||
else if (args[0].equalsIgnoreCase("clearall"))
|
else if (args[0].equalsIgnoreCase("clearall"))
|
||||||
{
|
{
|
||||||
if (!(TFM_SuperadminList.isUserSuperadmin(sender) || senderIsConsole))
|
if (!(TFM_AdminList.isSuperAdmin(sender) || senderIsConsole))
|
||||||
{
|
{
|
||||||
playerMsg(TotalFreedomMod.MSG_NO_PERMS);
|
playerMsg(TotalFreedomMod.MSG_NO_PERMS);
|
||||||
return true;
|
return true;
|
||||||
@ -62,7 +62,7 @@ public class Command_potion extends TFM_Command
|
|||||||
{
|
{
|
||||||
target = getPlayer(args[1]);
|
target = getPlayer(args[1]);
|
||||||
}
|
}
|
||||||
catch (CantFindPlayerException ex)
|
catch (PlayerNotFoundException ex)
|
||||||
{
|
{
|
||||||
playerMsg(ex.getMessage(), ChatColor.RED);
|
playerMsg(ex.getMessage(), ChatColor.RED);
|
||||||
return true;
|
return true;
|
||||||
@ -71,7 +71,7 @@ public class Command_potion extends TFM_Command
|
|||||||
|
|
||||||
if (!target.equals(sender_p))
|
if (!target.equals(sender_p))
|
||||||
{
|
{
|
||||||
if (!TFM_SuperadminList.isUserSuperadmin(sender))
|
if (!TFM_AdminList.isSuperAdmin(sender))
|
||||||
{
|
{
|
||||||
playerMsg("Only superadmins can clear potion effects from other players.");
|
playerMsg("Only superadmins can clear potion effects from other players.");
|
||||||
return true;
|
return true;
|
||||||
@ -107,7 +107,7 @@ public class Command_potion extends TFM_Command
|
|||||||
{
|
{
|
||||||
target = getPlayer(args[4]);
|
target = getPlayer(args[4]);
|
||||||
}
|
}
|
||||||
catch (CantFindPlayerException ex)
|
catch (PlayerNotFoundException ex)
|
||||||
{
|
{
|
||||||
playerMsg(ex.getMessage(), ChatColor.RED);
|
playerMsg(ex.getMessage(), ChatColor.RED);
|
||||||
return true;
|
return true;
|
||||||
@ -116,7 +116,7 @@ public class Command_potion extends TFM_Command
|
|||||||
|
|
||||||
if (!target.equals(sender_p))
|
if (!target.equals(sender_p))
|
||||||
{
|
{
|
||||||
if (!TFM_SuperadminList.isUserSuperadmin(sender))
|
if (!TFM_AdminList.isSuperAdmin(sender))
|
||||||
{
|
{
|
||||||
sender.sendMessage("Only superadmins can apply potion effects to other players.");
|
sender.sendMessage("Only superadmins can apply potion effects to other players.");
|
||||||
return true;
|
return true;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -21,12 +21,12 @@ public class Command_prelog extends TFM_Command
|
|||||||
|
|
||||||
if (args[0].equalsIgnoreCase("on"))
|
if (args[0].equalsIgnoreCase("on"))
|
||||||
{
|
{
|
||||||
TotalFreedomMod.preprocessLogEnabled = true;
|
TFM_ConfigEntry.PREPROCESS_LOG_ENABLED.setBoolean(true);
|
||||||
playerMsg("Command preprocess logging is now enabled. This will be spammy in the log.");
|
playerMsg("Command preprocess logging is now enabled. This will be spammy in the log.");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
TotalFreedomMod.preprocessLogEnabled = false;
|
TFM_ConfigEntry.PREPROCESS_LOG_ENABLED.setBoolean(false);
|
||||||
playerMsg("Command preprocess logging is now disabled.");
|
playerMsg("Command preprocess logging is now disabled.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,71 @@
|
|||||||
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.net.URL;
|
||||||
|
import java.net.URLConnection;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_Log;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
|
||||||
|
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH)
|
||||||
|
@CommandParameters(description = "Validates if a given account is premium.", usage = "/<command> <player>", aliases = "prem")
|
||||||
|
public class Command_premium extends TFM_Command
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
|
{
|
||||||
|
if (args.length != 1)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
String name;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
name = getPlayer(args[0]).getName();
|
||||||
|
}
|
||||||
|
catch (PlayerNotFoundException ex)
|
||||||
|
{
|
||||||
|
name = args[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
final String playername = name;
|
||||||
|
new BukkitRunnable()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void run()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
final URL getUrl = new URL("https://minecraft.net/haspaid.jsp?user=" + playername);
|
||||||
|
final URLConnection urlConnection = getUrl.openConnection();
|
||||||
|
// Read the response
|
||||||
|
final BufferedReader in = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
|
||||||
|
final String message = ("false".equalsIgnoreCase(in.readLine()) ? ChatColor.RED + "No" : ChatColor.DARK_GREEN + "Yes");
|
||||||
|
in.close();
|
||||||
|
|
||||||
|
new BukkitRunnable()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void run()
|
||||||
|
{
|
||||||
|
playerMsg("Player " + playername + " is premium: " + message);
|
||||||
|
}
|
||||||
|
}.runTask(plugin);
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
TFM_Log.severe(ex);
|
||||||
|
playerMsg("There was an error querying the mojang server.", ChatColor.RED);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}.runTaskAsynchronously(plugin);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
@ -1,8 +1,9 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_ProtectedArea;
|
import me.StevenLawson.TotalFreedomMod.TFM_ProtectedArea;
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -16,7 +17,7 @@ public class Command_protectarea extends TFM_Command
|
|||||||
@Override
|
@Override
|
||||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
{
|
{
|
||||||
if (!TotalFreedomMod.protectedAreasEnabled)
|
if (!TFM_ConfigEntry.PROTECTED_AREAS_ENABLED.getBoolean())
|
||||||
{
|
{
|
||||||
playerMsg("Protected areas are currently disabled in the TotalFreedomMod configuration.");
|
playerMsg("Protected areas are currently disabled in the TotalFreedomMod configuration.");
|
||||||
return true;
|
return true;
|
||||||
@ -43,7 +44,7 @@ public class Command_protectarea extends TFM_Command
|
|||||||
}
|
}
|
||||||
else if (args.length == 2)
|
else if (args.length == 2)
|
||||||
{
|
{
|
||||||
if (args[0].equalsIgnoreCase("remove"))
|
if (TFM_Util.isRemoveCommand(args[0]))
|
||||||
{
|
{
|
||||||
TFM_ProtectedArea.removeProtectedArea(args[1]);
|
TFM_ProtectedArea.removeProtectedArea(args[1]);
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_DisguiseCraftBridge;
|
import me.StevenLawson.TotalFreedomMod.Bridge.TFM_DisguiseCraftBridge;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||||
@ -19,14 +19,14 @@ public class Command_purgeall extends TFM_Command
|
|||||||
TFM_Util.adminAction(sender.getName(), "Purging all player data", true);
|
TFM_Util.adminAction(sender.getName(), "Purging all player data", true);
|
||||||
|
|
||||||
// Purge entities
|
// Purge entities
|
||||||
TFM_Util.wipeEntities(true, true);
|
TFM_Util.TFM_EntityWiper.wipeEntities(true, true);
|
||||||
|
|
||||||
// Undisguise all players
|
// Undisguise all players
|
||||||
TFM_DisguiseCraftBridge.undisguiseAllPlayers();
|
TFM_DisguiseCraftBridge.undisguiseAllPlayers();
|
||||||
|
|
||||||
for (Player p : server.getOnlinePlayers())
|
for (Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(p);
|
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(player);
|
||||||
|
|
||||||
// Unmute all players
|
// Unmute all players
|
||||||
if (playerdata.isMuted())
|
if (playerdata.isMuted())
|
||||||
@ -59,9 +59,9 @@ public class Command_purgeall extends TFM_Command
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Purge potion effects
|
// Purge potion effects
|
||||||
for (PotionEffect potion_effect : p.getActivePotionEffects())
|
for (PotionEffect potion_effect : player.getActivePotionEffects())
|
||||||
{
|
{
|
||||||
p.removePotionEffect(potion_effect.getType());
|
player.removePotionEffect(potion_effect.getType());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Uncage
|
// Uncage
|
||||||
|
@ -26,20 +26,20 @@ public class Command_qdeop extends TFM_Command
|
|||||||
|
|
||||||
boolean matched_player = false;
|
boolean matched_player = false;
|
||||||
|
|
||||||
String target_name = args[0].toLowerCase();
|
String targetName = args[0].toLowerCase();
|
||||||
|
|
||||||
for (Player p : server.getOnlinePlayers())
|
for (Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
if (p.getName().toLowerCase().indexOf(target_name) != -1 || p.getDisplayName().toLowerCase().indexOf(target_name) != -1)
|
if (player.getName().toLowerCase().indexOf(targetName) != -1 || player.getDisplayName().toLowerCase().indexOf(targetName) != -1)
|
||||||
{
|
{
|
||||||
matched_player = true;
|
matched_player = true;
|
||||||
|
|
||||||
if (!silent)
|
if (!silent)
|
||||||
{
|
{
|
||||||
TFM_Util.adminAction(sender.getName(), "De-opping " + p.getName(), false);
|
TFM_Util.adminAction(sender.getName(), "De-opping " + player.getName(), false);
|
||||||
}
|
}
|
||||||
p.setOp(false);
|
player.setOp(false);
|
||||||
p.sendMessage(TotalFreedomMod.YOU_ARE_NOT_OP);
|
player.sendMessage(TotalFreedomMod.YOU_ARE_NOT_OP);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,20 +26,20 @@ public class Command_qop extends TFM_Command
|
|||||||
|
|
||||||
boolean matched_player = false;
|
boolean matched_player = false;
|
||||||
|
|
||||||
String target_name = args[0].toLowerCase();
|
String targetName = args[0].toLowerCase();
|
||||||
|
|
||||||
for (Player p : server.getOnlinePlayers())
|
for (Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
if (p.getName().toLowerCase().indexOf(target_name) != -1 || p.getDisplayName().toLowerCase().indexOf(target_name) != -1)
|
if (player.getName().toLowerCase().indexOf(targetName) != -1 || player.getDisplayName().toLowerCase().indexOf(targetName) != -1)
|
||||||
{
|
{
|
||||||
matched_player = true;
|
matched_player = true;
|
||||||
|
|
||||||
if (!silent)
|
if (!silent)
|
||||||
{
|
{
|
||||||
TFM_Util.adminAction(sender.getName(), "Opping " + p.getName(), false);
|
TFM_Util.adminAction(sender.getName(), "Opping " + player.getName(), false);
|
||||||
}
|
}
|
||||||
p.setOp(true);
|
player.setOp(true);
|
||||||
p.sendMessage(TotalFreedomMod.YOU_ARE_OP);
|
player.sendMessage(TotalFreedomMod.YOU_ARE_OP);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,13 +21,13 @@ public class Command_radar extends TFM_Command
|
|||||||
|
|
||||||
List<TFM_RadarData> radar_data = new ArrayList<TFM_RadarData>();
|
List<TFM_RadarData> radar_data = new ArrayList<TFM_RadarData>();
|
||||||
|
|
||||||
for (Player p : sender_pos.getWorld().getPlayers())
|
for (Player player : sender_pos.getWorld().getPlayers())
|
||||||
{
|
{
|
||||||
if (!p.equals(sender_p))
|
if (!player.equals(sender_p))
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
radar_data.add(new TFM_RadarData(p, sender_pos.distance(p.getLocation()), p.getLocation()));
|
radar_data.add(new TFM_RadarData(player, sender_pos.distance(player.getLocation()), player.getLocation()));
|
||||||
}
|
}
|
||||||
catch (IllegalArgumentException ex)
|
catch (IllegalArgumentException ex)
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_PlayerRank;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
@ -15,9 +15,9 @@ public class Command_rank extends TFM_Command
|
|||||||
{
|
{
|
||||||
if (senderIsConsole && args.length < 1)
|
if (senderIsConsole && args.length < 1)
|
||||||
{
|
{
|
||||||
for (Player p : server.getOnlinePlayers())
|
for (Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
playerMsg(p.getName() + " is " + TFM_Util.getRank(p));
|
playerMsg(player.getName() + " is " + TFM_PlayerRank.fromSender(player).getLoginMessage());
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -29,22 +29,22 @@ public class Command_rank extends TFM_Command
|
|||||||
|
|
||||||
if (args.length == 0)
|
if (args.length == 0)
|
||||||
{
|
{
|
||||||
playerMsg(sender.getName() + " is " + TFM_Util.getRank(sender), ChatColor.AQUA);
|
playerMsg(sender.getName() + " is " + TFM_PlayerRank.fromSender(sender).getLoginMessage(), ChatColor.AQUA);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
Player p;
|
Player player;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
p = getPlayer(args[0]);
|
player = getPlayer(args[0]);
|
||||||
}
|
}
|
||||||
catch (CantFindPlayerException ex)
|
catch (PlayerNotFoundException ex)
|
||||||
{
|
{
|
||||||
sender.sendMessage(ex.getMessage());
|
sender.sendMessage(ex.getMessage());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
playerMsg(p.getName() + " is " + TFM_Util.getRank(p), ChatColor.AQUA);
|
playerMsg(player.getName() + " is " + TFM_PlayerRank.fromSender(player).getLoginMessage(), ChatColor.AQUA);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -16,7 +15,7 @@ public class Command_rawsay extends TFM_Command
|
|||||||
{
|
{
|
||||||
if (args.length > 0)
|
if (args.length > 0)
|
||||||
{
|
{
|
||||||
TFM_Util.bcastMsg(ChatColor.translateAlternateColorCodes('&', StringUtils.join(args, " ")));
|
TFM_Util.bcastMsg(TFM_Util.colorize(StringUtils.join(args, " ")));
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -13,7 +13,7 @@ public class Command_rd extends TFM_Command
|
|||||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
{
|
{
|
||||||
TFM_Util.adminAction(sender.getName(), "Removing all server entities.", true);
|
TFM_Util.adminAction(sender.getName(), "Removing all server entities.", true);
|
||||||
playerMsg((TFM_Util.wipeEntities(true, true)) + " enties removed.");
|
playerMsg((TFM_Util.TFM_EntityWiper.wipeEntities(true, true)) + " enties removed.");
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -51,14 +51,14 @@ public class Command_ro extends TFM_Command
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Player target_player = null;
|
Player targetPlayer = null;
|
||||||
if (args.length == 3)
|
if (args.length == 3)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
target_player = getPlayer(args[2]);
|
targetPlayer = getPlayer(args[2]);
|
||||||
}
|
}
|
||||||
catch (CantFindPlayerException ex)
|
catch (PlayerNotFoundException ex)
|
||||||
{
|
{
|
||||||
playerMsg(ex.getMessage(), ChatColor.RED);
|
playerMsg(ex.getMessage(), ChatColor.RED);
|
||||||
return true;
|
return true;
|
||||||
@ -67,18 +67,18 @@ public class Command_ro extends TFM_Command
|
|||||||
|
|
||||||
int affected = 0;
|
int affected = 0;
|
||||||
|
|
||||||
if (target_player == null)
|
if (targetPlayer == null)
|
||||||
{
|
{
|
||||||
TFM_Util.adminAction(sender.getName(), "Removing all " + from_material.name() + " within " + radius + " blocks of all players. Brace for lag...", senderIsConsole);
|
TFM_Util.adminAction(sender.getName(), "Removing all " + from_material.name() + " within " + radius + " blocks of all players. Brace for lag...", senderIsConsole);
|
||||||
for (Player p : server.getOnlinePlayers())
|
for (Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
affected += TFM_Util.replaceBlocks(p.getLocation(), from_material, Material.AIR, radius);
|
affected += TFM_Util.replaceBlocks(player.getLocation(), from_material, Material.AIR, radius);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
TFM_Util.adminAction(sender.getName(), "Removing all " + from_material.name() + " within " + radius + " blocks of " + target_player.getName() + ".", senderIsConsole);
|
TFM_Util.adminAction(sender.getName(), "Removing all " + from_material.name() + " within " + radius + " blocks of " + targetPlayer.getName() + ".", senderIsConsole);
|
||||||
affected += TFM_Util.replaceBlocks(target_player.getLocation(), from_material, Material.AIR, radius);
|
affected += TFM_Util.replaceBlocks(targetPlayer.getLocation(), from_material, Material.AIR, radius);
|
||||||
}
|
}
|
||||||
|
|
||||||
TFM_Util.adminAction(sender.getName(), "Remove complete. " + affected + " blocks removed.", senderIsConsole);
|
TFM_Util.adminAction(sender.getName(), "Remove complete. " + affected + " blocks removed.", senderIsConsole);
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_RollbackManager;
|
import me.StevenLawson.TotalFreedomMod.TFM_RollbackManager;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_UserList;
|
import me.StevenLawson.TotalFreedomMod.TFM_PlayerList;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH, block_host_console = true)
|
@CommandPermissions(level = AdminLevel.SUPER, source = SourceType.BOTH, block_host_console = true)
|
||||||
@CommandParameters(description = "Issues a rollback on a player", usage = "/<command> <[partialname] | purge [partialname] | purgeall>", aliases = "rb")
|
@CommandParameters(description = "Issues a rollback on a player", usage = "/<command> <[partialname] | undo [partialname] purge [partialname] | purgeall>", aliases = "rb")
|
||||||
public class Command_rollback extends TFM_Command
|
public class Command_rollback extends TFM_Command
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
@ -16,25 +16,58 @@ public class Command_rollback extends TFM_Command
|
|||||||
{
|
{
|
||||||
if (args.length == 1)
|
if (args.length == 1)
|
||||||
{
|
{
|
||||||
if (args[0].equalsIgnoreCase("purgeall"))
|
if ("purgeall".equalsIgnoreCase(args[0]))
|
||||||
{
|
{
|
||||||
TFM_Util.adminAction(sender.getName(), "Purging all rollback history.", false);
|
TFM_Util.adminAction(sender.getName(), "Purging all rollback history", false);
|
||||||
playerMsg("Purged all rollback history for " + TFM_RollbackManager.purgeEntries() + " players.");
|
playerMsg("Purged all rollback history for " + TFM_RollbackManager.purgeEntries() + " players.");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
String playerName = getPlayerName(args[0]);
|
String playerName = getPlayerName(args[0]);
|
||||||
|
|
||||||
|
if (!TFM_RollbackManager.canRollback(playerName))
|
||||||
|
{
|
||||||
|
playerMsg("That player has no entries stored.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (TFM_RollbackManager.canUndoRollback(playerName))
|
||||||
|
{
|
||||||
|
playerMsg("That player has just been rolled back.");
|
||||||
|
}
|
||||||
|
|
||||||
TFM_Util.adminAction(sender.getName(), "Rolling back player: " + playerName, false);
|
TFM_Util.adminAction(sender.getName(), "Rolling back player: " + playerName, false);
|
||||||
playerMsg("Rolled back " + TFM_RollbackManager.rollback(playerName) + " edits for " + playerName + ".");
|
playerMsg("Rolled back " + TFM_RollbackManager.rollback(playerName) + " edits for " + playerName + ".");
|
||||||
|
playerMsg("If this rollback was a mistake, use /rollback undo " + playerName + " within 20 seconds to reverse the rollback.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (args.length == 2)
|
else if (args.length == 2)
|
||||||
{
|
{
|
||||||
if (args[0].equalsIgnoreCase("purge"))
|
if ("purge".equalsIgnoreCase(args[0]))
|
||||||
{
|
{
|
||||||
String playerName = getPlayerName(args[1]);
|
String playerName = getPlayerName(args[1]);
|
||||||
|
|
||||||
|
if (!TFM_RollbackManager.canRollback(playerName))
|
||||||
|
{
|
||||||
|
playerMsg("That player has no entries stored.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
playerMsg("Purged " + TFM_RollbackManager.purgeEntries(playerName) + " rollback history entries for " + playerName + ".");
|
playerMsg("Purged " + TFM_RollbackManager.purgeEntries(playerName) + " rollback history entries for " + playerName + ".");
|
||||||
}
|
}
|
||||||
|
else if ("undo".equalsIgnoreCase(args[0]))
|
||||||
|
{
|
||||||
|
String playerName = getPlayerName(args[1]);
|
||||||
|
|
||||||
|
if (!TFM_RollbackManager.canUndoRollback(playerName))
|
||||||
|
{
|
||||||
|
playerMsg("That player hasn't been rolled back recently.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
TFM_Util.adminAction(sender.getName(), "Reverting rollback for player: " + playerName, false);
|
||||||
|
playerMsg("Reverted " + TFM_RollbackManager.undoRollback(playerName) + " edits for " + playerName + ".");
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
@ -60,13 +93,13 @@ public class Command_rollback extends TFM_Command
|
|||||||
playerName = player.getName();
|
playerName = player.getName();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (CantFindPlayerException ex)
|
catch (PlayerNotFoundException ex)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
if (playerName == null)
|
if (playerName == null)
|
||||||
{
|
{
|
||||||
playerName = TFM_UserList.getInstance(plugin).searchByPartialName(playerNameInput);
|
playerName = TFM_PlayerList.getInstance().getEntry(playerNameInput).getLastJoinName();
|
||||||
}
|
}
|
||||||
|
|
||||||
return playerName;
|
return playerName;
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Superadmin;
|
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList;
|
import me.StevenLawson.TotalFreedomMod.TFM_Admin;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_TwitterHandler;
|
import me.StevenLawson.TotalFreedomMod.TFM_TwitterHandler;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
@ -18,186 +20,146 @@ public class Command_saconfig extends TFM_Command
|
|||||||
@Override
|
@Override
|
||||||
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
{
|
{
|
||||||
|
if (args.length == 0 || args.length > 2)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
if (args.length == 1)
|
if (args.length == 1)
|
||||||
{
|
{
|
||||||
if (args[0].equals("list"))
|
if (args[0].equals("list"))
|
||||||
{
|
{
|
||||||
playerMsg("Superadmins: " + StringUtils.join(TFM_SuperadminList.getSuperadminNames(), ", "), ChatColor.GOLD);
|
playerMsg("Superadmins: " + StringUtils.join(TFM_AdminList.getSuperadminNames(), ", "), ChatColor.GOLD);
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (!senderIsConsole)
|
|
||||||
{
|
|
||||||
playerMsg("This command may only be used from the console.");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (args[0].equals("clean"))
|
|
||||||
{
|
|
||||||
TFM_Util.adminAction(sender.getName(), "Cleaning superadmin list.", true);
|
|
||||||
TFM_SuperadminList.cleanSuperadminList(true);
|
|
||||||
playerMsg("Superadmins: " + StringUtils.join(TFM_SuperadminList.getSuperadminNames(), ", "), ChatColor.YELLOW);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
if (args[0].equals("clean"))
|
||||||
}
|
|
||||||
else if (args.length == 2)
|
|
||||||
{
|
|
||||||
if (args[0].equalsIgnoreCase("info"))
|
|
||||||
{
|
{
|
||||||
if (!TFM_SuperadminList.isUserSuperadmin(sender))
|
|
||||||
|
if (!TFM_AdminList.isSeniorAdmin(sender, true))
|
||||||
{
|
{
|
||||||
playerMsg(TotalFreedomMod.MSG_NO_PERMS);
|
playerMsg(TotalFreedomMod.MSG_NO_PERMS);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
TFM_Superadmin superadmin = TFM_SuperadminList.getAdminEntry(args[1].toLowerCase());
|
TFM_Util.adminAction(sender.getName(), "Cleaning superadmin list", true);
|
||||||
|
TFM_AdminList.cleanSuperadminList(true);
|
||||||
if (superadmin == null)
|
playerMsg("Superadmins: " + StringUtils.join(TFM_AdminList.getSuperadminUUIDs(), ", "), ChatColor.YELLOW);
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
superadmin = TFM_SuperadminList.getAdminEntry(getPlayer(args[1]).getName().toLowerCase());
|
|
||||||
}
|
|
||||||
catch (CantFindPlayerException ex)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (superadmin == null)
|
|
||||||
{
|
|
||||||
playerMsg("Superadmin not found: " + args[1]);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
playerMsg(ChatColor.stripColor(ChatColor.translateAlternateColorCodes('&', superadmin.toString())));
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!senderIsConsole)
|
|
||||||
{
|
|
||||||
playerMsg("This command may only be used from the console.");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (args[0].equalsIgnoreCase("add"))
|
|
||||||
{
|
|
||||||
Player p = null;
|
|
||||||
String admin_name = null;
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
p = getPlayer(args[1]);
|
|
||||||
}
|
|
||||||
catch (CantFindPlayerException ex)
|
|
||||||
{
|
|
||||||
TFM_Superadmin superadmin = TFM_SuperadminList.getAdminEntry(args[1].toLowerCase());
|
|
||||||
if (superadmin != null)
|
|
||||||
{
|
|
||||||
admin_name = superadmin.getName();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
playerMsg(ex.getMessage(), ChatColor.RED);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (p != null)
|
|
||||||
{
|
|
||||||
TFM_Util.adminAction(sender.getName(), "Adding " + p.getName() + " to the superadmin list.", true);
|
|
||||||
TFM_SuperadminList.addSuperadmin(p);
|
|
||||||
}
|
|
||||||
else if (admin_name != null)
|
|
||||||
{
|
|
||||||
TFM_Util.adminAction(sender.getName(), "Adding " + admin_name + " to the superadmin list.", true);
|
|
||||||
TFM_SuperadminList.addSuperadmin(admin_name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (args[0].equalsIgnoreCase("delete") || args[0].equalsIgnoreCase("del") || args[0].equalsIgnoreCase("remove"))
|
|
||||||
{
|
|
||||||
if (!TFM_SuperadminList.isSeniorAdmin(sender))
|
|
||||||
{
|
|
||||||
playerMsg(TotalFreedomMod.MSG_NO_PERMS);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
String target_name = args[1];
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
target_name = getPlayer(target_name).getName();
|
|
||||||
}
|
|
||||||
catch (CantFindPlayerException ex)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!TFM_SuperadminList.getSuperadminNames().contains(target_name.toLowerCase()))
|
|
||||||
{
|
|
||||||
playerMsg("Superadmin not found: " + target_name);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
TFM_Util.adminAction(sender.getName(), "Removing " + target_name + " from the superadmin list", true);
|
|
||||||
TFM_SuperadminList.removeSuperadmin(target_name);
|
|
||||||
|
|
||||||
if (!TotalFreedomMod.twitterbotEnabled)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Twitterbot
|
|
||||||
TFM_TwitterHandler twitterbot = TFM_TwitterHandler.getInstance(plugin);
|
|
||||||
String reply = twitterbot.delTwitter(target_name);
|
|
||||||
if ("ok".equals(reply))
|
|
||||||
{
|
|
||||||
TFM_Util.adminAction(sender.getName(), "Removing " + target_name + " from TwitterBot", true);
|
|
||||||
}
|
|
||||||
else if ("disabled".equals(reply))
|
|
||||||
{
|
|
||||||
TFM_Util.playerMsg(sender, "Warning: Could not check if player has a twitter handle!");
|
|
||||||
TFM_Util.playerMsg(sender, "TwitterBot has been temporarily disabled,, please wait until it get re-enabled", ChatColor.RED);
|
|
||||||
}
|
|
||||||
else if ("failed".equals(reply))
|
|
||||||
{
|
|
||||||
TFM_Util.playerMsg(sender, "Warning: Could not check if player has a twitter handle!");
|
|
||||||
TFM_Util.playerMsg(sender, "There was a problem querying the database, please let a developer know.", ChatColor.RED);
|
|
||||||
}
|
|
||||||
else if ("false".equals(reply))
|
|
||||||
{
|
|
||||||
TFM_Util.playerMsg(sender, "Warning: Could not check if player has a twitter handle!");
|
|
||||||
TFM_Util.playerMsg(sender, "There was a problem with the database, please let a developer know.", ChatColor.RED);
|
|
||||||
}
|
|
||||||
else if ("cannotauth".equals(reply))
|
|
||||||
{
|
|
||||||
TFM_Util.playerMsg(sender, "Warning: Could not check if player has a twitter handle!");
|
|
||||||
TFM_Util.playerMsg(sender, "The database password is incorrect, please let a developer know.", ChatColor.RED);
|
|
||||||
}
|
|
||||||
else if ("notfound".equals(reply))
|
|
||||||
{
|
|
||||||
TFM_Util.playerMsg(sender, target_name + " did not have a twitter handle registered to their name.", ChatColor.GREEN);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (args[0].equalsIgnoreCase("info"))
|
||||||
|
{
|
||||||
|
if (!TFM_AdminList.isSuperAdmin(sender))
|
||||||
|
{
|
||||||
|
playerMsg(TotalFreedomMod.MSG_NO_PERMS);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
TFM_Admin superadmin = TFM_AdminList.getEntry(args[1].toLowerCase());
|
||||||
|
|
||||||
|
if (superadmin == null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
superadmin = TFM_AdminList.getEntry(getPlayer(args[1]).getName().toLowerCase());
|
||||||
|
}
|
||||||
|
catch (PlayerNotFoundException ex)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (superadmin == null)
|
||||||
|
{
|
||||||
|
playerMsg("Superadmin not found: " + args[1]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
playerMsg(superadmin.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!senderIsConsole)
|
||||||
|
{
|
||||||
|
playerMsg("This command may only be used from the console.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args[0].equalsIgnoreCase("add"))
|
||||||
|
{
|
||||||
|
Player player = null;
|
||||||
|
String playername = null;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
player = getPlayer(args[1]);
|
||||||
|
}
|
||||||
|
catch (PlayerNotFoundException ex)
|
||||||
|
{
|
||||||
|
final TFM_Admin superadmin = TFM_AdminList.getEntry(args[1]);
|
||||||
|
if (superadmin != null)
|
||||||
|
{
|
||||||
|
playername = superadmin.getLastLoginName();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
playerMsg(ex.getMessage(), ChatColor.RED);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player != null)
|
||||||
|
{
|
||||||
|
TFM_Util.adminAction(sender.getName(), "Adding " + player.getName() + " to the superadmin list.", true);
|
||||||
|
TFM_AdminList.addSuperadmin(player);
|
||||||
|
}
|
||||||
|
else if (playername != null)
|
||||||
|
{
|
||||||
|
TFM_Util.adminAction(sender.getName(), "Adding " + playername + " to the superadmin list.", true);
|
||||||
|
TFM_AdminList.addSuperadmin(player);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (TFM_Util.isRemoveCommand(args[0]))
|
||||||
|
{
|
||||||
|
if (!TFM_AdminList.isSeniorAdmin(sender))
|
||||||
|
{
|
||||||
|
playerMsg(TotalFreedomMod.MSG_NO_PERMS);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
String targetName = args[1];
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
targetName = getPlayer(targetName).getName();
|
||||||
|
}
|
||||||
|
catch (PlayerNotFoundException ex)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!TFM_AdminList.getLowerSuperadminNames().contains(targetName.toLowerCase()))
|
||||||
|
{
|
||||||
|
playerMsg("Superadmin not found: " + targetName);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
TFM_Util.adminAction(sender.getName(), "Removing " + targetName + " from the superadmin list", true);
|
||||||
|
TFM_AdminList.removeSuperadmin(Bukkit.getOfflinePlayer(targetName));
|
||||||
|
|
||||||
|
// Twitterbot
|
||||||
|
if (TFM_ConfigEntry.TWITTERBOT_ENABLED.getBoolean())
|
||||||
|
{
|
||||||
|
TFM_TwitterHandler.getInstance().delTwitterVerbose(targetName, sender);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import net.minecraft.util.org.apache.commons.lang3.StringUtils;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
@ -27,9 +27,9 @@ public class Command_say extends TFM_Command
|
|||||||
{
|
{
|
||||||
TFM_Util.bcastMsg("Server is going offline.", ChatColor.GRAY);
|
TFM_Util.bcastMsg("Server is going offline.", ChatColor.GRAY);
|
||||||
|
|
||||||
for (Player p : server.getOnlinePlayers())
|
for (Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
p.kickPlayer("Server is going offline, come back in a few minutes.");
|
player.kickPlayer("Server is going offline, come back in about 20 seconds.");
|
||||||
}
|
}
|
||||||
|
|
||||||
server.shutdown();
|
server.shutdown();
|
||||||
|
@ -0,0 +1,28 @@
|
|||||||
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_ServiceChecker;
|
||||||
|
import me.StevenLawson.TotalFreedomMod.TFM_ServiceChecker.ServiceStatus;
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
@CommandPermissions(level = AdminLevel.ALL, source = SourceType.BOTH)
|
||||||
|
@CommandParameters(description = "Shows the status of all Mojang services", usage = "/<command>")
|
||||||
|
public class Command_services extends TFM_Command
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
|
{
|
||||||
|
playerMsg("Mojang Services" + ChatColor.WHITE + ":", ChatColor.BLUE);
|
||||||
|
|
||||||
|
for (ServiceStatus service : TFM_ServiceChecker.getInstance().getAllStatuses())
|
||||||
|
{
|
||||||
|
playerMsg(service.getFormattedStatus());
|
||||||
|
}
|
||||||
|
playerMsg("Version" + ChatColor.WHITE + ": " + TFM_ServiceChecker.getInstance().getVersion(), ChatColor.DARK_PURPLE);
|
||||||
|
playerMsg("Last Check" + ChatColor.WHITE + ": " + TFM_ServiceChecker.getInstance().getLastCheck(), ChatColor.DARK_PURPLE);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
@ -1,7 +1,7 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_WorldEditBridge;
|
import me.StevenLawson.TotalFreedomMod.Bridge.TFM_WorldEditBridge;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -15,9 +15,9 @@ public class Command_setl extends TFM_Command
|
|||||||
{
|
{
|
||||||
TFM_Util.adminAction(sender.getName(), "Setting everyone's Worldedit block modification limit to 500.", true);
|
TFM_Util.adminAction(sender.getName(), "Setting everyone's Worldedit block modification limit to 500.", true);
|
||||||
TFM_WorldEditBridge web = TFM_WorldEditBridge.getInstance();
|
TFM_WorldEditBridge web = TFM_WorldEditBridge.getInstance();
|
||||||
for (final Player p : server.getOnlinePlayers())
|
for (final Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
web.setLimit(p, 500);
|
web.setLimit(player, 500);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,76 @@
|
|||||||
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.block.Block;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
@CommandPermissions(level = AdminLevel.ALL, source = SourceType.BOTH)
|
||||||
|
@CommandParameters(description = "Set the on/off state of the lever at position x, y, z in world 'worldname'.", usage = "/<command> <x> <y> <z> <worldname> <on|off>")
|
||||||
|
public class Command_setlever extends TFM_Command
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||||
|
{
|
||||||
|
if (args.length != 5)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
double x, y, z;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
x = Double.parseDouble(args[0]);
|
||||||
|
y = Double.parseDouble(args[1]);
|
||||||
|
z = Double.parseDouble(args[2]);
|
||||||
|
}
|
||||||
|
catch (NumberFormatException ex)
|
||||||
|
{
|
||||||
|
playerMsg("Invalid coordinates.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
World world = null;
|
||||||
|
final String needleWorldName = args[3].trim();
|
||||||
|
final List<World> worlds = server.getWorlds();
|
||||||
|
for (final World testWorld : worlds)
|
||||||
|
{
|
||||||
|
if (testWorld.getName().trim().equalsIgnoreCase(needleWorldName))
|
||||||
|
{
|
||||||
|
world = testWorld;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (world == null)
|
||||||
|
{
|
||||||
|
playerMsg("Invalid world name.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
final Location leverLocation = new Location(world, x, y, z);
|
||||||
|
|
||||||
|
final boolean leverOn = (args[4].trim().equalsIgnoreCase("on") || args[4].trim().equalsIgnoreCase("1")) ? true : false;
|
||||||
|
|
||||||
|
final Block targetBlock = leverLocation.getBlock();
|
||||||
|
|
||||||
|
if (targetBlock.getType() == Material.LEVER)
|
||||||
|
{
|
||||||
|
org.bukkit.material.Lever lever = new org.bukkit.material.Lever(Material.LEVER, targetBlock.getData());
|
||||||
|
lever.setPowered(leverOn);
|
||||||
|
targetBlock.setData(lever.getData());
|
||||||
|
targetBlock.getState().update();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
playerMsg("Target block " + targetBlock + " is not a lever.");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
@ -1,8 +1,8 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
|
import me.StevenLawson.TotalFreedomMod.Config.TFM_ConfigEntry;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_ProtectedArea;
|
import me.StevenLawson.TotalFreedomMod.TFM_ProtectedArea;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
@ -20,9 +20,9 @@ public class Command_setspawnworld extends TFM_Command
|
|||||||
|
|
||||||
playerMsg("Spawn location for this world set to: " + TFM_Util.formatLocation(sender_p.getWorld().getSpawnLocation()));
|
playerMsg("Spawn location for this world set to: " + TFM_Util.formatLocation(sender_p.getWorld().getSpawnLocation()));
|
||||||
|
|
||||||
if (TotalFreedomMod.protectedAreasEnabled && TotalFreedomMod.autoProtectSpawnpoints)
|
if (TFM_ConfigEntry.PROTECTED_AREAS_ENABLED.getBoolean() && TFM_ConfigEntry.AUTO_PROTECT_SPAWNPOINTS.getBoolean())
|
||||||
{
|
{
|
||||||
TFM_ProtectedArea.addProtectedArea("spawn_" + sender_p.getWorld().getName(), pos, TotalFreedomMod.autoProtectRadius);
|
TFM_ProtectedArea.addProtectedArea("spawn_" + sender_p.getWorld().getName(), pos, TFM_ConfigEntry.AUTO_PROTECT_RADIUS.getDouble());
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -21,48 +21,48 @@ public class Command_smite extends TFM_Command
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
Player p;
|
Player player;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
p = getPlayer(args[0]);
|
player = getPlayer(args[0]);
|
||||||
}
|
}
|
||||||
catch (CantFindPlayerException ex)
|
catch (PlayerNotFoundException ex)
|
||||||
{
|
{
|
||||||
playerMsg(ex.getMessage(), ChatColor.RED);
|
playerMsg(ex.getMessage(), ChatColor.RED);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
smite(p);
|
smite(player);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void smite(final Player p)
|
public static void smite(final Player player)
|
||||||
{
|
{
|
||||||
TFM_Util.bcastMsg(p.getName() + " has been a naughty, naughty boy.", ChatColor.RED);
|
TFM_Util.bcastMsg(player.getName() + " has been a naughty, naughty boy.", ChatColor.RED);
|
||||||
|
|
||||||
//Deop
|
//Deop
|
||||||
p.setOp(false);
|
player.setOp(false);
|
||||||
|
|
||||||
//Set gamemode to survival:
|
//Set gamemode to survival:
|
||||||
p.setGameMode(GameMode.SURVIVAL);
|
player.setGameMode(GameMode.SURVIVAL);
|
||||||
|
|
||||||
//Clear inventory:
|
//Clear inventory:
|
||||||
p.getInventory().clear();
|
player.getInventory().clear();
|
||||||
|
|
||||||
//Strike with lightning effect:
|
//Strike with lightning effect:
|
||||||
final Location target_pos = p.getLocation();
|
final Location targetPos = player.getLocation();
|
||||||
final World world = p.getWorld();
|
final World world = player.getWorld();
|
||||||
for (int x = -1; x <= 1; x++)
|
for (int x = -1; x <= 1; x++)
|
||||||
{
|
{
|
||||||
for (int z = -1; z <= 1; z++)
|
for (int z = -1; z <= 1; z++)
|
||||||
{
|
{
|
||||||
final Location strike_pos = new Location(world, target_pos.getBlockX() + x, target_pos.getBlockY(), target_pos.getBlockZ() + z);
|
final Location strike_pos = new Location(world, targetPos.getBlockX() + x, targetPos.getBlockY(), targetPos.getBlockZ() + z);
|
||||||
world.strikeLightning(strike_pos);
|
world.strikeLightning(strike_pos);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Kill:
|
//Kill:
|
||||||
p.setHealth(0.0);
|
player.setHealth(0.0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,25 +1,12 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
|
||||||
import java.io.InputStreamReader;
|
|
||||||
import java.net.URL;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Map.Entry;
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Log;
|
|
||||||
import org.apache.commons.lang.StringUtils;
|
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
|
||||||
import org.json.simple.JSONArray;
|
|
||||||
import org.json.simple.JSONObject;
|
|
||||||
import org.json.simple.JSONValue;
|
|
||||||
|
|
||||||
@CommandPermissions(level = AdminLevel.ALL, source = SourceType.BOTH)
|
@CommandPermissions(level = AdminLevel.ALL, source = SourceType.BOTH)
|
||||||
@CommandParameters(description = "Show misc. server info.", usage = "/<command>")
|
@CommandParameters(description = "Show misc. server info.", usage = "/<command>")
|
||||||
@ -50,66 +37,6 @@ public class Command_status extends TFM_Command
|
|||||||
playerMsg(String.format("World %d: %s - %d players.", i++, world.getName(), world.getPlayers().size()), ChatColor.BLUE);
|
playerMsg(String.format("World %d: %s - %d players.", i++, world.getName(), world.getPlayers().size()), ChatColor.BLUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
new BukkitRunnable()
|
|
||||||
{
|
|
||||||
@SuppressWarnings("unchecked")
|
|
||||||
@Override
|
|
||||||
public void run()
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
URL mojang_status = new URL("http://status.mojang.com/check");
|
|
||||||
BufferedReader in = new BufferedReader(new InputStreamReader(mojang_status.openStream()));
|
|
||||||
JSONArray status_json = (JSONArray) JSONValue.parse(in.readLine());
|
|
||||||
in.close();
|
|
||||||
|
|
||||||
Map<String, Boolean> service_status = new HashMap<String, Boolean>();
|
|
||||||
|
|
||||||
Iterator status_it = status_json.iterator();
|
|
||||||
while (status_it.hasNext())
|
|
||||||
{
|
|
||||||
JSONObject service = (JSONObject) status_it.next();
|
|
||||||
Iterator service_it = service.entrySet().iterator();
|
|
||||||
while (service_it.hasNext())
|
|
||||||
{
|
|
||||||
Entry<String, String> pair = (Entry<String, String>) service_it.next();
|
|
||||||
service_status.put(pair.getKey(), (pair.getValue().equals("green") ? Boolean.TRUE : Boolean.FALSE));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
final List<String> status_output = new ArrayList<String>();
|
|
||||||
|
|
||||||
Iterator<Entry<String, Boolean>> output_it = service_status.entrySet().iterator();
|
|
||||||
while (output_it.hasNext())
|
|
||||||
{
|
|
||||||
Entry<String, Boolean> pair = output_it.next();
|
|
||||||
String service_name = pair.getKey();
|
|
||||||
boolean service_online = pair.getValue().booleanValue();
|
|
||||||
|
|
||||||
if (SERVICE_MAP.containsKey(service_name))
|
|
||||||
{
|
|
||||||
service_name = SERVICE_MAP.get(service_name);
|
|
||||||
}
|
|
||||||
|
|
||||||
status_output.add(String.format("%s is %s", service_name, (service_online ? ChatColor.GREEN + "ONLINE" + ChatColor.GRAY : ChatColor.RED + "OFFLINE" + ChatColor.GRAY)));
|
|
||||||
}
|
|
||||||
|
|
||||||
new BukkitRunnable()
|
|
||||||
{
|
|
||||||
@Override
|
|
||||||
public void run()
|
|
||||||
{
|
|
||||||
playerMsg(String.format("Mojang Service Status: %s.", StringUtils.join(status_output, ", ")), ChatColor.GRAY);
|
|
||||||
}
|
|
||||||
}.runTask(plugin);
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
TFM_Log.severe(ex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}.runTaskAsynchronously(plugin);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList;
|
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
@ -66,11 +66,11 @@ public class Command_stfu extends TFM_Command
|
|||||||
|
|
||||||
TFM_PlayerData playerdata;
|
TFM_PlayerData playerdata;
|
||||||
int counter = 0;
|
int counter = 0;
|
||||||
for (Player p : server.getOnlinePlayers())
|
for (Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
if (!TFM_SuperadminList.isUserSuperadmin(p))
|
if (!TFM_AdminList.isSuperAdmin(player))
|
||||||
{
|
{
|
||||||
playerdata = TFM_PlayerData.getPlayerData(p);
|
playerdata = TFM_PlayerData.getPlayerData(player);
|
||||||
playerdata.setMuted(true);
|
playerdata.setMuted(true);
|
||||||
counter++;
|
counter++;
|
||||||
}
|
}
|
||||||
@ -87,9 +87,9 @@ public class Command_stfu extends TFM_Command
|
|||||||
public void run()
|
public void run()
|
||||||
{
|
{
|
||||||
TFM_Util.adminAction("MuteTimer", "Unmuting all players", false);
|
TFM_Util.adminAction("MuteTimer", "Unmuting all players", false);
|
||||||
for (Player p : server.getOnlinePlayers())
|
for (Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
TFM_PlayerData.getPlayerData(p).setMuted(false);
|
TFM_PlayerData.getPlayerData(player).setMuted(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}.runTaskLater(plugin, 20L * 60L * 5L);
|
}.runTaskLater(plugin, 20L * 60L * 5L);
|
||||||
@ -98,35 +98,35 @@ public class Command_stfu extends TFM_Command
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Player p;
|
Player player;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
p = getPlayer(args[0]);
|
player = getPlayer(args[0]);
|
||||||
}
|
}
|
||||||
catch (CantFindPlayerException ex)
|
catch (PlayerNotFoundException ex)
|
||||||
{
|
{
|
||||||
sender.sendMessage(ex.getMessage());
|
sender.sendMessage(ex.getMessage());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(p);
|
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(player);
|
||||||
if (playerdata.isMuted())
|
if (playerdata.isMuted())
|
||||||
{
|
{
|
||||||
TFM_Util.adminAction(sender.getName(), "Unmuting " + p.getName(), true);
|
TFM_Util.adminAction(sender.getName(), "Unmuting " + player.getName(), true);
|
||||||
playerdata.setMuted(false);
|
playerdata.setMuted(false);
|
||||||
playerMsg("Unmuted " + p.getName());
|
playerMsg("Unmuted " + player.getName());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!TFM_SuperadminList.isUserSuperadmin(p))
|
if (!TFM_AdminList.isSuperAdmin(player))
|
||||||
{
|
{
|
||||||
TFM_Util.adminAction(sender.getName(), "Muting " + p.getName(), true);
|
TFM_Util.adminAction(sender.getName(), "Muting " + player.getName(), true);
|
||||||
playerdata.setMuted(true);
|
playerdata.setMuted(true);
|
||||||
playerMsg("Muted " + p.getName());
|
playerMsg("Muted " + player.getName());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
playerMsg(p.getName() + " is a superadmin, and can't be muted.");
|
playerMsg(player.getName() + " is a superadmin, and can't be muted.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,9 +15,9 @@ public class Command_stop extends TFM_Command
|
|||||||
{
|
{
|
||||||
TFM_Util.bcastMsg("Server is going offline!", ChatColor.LIGHT_PURPLE);
|
TFM_Util.bcastMsg("Server is going offline!", ChatColor.LIGHT_PURPLE);
|
||||||
|
|
||||||
for (Player p : server.getOnlinePlayers())
|
for (Player player : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
p.kickPlayer("Server is going offline, come back in about 20 seconds.");
|
player.kickPlayer("Server is going offline, come back in about 20 seconds.");
|
||||||
}
|
}
|
||||||
|
|
||||||
server.shutdown();
|
server.shutdown();
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
package me.StevenLawson.TotalFreedomMod.Commands;
|
package me.StevenLawson.TotalFreedomMod.Commands;
|
||||||
|
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList;
|
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
||||||
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
import me.StevenLawson.TotalFreedomMod.TFM_Util;
|
||||||
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
|
||||||
import org.bukkit.Bukkit;
|
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
@ -26,38 +25,38 @@ public class Command_survival extends TFM_Command
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Player p;
|
Player player;
|
||||||
|
|
||||||
if (args.length == 0)
|
if (args.length == 0)
|
||||||
{
|
{
|
||||||
p = sender_p;
|
player = sender_p;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (args[0].equalsIgnoreCase("-a"))
|
if (args[0].equalsIgnoreCase("-a"))
|
||||||
{
|
{
|
||||||
if (!TFM_SuperadminList.isUserSuperadmin(sender) || senderIsConsole)
|
if (!TFM_AdminList.isSuperAdmin(sender) || senderIsConsole)
|
||||||
{
|
{
|
||||||
sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS);
|
sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Player player : server.getOnlinePlayers())
|
for (Player targetPlayer : server.getOnlinePlayers())
|
||||||
{
|
{
|
||||||
player.setGameMode(GameMode.SURVIVAL);
|
targetPlayer.setGameMode(GameMode.SURVIVAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
TFM_Util.adminAction(sender.getName(), "Changing everyone's gamemode to survival", false);
|
TFM_Util.adminAction(sender.getName(), "Changing everyone's gamemode to survival", false);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (senderIsConsole || TFM_SuperadminList.isUserSuperadmin(sender))
|
if (senderIsConsole || TFM_AdminList.isSuperAdmin(sender))
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
p = getPlayer(args[0]);
|
player = getPlayer(args[0]);
|
||||||
}
|
}
|
||||||
catch (CantFindPlayerException ex)
|
catch (PlayerNotFoundException ex)
|
||||||
{
|
{
|
||||||
playerMsg(ex.getMessage(), ChatColor.RED);
|
playerMsg(ex.getMessage(), ChatColor.RED);
|
||||||
return true;
|
return true;
|
||||||
@ -70,9 +69,9 @@ public class Command_survival extends TFM_Command
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
playerMsg("Setting " + p.getName() + " to game mode 'Survival'.");
|
playerMsg("Setting " + player.getName() + " to game mode 'Survival'.");
|
||||||
p.sendMessage(sender.getName() + " set your game mode to 'Survival'.");
|
player.sendMessage(sender.getName() + " set your game mode to 'Survival'.");
|
||||||
p.setGameMode(GameMode.SURVIVAL);
|
player.setGameMode(GameMode.SURVIVAL);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user