UPDATE 0.1.1 ~ new classes and methods etc.
This commit is contained in:
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@@ -0,0 +1 @@
|
||||
* text=auto
|
||||
10
.gitignore
vendored
Normal file
10
.gitignore
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
## IDEA ##
|
||||
.idea/
|
||||
out/
|
||||
*.iml
|
||||
*.ipr
|
||||
*.iws
|
||||
*.ids
|
||||
|
||||
## MAVEN ##
|
||||
target/
|
||||
8
.idea/artifacts/PrisonAPI_jar.xml
generated
8
.idea/artifacts/PrisonAPI_jar.xml
generated
@@ -1,8 +0,0 @@
|
||||
<component name="ArtifactManager">
|
||||
<artifact type="jar" build-on-make="true" name="PrisonAPI:jar">
|
||||
<output-path>D:/Devel_Minecraft/spi_server_1.12/plugins</output-path>
|
||||
<root id="archive" name="PrisonAPI.jar">
|
||||
<element id="module-output" name="PrisonAPI" />
|
||||
</root>
|
||||
</artifact>
|
||||
</component>
|
||||
15
.idea/dataSources.local.xml
generated
15
.idea/dataSources.local.xml
generated
@@ -1,15 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="dataSourceStorageLocal">
|
||||
<data-source name="prison4life@localhost" uuid="4defc9a2-e1ce-4207-91c9-549baaa59221">
|
||||
<database-info product="MySQL" version="5.7.24-log" jdbc-version="4.0" driver-name="MySQL Connector Java" driver-version="mysql-connector-java-5.1.46 ( Revision: 9cc87a48e75c2d2e87c1a293b2862ce651cb256e )">
|
||||
<extra-name-characters>#@</extra-name-characters>
|
||||
<identifier-quote-string>`</identifier-quote-string>
|
||||
</database-info>
|
||||
<case-sensitivity plain-identifiers="lower" quoted-identifiers="lower" />
|
||||
<secret-storage>master_key</secret-storage>
|
||||
<user-name>root</user-name>
|
||||
<introspection-schemas>*:prison4life</introspection-schemas>
|
||||
</data-source>
|
||||
</component>
|
||||
</project>
|
||||
19
.idea/dataSources.xml
generated
19
.idea/dataSources.xml
generated
@@ -1,19 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
|
||||
<data-source source="LOCAL" name="prison4life@localhost" uuid="4defc9a2-e1ce-4207-91c9-549baaa59221">
|
||||
<driver-ref>mysql</driver-ref>
|
||||
<synchronize>true</synchronize>
|
||||
<jdbc-driver>com.mysql.jdbc.Driver</jdbc-driver>
|
||||
<jdbc-url>jdbc:mysql://localhost:3306/prison4life</jdbc-url>
|
||||
<driver-properties>
|
||||
<property name="autoReconnect" value="true" />
|
||||
<property name="zeroDateTimeBehavior" value="convertToNull" />
|
||||
<property name="tinyInt1isBit" value="false" />
|
||||
<property name="characterEncoding" value="utf8" />
|
||||
<property name="characterSetResults" value="utf8" />
|
||||
<property name="yearIsDateType" value="false" />
|
||||
</driver-properties>
|
||||
</data-source>
|
||||
</component>
|
||||
</project>
|
||||
1027
.idea/dataSources/4defc9a2-e1ce-4207-91c9-549baaa59221.xml
generated
1027
.idea/dataSources/4defc9a2-e1ce-4207-91c9-549baaa59221.xml
generated
File diff suppressed because it is too large
Load Diff
11
.idea/libraries/spigot_1_12.xml
generated
11
.idea/libraries/spigot_1_12.xml
generated
@@ -1,11 +0,0 @@
|
||||
<component name="libraryTable">
|
||||
<library name="spigot-1.12">
|
||||
<CLASSES>
|
||||
<root url="jar://D:/Devel_Minecraft/spi_server_1.12/spigot-1.12.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES>
|
||||
<root url="jar://D:/Devel_Minecraft/spi_server_1.12/spigot-1.12.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
</component>
|
||||
14
.idea/misc.xml
generated
14
.idea/misc.xml
generated
@@ -1,14 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||
<component name="MavenProjectsManager">
|
||||
<option name="originalFiles">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/pom.xml" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="false" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/vcs.xml
generated
6
.idea/vcs.xml
generated
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
852
.idea/workspace.xml
generated
852
.idea/workspace.xml
generated
@@ -1,852 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ArtifactsWorkspaceSettings">
|
||||
<artifacts-to-build>
|
||||
<artifact name="PrisonAPI:jar" />
|
||||
</artifacts-to-build>
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="5b30d845-a817-498e-8b4d-2a4df41a9b60" name="Default" comment="">
|
||||
<change afterPath="$PROJECT_DIR$/src/main/java/META-INF/MANIFEST.MF" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Policeman.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.gitignore" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/SETUP.md" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/pom.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/ru/prisonlife/PrisonAPI/PrisonAPI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/ru/prisonlife/api/PrisonAPI.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/ru/prisonlife/PrisonAPI/template/Faction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Faction.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/ru/prisonlife/PrisonAPI/template/Level.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Level.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/ru/prisonlife/PrisonAPI/template/Manager.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Manager.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/ru/prisonlife/PrisonAPI/template/Prisoner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Prisoner.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/ru/prisonlife/PrisonAPI/template/Score.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Score.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/ru/prisonlife/PrisonAPI/template/Stats.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Stats.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/java/ru/prisonlife/PrisonAPI/template/Wallet.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Wallet.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/main/resources/plugin.yml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/plugin.yml" afterDir="false" />
|
||||
</list>
|
||||
<ignored path="$PROJECT_DIR$/target/" />
|
||||
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||
<option name="TRACKING_ENABLED" value="true" />
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||
</component>
|
||||
<component name="DatabaseView">
|
||||
<option name="SHOW_INTERMEDIATE" value="true" />
|
||||
<option name="GROUP_DATA_SOURCES" value="true" />
|
||||
<option name="GROUP_SCHEMA" value="true" />
|
||||
<option name="GROUP_CONTENTS" value="false" />
|
||||
<option name="SORT_POSITIONED" value="false" />
|
||||
<option name="SHOW_EMPTY_GROUPS" value="false" />
|
||||
<option name="AUTO_SCROLL_FROM_SOURCE" value="false" />
|
||||
<option name="HIDDEN_KINDS">
|
||||
<set />
|
||||
</option>
|
||||
<expand>
|
||||
<path>
|
||||
<item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" />
|
||||
<item name="prison4life@localhost" type="feb32156:DbDataSourceImpl" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" />
|
||||
<item name="prison4life@localhost" type="feb32156:DbDataSourceImpl" />
|
||||
<item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" />
|
||||
<item name="prison4life@localhost" type="feb32156:DbDataSourceImpl" />
|
||||
<item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" />
|
||||
<item name="prison4life: schema" type="c314c289:MysqlImplModel$Schema" />
|
||||
</path>
|
||||
</expand>
|
||||
<select />
|
||||
</component>
|
||||
<component name="FileEditorManager">
|
||||
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
||||
<file leaf-file-name="Policeman.java" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Policeman.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="270">
|
||||
<caret line="60" column="54" selection-start-line="60" selection-start-column="54" selection-end-line="60" selection-end-column="54" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
<element signature="e#2351#2629#0" expanded="true" />
|
||||
<element signature="e#2628#2629#0" expanded="true" />
|
||||
<element signature="e#4512#4513#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="Prisoner.java" pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Prisoner.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="460">
|
||||
<caret line="202" column="148" selection-start-line="202" selection-start-column="148" selection-end-line="202" selection-end-column="148" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
<element signature="e#8118#8119#0" expanded="true" />
|
||||
<element signature="e#8148#8149#0" expanded="true" />
|
||||
<element signature="e#8181#8182#0" expanded="true" />
|
||||
<element signature="e#8210#8211#0" expanded="true" />
|
||||
<element signature="e#8241#8242#0" expanded="true" />
|
||||
<element signature="e#8269#8270#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="Manager.java" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Manager.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="115">
|
||||
<caret line="122" column="33" lean-forward="true" selection-start-line="122" selection-start-column="33" selection-end-line="122" selection-end-column="33" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="Faction.java" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Faction.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-35">
|
||||
<caret line="94" column="76" lean-forward="true" selection-start-line="94" selection-start-column="76" selection-end-line="94" selection-end-column="76" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="PrisonAPI.java" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/PrisonAPI.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="265">
|
||||
<caret line="21" column="40" selection-start-line="21" selection-start-column="40" selection-end-line="21" selection-end-column="40" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="Level.java" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Level.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="255">
|
||||
<caret line="21" selection-start-line="21" selection-end-line="21" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="Score.java" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Score.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="75">
|
||||
<caret line="9" selection-start-line="9" selection-end-line="9" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="players_in_cages" pinned="false" current-in-tab="false">
|
||||
<entry file="das://4defc9a2-e1ce-4207-91c9-549baaa59221/schema/prison4life/table/players_in_cages">
|
||||
<provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
|
||||
<state>
|
||||
<filtering enabled="true" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="daily_respect_task" pinned="false" current-in-tab="false">
|
||||
<entry file="das://4defc9a2-e1ce-4207-91c9-549baaa59221/schema/prison4life/table/daily_respect_task">
|
||||
<provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
|
||||
<state>
|
||||
<filtering enabled="true" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="player_stats" pinned="false" current-in-tab="false">
|
||||
<entry file="das://4defc9a2-e1ce-4207-91c9-549baaa59221/schema/prison4life/table/player_stats">
|
||||
<provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
|
||||
<state>
|
||||
<filtering enabled="true" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
</leaf>
|
||||
</component>
|
||||
<component name="FileTemplateManagerImpl">
|
||||
<option name="RECENT_TEMPLATES">
|
||||
<list>
|
||||
<option value="Class" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="Git.Settings">
|
||||
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||
</component>
|
||||
<component name="IdeDocumentHistory">
|
||||
<option name="CHANGED_PATHS">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/src/main/java/ru/prisonlife/PrisonAPI/connect/DataBasePrison4Life.java" />
|
||||
<option value="$PROJECT_DIR$/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/ru/prisonlife/PrisonAPI/template/Score.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/ru/prisonlife/PrisonAPI/template/Stats.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/ru/prisonlife/PrisonAPI/template/PrisonManager.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/ru/prisonlife/PrisonAPI/template/Faction.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/ru/prisonlife/PrisonAPI/PrisonAPI.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/ru/prisonlife/PrisonAPI/template/Wallet.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/ru/prisonlife/PrisonAPI/template/Level.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/ru/prisonlife/PrisonAPI/template/Manager.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/ru/prisonlife/PrisonAPI/template/Prisoner.java" />
|
||||
<option value="$PROJECT_DIR$/SETUP.md" />
|
||||
<option value="$PROJECT_DIR$/.gitignore" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/ru/prisonlife/PrisonAPI.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/resources/plugin.yml" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Level.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Policeman.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Manager.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Prisoner.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/ru/prisonlife/api/PrisonAPI.java" />
|
||||
<option value="$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Faction.java" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
|
||||
<component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
|
||||
<component name="JsGulpfileManager">
|
||||
<detection-done>true</detection-done>
|
||||
<sorting>DEFINITION_ORDER</sorting>
|
||||
</component>
|
||||
<component name="NodePackageJsonFileManager">
|
||||
<packageJsonPaths />
|
||||
</component>
|
||||
<component name="ProjectFrameBounds" extendedState="6">
|
||||
<option name="x" value="2552" />
|
||||
<option name="y" value="-8" />
|
||||
<option name="width" value="1936" />
|
||||
<option name="height" value="1096" />
|
||||
</component>
|
||||
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
||||
<component name="ProjectView">
|
||||
<navigator proportions="" version="1">
|
||||
<foldersAlwaysOnTop value="true" />
|
||||
</navigator>
|
||||
<panes>
|
||||
<pane id="ProjectPane">
|
||||
<subPane>
|
||||
<expand>
|
||||
<path>
|
||||
<item name="PrisonAPI" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="PrisonAPI" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="PrisonAPI" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="PrisonAPI" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="PrisonAPI" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="PrisonAPI" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="main" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="PrisonAPI" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="PrisonAPI" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="main" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="java" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="PrisonAPI" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="PrisonAPI" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="main" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="java" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="api" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="PrisonAPI" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="PrisonAPI" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="main" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="java" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="api" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="template" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="PrisonAPI" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="PrisonAPI" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="main" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="resources" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
</expand>
|
||||
<select />
|
||||
</subPane>
|
||||
</pane>
|
||||
<pane id="AndroidView" />
|
||||
<pane id="Scope" />
|
||||
<pane id="PackagesPane" />
|
||||
</panes>
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||
<property name="aspect.path.notification.shown" value="true" />
|
||||
<property name="com.intellij.database.dataSource.DataSourceTemplate" value="MySQL DDL Data Source" />
|
||||
<property name="database.console.LAST_STATE" value="false" />
|
||||
<property name="last_opened_file_path" value="D:/Devel_Minecraft/spi_server_1.12/spigot-1.12.jar!/" />
|
||||
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
|
||||
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
|
||||
<property name="project.structure.last.edited" value="Artifacts" />
|
||||
<property name="project.structure.proportion" value="0.15283613" />
|
||||
<property name="project.structure.side.proportion" value="0.2" />
|
||||
<property name="settings.editor.selected.configurable" value="reference.settingsdialog.IDE.editor.colors.Console Font" />
|
||||
</component>
|
||||
<component name="RecentsManager">
|
||||
<key name="MoveFile.RECENT_KEYS">
|
||||
<recent name="D:\Git Clones\PrisonAPI" />
|
||||
</key>
|
||||
<key name="CopyClassDialog.RECENTS_KEY">
|
||||
<recent name="ru.prisonlife.PrisonAPI" />
|
||||
<recent name="ru.prisonlife.PrisonAPI.connect" />
|
||||
</key>
|
||||
<key name="CopyFile.RECENT_KEYS">
|
||||
<recent name="D:\Git Clones\PrisonAPI\src\main\java\ru\prisonlife\PrisonAPI\template" />
|
||||
</key>
|
||||
</component>
|
||||
<component name="RunDashboard">
|
||||
<option name="ruleStates">
|
||||
<list>
|
||||
<RuleState>
|
||||
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
|
||||
</RuleState>
|
||||
<RuleState>
|
||||
<option name="name" value="StatusDashboardGroupingRule" />
|
||||
</RuleState>
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="RunManager">
|
||||
<configuration default="true" type="Application" factoryName="Application">
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||
</configuration>
|
||||
<configuration default="true" type="JUnit" factoryName="JUnit">
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" />
|
||||
<option name="PACKAGE_NAME" />
|
||||
<option name="MAIN_CLASS_NAME" />
|
||||
<option name="METHOD_NAME" />
|
||||
<option name="TEST_OBJECT" value="class" />
|
||||
<option name="VM_PARAMETERS" value="-ea" />
|
||||
<option name="PARAMETERS" />
|
||||
<option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
<option name="TEST_SEARCH_SCOPE">
|
||||
<value defaultName="singleModule" />
|
||||
</option>
|
||||
<patterns />
|
||||
</configuration>
|
||||
<configuration default="true" type="JarApplication" factoryName="JAR Application">
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" value="C:\Program Files\Java\jdk1.8.0_171\jre" />
|
||||
</configuration>
|
||||
<configuration default="true" type="TestNG" factoryName="TestNG">
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" />
|
||||
<option name="SUITE_NAME" />
|
||||
<option name="PACKAGE_NAME" />
|
||||
<option name="MAIN_CLASS_NAME" />
|
||||
<option name="METHOD_NAME" />
|
||||
<option name="GROUP_NAME" />
|
||||
<option name="TEST_OBJECT" value="CLASS" />
|
||||
<option name="VM_PARAMETERS" value="-ea" />
|
||||
<option name="PARAMETERS" />
|
||||
<option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
|
||||
<option name="OUTPUT_DIRECTORY" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
<option name="TEST_SEARCH_SCOPE">
|
||||
<value defaultName="singleModule" />
|
||||
</option>
|
||||
<option name="USE_DEFAULT_REPORTERS" value="false" />
|
||||
<option name="PROPERTIES_FILE" />
|
||||
<properties />
|
||||
<listeners />
|
||||
</configuration>
|
||||
</component>
|
||||
<component name="SvnConfiguration">
|
||||
<configuration />
|
||||
</component>
|
||||
<component name="TaskManager">
|
||||
<task active="true" id="Default" summary="Default task">
|
||||
<changelist id="5b30d845-a817-498e-8b4d-2a4df41a9b60" name="Default" comment="" />
|
||||
<created>1548877621012</created>
|
||||
<option name="number" value="Default" />
|
||||
<option name="presentableId" value="Default" />
|
||||
<updated>1548877621012</updated>
|
||||
<workItem from="1548877625927" duration="18265000" />
|
||||
<workItem from="1548899818883" duration="477000" />
|
||||
<workItem from="1548998186396" duration="7784000" />
|
||||
<workItem from="1549034758627" duration="16188000" />
|
||||
<workItem from="1549109188101" duration="14390000" />
|
||||
<workItem from="1549218097000" duration="5621000" />
|
||||
<workItem from="1549363482679" duration="9757000" />
|
||||
<workItem from="1549465369826" duration="6000" />
|
||||
<workItem from="1549466026088" duration="604000" />
|
||||
<workItem from="1549645588294" duration="2971000" />
|
||||
<workItem from="1549722847483" duration="6549000" />
|
||||
<workItem from="1549806878393" duration="1706000" />
|
||||
<workItem from="1550105065590" duration="6000" />
|
||||
<workItem from="1550107136105" duration="5972000" />
|
||||
<workItem from="1550121359949" duration="682000" />
|
||||
<workItem from="1550194944052" duration="2739000" />
|
||||
<workItem from="1550314518402" duration="14586000" />
|
||||
<workItem from="1550388835390" duration="10428000" />
|
||||
<workItem from="1550499792736" duration="5717000" />
|
||||
<workItem from="1550550937192" duration="3310000" />
|
||||
<workItem from="1550591974492" duration="11585000" />
|
||||
<workItem from="1550689007980" duration="1167000" />
|
||||
<workItem from="1550760837075" duration="7581000" />
|
||||
<workItem from="1550773505971" duration="6352000" />
|
||||
<workItem from="1550821566765" duration="1055000" />
|
||||
<workItem from="1550923683629" duration="9371000" />
|
||||
<workItem from="1550939534358" duration="6928000" />
|
||||
<workItem from="1551003100435" duration="12833000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TimeTrackingManager">
|
||||
<option name="totallyTimeSpent" value="184630000" />
|
||||
</component>
|
||||
<component name="TodoView">
|
||||
<todo-panel id="selected-file">
|
||||
<is-autoscroll-to-source value="true" />
|
||||
</todo-panel>
|
||||
<todo-panel id="all">
|
||||
<are-packages-shown value="true" />
|
||||
<is-autoscroll-to-source value="true" />
|
||||
</todo-panel>
|
||||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<frame x="2552" y="-8" width="1936" height="1096" extended-state="6" />
|
||||
<editor active="true" />
|
||||
<layout>
|
||||
<window_info anchor="right" id="Palette" order="5" />
|
||||
<window_info anchor="bottom" id="TODO" order="12" weight="0.32985386" />
|
||||
<window_info anchor="bottom" id="Messages" order="5" weight="0.32985386" />
|
||||
<window_info anchor="right" id="Palette	" order="1" />
|
||||
<window_info id="Image Layers" order="5" />
|
||||
<window_info anchor="right" id="Capture Analysis" order="0" />
|
||||
<window_info anchor="bottom" id="Event Log" order="2" side_tool="true" weight="0.32985386" />
|
||||
<window_info anchor="right" id="Maven Projects" order="4" />
|
||||
<window_info anchor="bottom" id="Database Changes" order="1" show_stripe_button="false" />
|
||||
<window_info anchor="bottom" id="Run" order="8" />
|
||||
<window_info anchor="bottom" id="Version Control" order="4" weight="0.32985386" />
|
||||
<window_info anchor="bottom" id="Terminal" order="3" weight="0.24321502" />
|
||||
<window_info id="Capture Tool" order="1" />
|
||||
<window_info anchor="bottom" id="Database Console" order="0" weight="0.32985386" />
|
||||
<window_info id="Designer" order="0" />
|
||||
<window_info active="true" content_ui="combo" id="Project" order="4" visible="true" weight="0.16257995" />
|
||||
<window_info anchor="right" id="Database" order="3" visible="true" weight="0.1652452" />
|
||||
<window_info id="Structure" order="6" side_tool="true" weight="0.25" />
|
||||
<window_info anchor="right" id="Ant Build" order="7" weight="0.25" />
|
||||
<window_info id="UI Designer" order="2" />
|
||||
<window_info anchor="right" id="Theme Preview" order="2" />
|
||||
<window_info anchor="bottom" id="Debug" order="9" weight="0.4" />
|
||||
<window_info id="Favorites" order="3" side_tool="true" />
|
||||
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="8" weight="0.25" />
|
||||
<window_info anchor="bottom" id="Inspection" order="11" weight="0.4" />
|
||||
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="6" type="SLIDING" weight="0.4" />
|
||||
<window_info anchor="bottom" id="Message" order="6" />
|
||||
<window_info anchor="bottom" id="Cvs" order="10" weight="0.25" />
|
||||
<window_info anchor="bottom" id="Find" order="7" weight="0.32985386" />
|
||||
</layout>
|
||||
</component>
|
||||
<component name="TypeScriptGeneratedFilesManager">
|
||||
<option name="version" value="1" />
|
||||
</component>
|
||||
<component name="VcsContentAnnotationSettings">
|
||||
<option name="myLimit" value="2678400000" />
|
||||
</component>
|
||||
<component name="antWorkspaceConfiguration">
|
||||
<option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
|
||||
<option name="FILTER_TARGETS" value="false" />
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/pom.xml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="60">
|
||||
<caret line="4" column="38" lean-forward="true" selection-start-line="4" selection-start-column="38" selection-end-line="4" selection-end-column="38" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Prisoner.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="45">
|
||||
<caret line="8" lean-forward="true" selection-start-line="8" selection-end-line="8" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Wallet.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="255">
|
||||
<caret line="21" column="21" selection-start-line="21" selection-start-column="21" selection-end-line="21" selection-end-column="21" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Level.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="660">
|
||||
<caret line="48" column="4" selection-start-line="48" selection-start-column="4" selection-end-line="57" selection-end-column="5" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Score.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="435">
|
||||
<caret line="33" column="46" selection-start-line="33" selection-start-column="46" selection-end-line="33" selection-end-column="46" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Stats.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="105">
|
||||
<caret line="11" column="24" selection-start-line="11" selection-start-column="24" selection-end-line="11" selection-end-column="24" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="das://1e5de0b7-db13-4bee-b34f-7794c33b5430/schema/prison4life/table/player_stats" />
|
||||
<entry file="file://$PROJECT_DIR$/src/main/resources/plugin.yml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="45">
|
||||
<caret line="3" column="37" lean-forward="true" selection-start-line="3" selection-start-column="37" selection-end-line="3" selection-end-column="37" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Faction.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="405">
|
||||
<caret line="33" column="5" lean-forward="true" selection-start-line="33" selection-start-column="5" selection-end-line="33" selection-end-column="5" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/pom.xml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="255">
|
||||
<caret line="17" column="20" selection-start-line="17" selection-start-column="20" selection-end-line="17" selection-end-column="20" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Prisoner.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="135">
|
||||
<caret line="14" column="28" selection-start-line="14" selection-start-column="28" selection-end-line="14" selection-end-column="28" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Wallet.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="45">
|
||||
<caret line="3" selection-start-line="3" selection-end-line="3" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Level.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="375">
|
||||
<caret line="29" column="9" selection-start-line="29" selection-start-column="9" selection-end-line="29" selection-end-column="9" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Score.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="45">
|
||||
<caret line="3" selection-start-line="3" selection-end-line="3" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/PrisonAPI.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="75">
|
||||
<caret line="5" selection-start-line="5" selection-end-line="5" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="das://4555cb3d-5297-48d8-a8a0-789511663af4/schema/prison/table/player_stats" />
|
||||
<entry file="file://$PROJECT_DIR$/src/main/resources/plugin.yml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="15">
|
||||
<caret line="1" column="14" selection-start-line="1" selection-start-column="14" selection-end-line="1" selection-end-column="14" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/pom.xml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="255">
|
||||
<caret line="17" column="20" lean-forward="true" selection-start-line="17" selection-start-column="20" selection-end-line="17" selection-end-column="20" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Prisoner.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="150">
|
||||
<caret line="15" column="28" lean-forward="true" selection-start-line="15" selection-start-column="28" selection-end-line="15" selection-end-column="28" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Wallet.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="45">
|
||||
<caret line="3" selection-start-line="3" selection-end-line="3" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Level.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="375">
|
||||
<caret line="29" column="9" lean-forward="true" selection-start-line="29" selection-start-column="9" selection-end-line="29" selection-end-column="9" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Score.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="45">
|
||||
<caret line="3" selection-start-line="3" selection-end-line="3" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/PrisonAPI.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="135">
|
||||
<caret line="13" column="12" lean-forward="true" selection-start-line="13" selection-start-column="12" selection-end-line="13" selection-end-column="12" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="das://4555cb3d-5297-48d8-a8a0-789511663af4/schema/prison/table/player_stats" />
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Stats.java" />
|
||||
<entry file="file://$APPLICATION_CONFIG_DIR$/consoles/db/034d1317-eab7-4582-92eb-1f1da11e8989/console.sql">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$APPLICATION_CONFIG_DIR$/consoles/db/4555cb3d-5297-48d8-a8a0-789511663af4/console.sql">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="das://034d1317-eab7-4582-92eb-1f1da11e8989/schema/prison4life/table/player_stats" />
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/PrisonAPI/connect/DataBasePrison4Life.java" />
|
||||
<entry file="file://$APPLICATION_CONFIG_DIR$/consoles/db/1e5de0b7-db13-4bee-b34f-7794c33b5430/console.sql">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="das://4555cb3d-5297-48d8-a8a0-789511663af4/schema/prison/table/player_stats" />
|
||||
<entry file="das://1e5de0b7-db13-4bee-b34f-7794c33b5430/schema/prison4life/table/daily_respect_task" />
|
||||
<entry file="das://1e5de0b7-db13-4bee-b34f-7794c33b5430/schema/prison4life/table/player_stats" />
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Wallet.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="180">
|
||||
<caret line="18" column="32" lean-forward="true" selection-start-line="18" selection-start-column="32" selection-end-line="18" selection-end-column="32" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Stats.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="630">
|
||||
<caret line="48" column="38" selection-start-line="48" selection-start-column="38" selection-end-line="48" selection-end-column="38" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/README.md" />
|
||||
<entry file="file://$PROJECT_DIR$/SETUP.md" />
|
||||
<entry file="file://$PROJECT_DIR$/.gitignore" />
|
||||
<entry file="file://$PROJECT_DIR$/src/main/resources/plugin.yml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="45">
|
||||
<caret line="3" column="33" selection-start-line="3" selection-start-column="33" selection-end-line="3" selection-end-column="33" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$APPLICATION_CONFIG_DIR$/consoles/db/4defc9a2-e1ce-4207-91c9-549baaa59221/console.sql">
|
||||
<provider selected="true" editor-type-id="text-editor" />
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/pom.xml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="75">
|
||||
<caret line="5" lean-forward="true" selection-start-line="5" selection-end-line="5" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Score.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="75">
|
||||
<caret line="9" selection-start-line="9" selection-end-line="9" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Policeman.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="270">
|
||||
<caret line="60" column="54" selection-start-line="60" selection-start-column="54" selection-end-line="60" selection-end-column="54" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
<element signature="e#2351#2629#0" expanded="true" />
|
||||
<element signature="e#2628#2629#0" expanded="true" />
|
||||
<element signature="e#4512#4513#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Level.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="255">
|
||||
<caret line="21" selection-start-line="21" selection-end-line="21" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Manager.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="115">
|
||||
<caret line="122" column="33" lean-forward="true" selection-start-line="122" selection-start-column="33" selection-end-line="122" selection-end-column="33" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="das://4defc9a2-e1ce-4207-91c9-549baaa59221/schema/prison4life/table/daily_respect_task">
|
||||
<provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
|
||||
<state>
|
||||
<filtering enabled="true" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="das://4defc9a2-e1ce-4207-91c9-549baaa59221/schema/prison4life/table/players_in_cages">
|
||||
<provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
|
||||
<state>
|
||||
<filtering enabled="true" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="das://4defc9a2-e1ce-4207-91c9-549baaa59221/schema/prison4life/table/player_stats">
|
||||
<provider selected="true" editor-type-id="com.intellij.database.editor.DatabaseTableFileEditorProvider">
|
||||
<state>
|
||||
<filtering enabled="true" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/PrisonAPI.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="265">
|
||||
<caret line="21" column="40" selection-start-line="21" selection-start-column="40" selection-end-line="21" selection-end-column="40" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Faction.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-35">
|
||||
<caret line="94" column="76" lean-forward="true" selection-start-line="94" selection-start-column="76" selection-end-line="94" selection-end-column="76" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/main/java/ru/prisonlife/api/template/Prisoner.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="460">
|
||||
<caret line="202" column="148" selection-start-line="202" selection-start-column="148" selection-end-line="202" selection-end-column="148" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
<element signature="e#8118#8119#0" expanded="true" />
|
||||
<element signature="e#8148#8149#0" expanded="true" />
|
||||
<element signature="e#8181#8182#0" expanded="true" />
|
||||
<element signature="e#8210#8211#0" expanded="true" />
|
||||
<element signature="e#8241#8242#0" expanded="true" />
|
||||
<element signature="e#8269#8270#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</component>
|
||||
<component name="masterDetails">
|
||||
<states>
|
||||
<state key="ArtifactsStructureConfigurable.UI">
|
||||
<settings>
|
||||
<artifact-editor />
|
||||
<last-edited>PrisonAPI:jar</last-edited>
|
||||
<splitter-proportions>
|
||||
<option name="proportions">
|
||||
<list>
|
||||
<option value="0.2" />
|
||||
<option value="0.5" />
|
||||
</list>
|
||||
</option>
|
||||
</splitter-proportions>
|
||||
</settings>
|
||||
</state>
|
||||
<state key="FacetStructureConfigurable.UI">
|
||||
<settings>
|
||||
<last-edited>No facets are configured</last-edited>
|
||||
<splitter-proportions>
|
||||
<option name="proportions">
|
||||
<list>
|
||||
<option value="0.2" />
|
||||
</list>
|
||||
</option>
|
||||
</splitter-proportions>
|
||||
</settings>
|
||||
</state>
|
||||
<state key="GlobalLibrariesConfigurable.UI">
|
||||
<settings>
|
||||
<splitter-proportions>
|
||||
<option name="proportions">
|
||||
<list>
|
||||
<option value="0.2" />
|
||||
</list>
|
||||
</option>
|
||||
</splitter-proportions>
|
||||
</settings>
|
||||
</state>
|
||||
<state key="JdkListConfigurable.UI">
|
||||
<settings>
|
||||
<last-edited>1.8</last-edited>
|
||||
<splitter-proportions>
|
||||
<option name="proportions">
|
||||
<list>
|
||||
<option value="0.2" />
|
||||
</list>
|
||||
</option>
|
||||
</splitter-proportions>
|
||||
</settings>
|
||||
</state>
|
||||
<state key="ModuleStructureConfigurable.UI">
|
||||
<settings>
|
||||
<last-edited>PrisonAPI</last-edited>
|
||||
<splitter-proportions>
|
||||
<option name="proportions">
|
||||
<list>
|
||||
<option value="0.2" />
|
||||
</list>
|
||||
</option>
|
||||
</splitter-proportions>
|
||||
</settings>
|
||||
</state>
|
||||
<state key="ProjectLibrariesConfigurable.UI">
|
||||
<settings>
|
||||
<last-edited>spigot-1.12</last-edited>
|
||||
<splitter-proportions>
|
||||
<option name="proportions">
|
||||
<list>
|
||||
<option value="0.2" />
|
||||
</list>
|
||||
</option>
|
||||
</splitter-proportions>
|
||||
</settings>
|
||||
</state>
|
||||
</states>
|
||||
</component>
|
||||
</project>
|
||||
2
pom.xml
2
pom.xml
@@ -6,7 +6,7 @@
|
||||
|
||||
<groupId>ru.prisonlife</groupId>
|
||||
<artifactId>prison-api</artifactId>
|
||||
<version>0.1.0.4</version>
|
||||
<version>0.1.1</version>
|
||||
|
||||
<properties>
|
||||
<java.encoding>UTF-8</java.encoding>
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
Manifest-Version: 1.0
|
||||
Main-Class: ru.prisonlife.api.PrisonAPI
|
||||
|
||||
28
src/main/java/ru/prisonlife/api/Configurations.java
Normal file
28
src/main/java/ru/prisonlife/api/Configurations.java
Normal file
@@ -0,0 +1,28 @@
|
||||
package ru.prisonlife.api;
|
||||
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
public enum Configurations {
|
||||
FACTIONS("plugins/PrisonFactions/"), MANAGER("plugins/PrisonManager/"),
|
||||
CAGES("plugins/PrisonCages/"), SUSPECT("plugins/PrisonSuspect/"),
|
||||
ECONOMY("plugins/PrisonEconomy/"), RESPECT("plugins/PrisonRespect/");
|
||||
|
||||
private File file;
|
||||
private FileConfiguration fileConfiguration;
|
||||
|
||||
Configurations(String path) {
|
||||
file = new File(path);
|
||||
fileConfiguration = YamlConfiguration.loadConfiguration(new File(file.getPath(), "parameters.yml"));
|
||||
}
|
||||
|
||||
public FileConfiguration execute() {
|
||||
return fileConfiguration;
|
||||
}
|
||||
|
||||
public File root() {
|
||||
return file;
|
||||
}
|
||||
}
|
||||
@@ -1,25 +1,37 @@
|
||||
package ru.prisonlife.api;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import ru.prisonlife.api.storage.InfoOfWanted;
|
||||
import ru.prisonlife.api.storage.RegistrationPrisonerForCage;
|
||||
import ru.prisonlife.api.storage.trades.TradeFormat;
|
||||
import ru.prisonlife.api.storage.trades.TradeType;
|
||||
import ru.prisonlife.api.template.BoardCage;
|
||||
import ru.prisonlife.api.template.Manager;
|
||||
import ru.prisonlife.api.template.Policeman;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.SQLException;
|
||||
import java.io.File;
|
||||
import java.sql.*;
|
||||
import java.util.*;
|
||||
|
||||
public class PrisonAPI extends JavaPlugin {
|
||||
|
||||
public static final String PLUGIN_PATH = "plugins/PrisonManager";
|
||||
public static final String PLUGIN_MANAGER_PATH = "plugins/PrisonManager";
|
||||
public static Map<String, List<List<Integer>>> CACHE_TERR_EDITOR = new HashMap<>();
|
||||
public static Map<String, RegistrationPrisonerForCage> ARRESTED = new HashMap<>();
|
||||
public static Map<TradeType, Map<String, TradeFormat>> TRADES = new HashMap<>();
|
||||
public static Map<String, BoardCage> SIGN_FOR_CAGES = new HashMap<>();
|
||||
|
||||
public static final Plugin plugin = Bukkit.getPluginManager().getPlugin("PrisonAPI");
|
||||
public static Connection CONN;
|
||||
|
||||
public enum Factions {
|
||||
NONE(0), ASIANS(1), LATINOS(2), NIGGAZ(3), POLICE(4);
|
||||
|
||||
public static Factions valueOf(int id) {
|
||||
for (Factions factions : Factions.values()) {
|
||||
if (factions.id == id) {
|
||||
for(Factions factions : Factions.values()) {
|
||||
if(factions.id == id) {
|
||||
return factions;
|
||||
}
|
||||
}
|
||||
@@ -38,9 +50,9 @@ public class PrisonAPI extends JavaPlugin {
|
||||
}
|
||||
}
|
||||
|
||||
public static Connection CONN;
|
||||
|
||||
public void onEnable() {
|
||||
for(TradeType type : TradeType.values())
|
||||
PrisonAPI.TRADES.put(type, new HashMap<>());
|
||||
try {
|
||||
CONN = DriverManager.getConnection(
|
||||
"jdbc:mysql://localhost:3306/prison4life",
|
||||
@@ -48,15 +60,51 @@ public class PrisonAPI extends JavaPlugin {
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
getServer().getPluginManager().registerEvents(new Policeman(null), this);
|
||||
}
|
||||
|
||||
public void onDisable() {
|
||||
try {
|
||||
if (!CONN.isClosed()) {
|
||||
if(!CONN.isClosed()) {
|
||||
CONN.close();
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static Manager getRandomPrison() {
|
||||
File[] prisons = Configurations.MANAGER.root().listFiles();
|
||||
assert prisons != null; String _this = prisons[new Random().nextInt(prisons.length)].getName();
|
||||
return new Manager(_this.replace("PRISON_", "").replace(".yml", ""));
|
||||
}
|
||||
|
||||
public static List<InfoOfWanted> getSulist() {
|
||||
try(PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT UUID, SUSPECT FROM player_stats WHERE SUSPECT > ?")) {
|
||||
statement.setInt(1, 0);
|
||||
List<InfoOfWanted> iow = new ArrayList<>();
|
||||
try(ResultSet resultSet = statement.executeQuery()) {
|
||||
while(resultSet.next()) {
|
||||
UUID uuid = UUID.fromString(resultSet.getString(1));
|
||||
int su = resultSet.getInt(2);
|
||||
iow.add(new InfoOfWanted(uuid, su));
|
||||
}
|
||||
if(iow.size() != 0)
|
||||
return iow;
|
||||
else
|
||||
return null;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static TradeFormat getTradedCageByRole(Player player) {
|
||||
for(TradeType i : TRADES.keySet())
|
||||
for(String j : TRADES.get(i).keySet())
|
||||
if(TRADES.get(i).get(j).trader.equals(player) || TRADES.get(i).get(j).member.equals(player))
|
||||
return TRADES.get(i).get(j);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
15
src/main/java/ru/prisonlife/api/storage/InfoOfWanted.java
Normal file
15
src/main/java/ru/prisonlife/api/storage/InfoOfWanted.java
Normal file
@@ -0,0 +1,15 @@
|
||||
package ru.prisonlife.api.storage;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class InfoOfWanted {
|
||||
public String name;
|
||||
public int suspect;
|
||||
|
||||
public InfoOfWanted(UUID uuid, int suspect) {
|
||||
name = Bukkit.getOfflinePlayer(uuid).getName();
|
||||
this.suspect = suspect;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package ru.prisonlife.api.storage;
|
||||
|
||||
public class RegistrationPrisonerForCage {
|
||||
public String prison, cage;
|
||||
public int time, blocks;
|
||||
|
||||
public RegistrationPrisonerForCage(String prison, String cage, int time, int blocks) {
|
||||
this.prison = prison;
|
||||
this.cage = cage;
|
||||
this.time = time;
|
||||
this.blocks = blocks;
|
||||
}
|
||||
|
||||
public void toFinish() {
|
||||
time = 0;
|
||||
blocks = 0;
|
||||
}
|
||||
|
||||
public boolean isReady() {
|
||||
return time <= 0 && blocks <= 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
package ru.prisonlife.api.storage.trades;
|
||||
|
||||
import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
|
||||
import com.sk89q.worldguard.protection.regions.ProtectedRegion;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
import ru.prisonlife.api.Configurations;
|
||||
import ru.prisonlife.api.PrisonAPI;
|
||||
import ru.prisonlife.api.template.Cage;
|
||||
|
||||
public class InviteInCage extends TradeFormat {
|
||||
|
||||
private ProtectedRegion region;
|
||||
|
||||
public InviteInCage(Cage cage, Player trader, Player member, int time) {
|
||||
super(cage, trader, member, time);
|
||||
region = WorldGuardPlugin.inst().getRegionManager(cage.getWorld()).getRegion(cage.name);
|
||||
tradeType = TradeType.CAGE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void start() {
|
||||
PrisonAPI.TRADES.get(TradeType.CAGE).put(cage.name, this);
|
||||
trade.runTaskTimer(Bukkit.getPluginManager().getPlugin("PrisonCages"), 20, 20);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void accept() {
|
||||
trade.cancel();
|
||||
region.getMembers().addPlayer(member.getUniqueId());
|
||||
cage.addGuest(member.getUniqueId().toString());
|
||||
trader.sendMessage(ChatColor.translateAlternateColorCodes('&',
|
||||
__convert__(Configurations.CAGES.execute().getString("MESSAGES.INVITE.OWNER.END"))));
|
||||
member.sendMessage(ChatColor.translateAlternateColorCodes('&',
|
||||
__convert__(Configurations.CAGES.execute().getString("MESSAGES.INVITE.TARGET.END"))));
|
||||
PrisonAPI.TRADES.get(TradeType.CAGE).remove(cage.name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void exception(Player player) {
|
||||
if(player != null) {
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&',
|
||||
Configurations.CAGES.execute().getString("MESSAGES.INVITE.EXCEPTION")));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deny(Player player) {
|
||||
trade.cancel();
|
||||
if(player.equals(trader)) {
|
||||
trader.sendMessage(ChatColor.translateAlternateColorCodes('&',
|
||||
__convert__(Configurations.CAGES.execute().getString("MESSAGES.INVITE.OWNER.DENY.FOR_OWNER"))));
|
||||
member.sendMessage(ChatColor.translateAlternateColorCodes('&',
|
||||
__convert__(Configurations.CAGES.execute().getString("MESSAGES.INVITE.OWNER.DENY.FOR_TARGET"))));
|
||||
} else {
|
||||
trader.sendMessage( ChatColor.translateAlternateColorCodes('&',
|
||||
__convert__(Configurations.CAGES.execute().getString("MESSAGES.INVITE.TARGET.DENY.FOR_OWNER"))));
|
||||
member.sendMessage( ChatColor.translateAlternateColorCodes('&',
|
||||
__convert__(Configurations.CAGES.execute().getString("MESSAGES.INVITE.TARGET.DENY.FOR_TARGET"))));
|
||||
}
|
||||
PrisonAPI.TRADES.get(TradeType.CAGE).remove(cage.name);
|
||||
}
|
||||
|
||||
private String __convert__(String msg) {
|
||||
return msg.replace("%cage_name%", cage.name).replace("%cage_rent%", String.valueOf(cage.getPaid()));
|
||||
}
|
||||
}
|
||||
76
src/main/java/ru/prisonlife/api/storage/trades/SaleCage.java
Normal file
76
src/main/java/ru/prisonlife/api/storage/trades/SaleCage.java
Normal file
@@ -0,0 +1,76 @@
|
||||
package ru.prisonlife.api.storage.trades;
|
||||
|
||||
import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
|
||||
import com.sk89q.worldguard.protection.regions.ProtectedRegion;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
import ru.prisonlife.api.Configurations;
|
||||
import ru.prisonlife.api.PrisonAPI;
|
||||
import ru.prisonlife.api.template.Cage;
|
||||
|
||||
public class SaleCage extends TradeFormat {
|
||||
|
||||
public int price;
|
||||
|
||||
private ProtectedRegion region;
|
||||
|
||||
public SaleCage(Cage cage, Player trader, Player member, int price, int time) {
|
||||
super(cage, trader, member, time);
|
||||
this.price = price;
|
||||
region = WorldGuardPlugin.inst().getRegionManager(cage.getWorld()).getRegion(cage.name);
|
||||
tradeType = TradeType.CAGE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void start() {
|
||||
PrisonAPI.TRADES.get(TradeType.CAGE).put(cage.name, this);
|
||||
trade.runTaskTimer(Bukkit.getPluginManager().getPlugin("PrisonCages"), 20, 20);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void accept() {
|
||||
trade.cancel();
|
||||
cage.sellCage(member, price);
|
||||
region.getOwners().removePlayer(trader.getUniqueId());
|
||||
region.getOwners().addPlayer(member.getUniqueId());
|
||||
trader.sendMessage(ChatColor.translateAlternateColorCodes('&',
|
||||
__convert__(Configurations.CAGES.execute().getString("MESSAGES.SALE.OWNER.END"))));
|
||||
member.sendMessage(ChatColor.translateAlternateColorCodes('&',
|
||||
__convert__(Configurations.CAGES.execute().getString("MESSAGES.SALE.BUYER.END"))));
|
||||
PrisonAPI.TRADES.get(TradeType.CAGE).remove(cage.name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void exception(Player player) {
|
||||
if(player != null) {
|
||||
player.sendMessage(ChatColor.translateAlternateColorCodes('&',
|
||||
__convert__(Configurations.CAGES.execute().getString("MESSAGES.SALE.EXCEPTION"))));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deny(Player player) {
|
||||
trade.cancel();
|
||||
if(player.equals(trader)) {
|
||||
trader.sendMessage(ChatColor.translateAlternateColorCodes('&',
|
||||
__convert__(Configurations.CAGES.execute().getString("MESSAGES.SALE.OWNER.DENY.FOR_OWNER"))));
|
||||
member.sendMessage(ChatColor.translateAlternateColorCodes('&',
|
||||
__convert__(Configurations.CAGES.execute().getString("MESSAGES.SALE.OWNER.DENY.FOR_BUYER"))));
|
||||
} else {
|
||||
trader.sendMessage( ChatColor.translateAlternateColorCodes('&',
|
||||
__convert__(Configurations.CAGES.execute().getString("MESSAGES.SALE.BUYER.DENY.FOR_OWNER"))));
|
||||
member.sendMessage( ChatColor.translateAlternateColorCodes('&',
|
||||
__convert__(Configurations.CAGES.execute().getString("MESSAGES.SALE.BUYER.DENY.FOR_BUYER"))));
|
||||
}
|
||||
PrisonAPI.TRADES.get(TradeType.CAGE).remove(cage.name);
|
||||
}
|
||||
|
||||
private String __convert__(String msg) {
|
||||
return msg.replace(
|
||||
"%cage_name%", cage.name).replace("%cage_rent%", cage.getPaid() + "").replace(
|
||||
"%cage_seller", trader.getName()).replace("%cage_buy%", member.getName()).replace(
|
||||
"%cage_price%", price + "").replace(
|
||||
"%default_price%", cage.getDefaultRentPrice() + "");
|
||||
}
|
||||
}
|
||||
10
src/main/java/ru/prisonlife/api/storage/trades/Trade.java
Normal file
10
src/main/java/ru/prisonlife/api/storage/trades/Trade.java
Normal file
@@ -0,0 +1,10 @@
|
||||
package ru.prisonlife.api.storage.trades;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public interface Trade {
|
||||
void start();
|
||||
void accept();
|
||||
void deny(Player player);
|
||||
void exception(Player player);
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package ru.prisonlife.api.storage.trades;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
import ru.prisonlife.api.PrisonAPI;
|
||||
import ru.prisonlife.api.template.Cage;
|
||||
|
||||
public abstract class TradeFormat implements Trade {
|
||||
|
||||
public Cage cage;
|
||||
public Player trader, member;
|
||||
public int time;
|
||||
public TradeType tradeType;
|
||||
public BukkitRunnable trade = new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if(time > 0 && trader.isOnline() && member.isOnline())
|
||||
--time;
|
||||
else {
|
||||
cancel();
|
||||
exception(trader.isOnline() ? trader : (member.isOnline() ? member : null));
|
||||
PrisonAPI.TRADES.get(tradeType).remove(cage.name);
|
||||
/*for(TradeType type : PrisonAPI.TRADES.keySet())
|
||||
if(tradeType == type)
|
||||
PrisonAPI.TRADES.get(type).remove(cage.name);*/
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
public TradeFormat(Cage cage, Player trader, Player member, int time) {
|
||||
this.cage = cage;
|
||||
this.trader = trader;
|
||||
this.member = member;
|
||||
this.time = time;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package ru.prisonlife.api.storage.trades;
|
||||
|
||||
public enum TradeType {
|
||||
CAGE
|
||||
}
|
||||
57
src/main/java/ru/prisonlife/api/template/BoardCage.java
Normal file
57
src/main/java/ru/prisonlife/api/template/BoardCage.java
Normal file
@@ -0,0 +1,57 @@
|
||||
package ru.prisonlife.api.template;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.block.Sign;
|
||||
|
||||
public class BoardCage {
|
||||
|
||||
public String name;
|
||||
public Sign sign;
|
||||
public Cage cage;
|
||||
private String[] startMenu;
|
||||
private String boldWhite = ChatColor.WHITE + "" + ChatColor.BOLD;
|
||||
|
||||
|
||||
public BoardCage(Sign sign) {
|
||||
this.sign = sign;
|
||||
name = ChatColor.stripColor(sign.getLine(1));
|
||||
cage = Cage.getExisting(name);
|
||||
Cage.getExisting(name).boardCage = this;
|
||||
}
|
||||
|
||||
public void setStartMenu(String[] startMenu){
|
||||
this.startMenu = startMenu;
|
||||
}
|
||||
|
||||
public String[] getStartMenu() {
|
||||
return startMenu;
|
||||
}
|
||||
|
||||
public void editLine(int i, String str) {
|
||||
sign.setLine(i, str);
|
||||
sign.update();
|
||||
}
|
||||
|
||||
public void startMenu() {
|
||||
for(int i = 0; i < startMenu.length; i++)
|
||||
sign.setLine(i, startMenu[i]);
|
||||
sign.update();
|
||||
}
|
||||
|
||||
public void newOwner(String name) {
|
||||
editLine(2, boldWhite + name);
|
||||
editLine(3, boldWhite + "Дней: " + cage.getPaid());
|
||||
}
|
||||
|
||||
public void downDaysLeft() {
|
||||
int oldPaid = cage.getPaid();
|
||||
cage.setPaid(oldPaid - 1);
|
||||
editLine(3, boldWhite + "Дней: " + (oldPaid - 1));
|
||||
}
|
||||
|
||||
public void upDaysLeft() {
|
||||
int oldPaid = cage.getPaid();
|
||||
cage.setPaid(oldPaid + 1);
|
||||
editLine(3, boldWhite + "Дней: " + (oldPaid + 1));
|
||||
}
|
||||
}
|
||||
415
src/main/java/ru/prisonlife/api/template/Cage.java
Normal file
415
src/main/java/ru/prisonlife/api/template/Cage.java
Normal file
@@ -0,0 +1,415 @@
|
||||
package ru.prisonlife.api.template;
|
||||
|
||||
import com.sk89q.worldguard.protection.regions.ProtectedRegion;
|
||||
import org.bukkit.*;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
import ru.prisonlife.api.Configurations;
|
||||
import ru.prisonlife.api.PrisonAPI;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.SQLException;
|
||||
import java.util.*;
|
||||
|
||||
public class Cage {
|
||||
|
||||
public String name;
|
||||
public BoardCage boardCage;
|
||||
private static Map<String, Cage> storage = new HashMap<>(); // HOT FIX EBUCHEY INFLYACII PAMYATI!
|
||||
private FileConfiguration[] configurations = new FileConfiguration[2];
|
||||
private File[] modules = new File[2];
|
||||
private static final String[] FILES = {"main.yml", "upgrade.yml"};
|
||||
private File dir;
|
||||
private ProtectedRegion region;
|
||||
|
||||
private Cage(String name) {
|
||||
this.name = name;
|
||||
dir = new File(Configurations.CAGES.root().getPath(), name);
|
||||
String[][] inside = {{"WORLD", "OWNER", "PAID", "RENT", "CURRENT_RENT", "SALE_PRICE", "MAXIMUM_TERM", "SPAWN_POINT.WORLD", "SPAWN_POINT.CORDS", "GUESTS"},
|
||||
{"FRIENDS", "ENDER_CHEST", "HACK_CHEST", "HACK_DOOR", "NEW_PRICE"}};
|
||||
if(!dir.exists()) {
|
||||
dir.mkdir();
|
||||
try {
|
||||
for(int k = 0; k < 2; k++) {
|
||||
modules[k] = new File(dir.getPath(), FILES[k]);
|
||||
configurations[k] = YamlConfiguration.loadConfiguration(modules[k]);
|
||||
for(int j = 0; j < inside[k].length; j++)
|
||||
configurations[k].set(inside[k][j], k == 0 ? "-" : false);
|
||||
configurations[k].save(modules[k]);
|
||||
}
|
||||
} catch(IOException z) {
|
||||
z.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void create(String name) {
|
||||
storage.put(name, new Cage(name));
|
||||
}
|
||||
|
||||
public static Cage getExisting(String name) {
|
||||
return storage.get(name);
|
||||
}
|
||||
|
||||
public static boolean exists(String name) {
|
||||
return storage.containsKey(name);
|
||||
}
|
||||
|
||||
public ProtectedRegion getRegion() {
|
||||
return region;
|
||||
}
|
||||
|
||||
public World getWorld() {
|
||||
return Bukkit.getWorld(configurations[0].getString("WORLD"));
|
||||
}
|
||||
|
||||
public String getOwner() {
|
||||
return configurations[0].getString("OWNER");
|
||||
}
|
||||
|
||||
public int getPaid() {
|
||||
return configurations[0].getInt("PAID");
|
||||
}
|
||||
|
||||
public int getRentPrice() {
|
||||
return configurations[0].getInt("CURRENT_RENT");
|
||||
}
|
||||
|
||||
public int getDefaultRentPrice() { return configurations[0].getInt("RENT"); }
|
||||
|
||||
public int getSalePrice() {
|
||||
return configurations[0].getInt("SALE_PRICE");
|
||||
}
|
||||
|
||||
public int getMaximumTerm() {
|
||||
return configurations[0].getInt("MAXIMUM_TERM");
|
||||
}
|
||||
|
||||
public String getWorldOfPoint() {
|
||||
return configurations[0].getString("SPAWN_POINT.WORLD");
|
||||
}
|
||||
|
||||
public List<Double> getCordsOfPoint() {
|
||||
return configurations[0].getDoubleList("SPAWN_POINT.CORDS");
|
||||
}
|
||||
|
||||
public List<String> getGuests() {
|
||||
return configurations[0].getStringList("GUESTS");
|
||||
}
|
||||
|
||||
public boolean hasUpgradeGuests() {
|
||||
return configurations[1].getBoolean("FRIENDS");
|
||||
}
|
||||
|
||||
public boolean hasUpgradeEnderChest() { return configurations[1].getBoolean("ENDER_CHEST"); }
|
||||
|
||||
public boolean hasUpgradeHackChest() {
|
||||
return configurations[1].getBoolean("HACK_CHEST");
|
||||
}
|
||||
|
||||
public boolean hasUpgradeHackDoor() {
|
||||
return configurations[1].getBoolean("HACK_DOOR");
|
||||
}
|
||||
|
||||
public boolean hasUpgradeNewPrice() {
|
||||
return configurations[1].getBoolean("NEW_PRICE");
|
||||
}
|
||||
|
||||
public void setRegion(ProtectedRegion region) {
|
||||
this.region = region;
|
||||
}
|
||||
|
||||
public void setWorld(String name) {
|
||||
try {
|
||||
configurations[0].set("WORLD", name);
|
||||
configurations[0].save(modules[0]);
|
||||
} catch(IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void setOwner(String uuid) {
|
||||
try {
|
||||
configurations[0].set("OWNER", uuid);
|
||||
configurations[0].save(modules[0]);
|
||||
try(PreparedStatement statement = PrisonAPI.CONN.prepareStatement("UPDATE player_stats SET HOME_CAGE = ? WHERE UUID = ?")) {
|
||||
statement.setString(1, name);
|
||||
statement.setString(2, uuid);
|
||||
|
||||
statement.executeUpdate();
|
||||
}
|
||||
} catch(IOException | SQLException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void setPaid(int value) {
|
||||
try {
|
||||
configurations[0].set("PAID", value);
|
||||
configurations[0].save(modules[0]);
|
||||
} catch(IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void setRentPrice(int price) {
|
||||
try {
|
||||
configurations[0].set("CURRENT_RENT", price);
|
||||
configurations[0].save(modules[0]);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void setDefaultRentPrice(int price) {
|
||||
try {
|
||||
configurations[0].set("RENT", price);
|
||||
configurations[0].save(modules[0]);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void setSalePrice(int price) {
|
||||
try {
|
||||
configurations[0].set("SALE_PRICE", price);
|
||||
configurations[0].save(modules[0]);
|
||||
} catch(IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void setMaximumTerm(int term) {
|
||||
try {
|
||||
configurations[0].set("MAXIMUM_TERM", term);
|
||||
configurations[0].save(modules[0]);
|
||||
} catch(IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void setWorldOfPoint(String world) {
|
||||
try {
|
||||
configurations[0].set("SPAWN_POINT.WORLD", world);
|
||||
configurations[0].save(modules[0]);
|
||||
} catch(IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void setCordsOfPoint(List<Double> point) {
|
||||
try {
|
||||
configurations[0].set("SPAWN_POINT.CORDS", point);
|
||||
configurations[0].save(modules[0]);
|
||||
} catch(IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void setGuests(List<String> guests) {
|
||||
try {
|
||||
configurations[0].set("GUESTS", guests == null ? "-" : guests);
|
||||
configurations[0].save(modules[0]);
|
||||
} catch(IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void addGuest(String guest) {
|
||||
try {
|
||||
List<String> guests = getGuests();
|
||||
guests.add(guest);
|
||||
configurations[0].set("GUESTS", guests);
|
||||
configurations[0].save(modules[0]);
|
||||
try(PreparedStatement statement = PrisonAPI.CONN.prepareStatement("UPDATE player_stats SET HOME_CAGE = ? WHERE UUID = ?")) {
|
||||
statement.setString(1, name);
|
||||
statement.setString(2, guest);
|
||||
|
||||
statement.executeUpdate();
|
||||
}
|
||||
} catch(IOException | SQLException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void delGuest(String guest) {
|
||||
List<String> list = getGuests();
|
||||
if(list.contains(guest)) {
|
||||
region.getMembers().removePlayer(guest);
|
||||
list.remove(guest);
|
||||
try {
|
||||
configurations[0].set("GUESTS", list);
|
||||
configurations[0].save(modules[0]);
|
||||
__clear__(Bukkit.getOfflinePlayer(UUID.fromString(guest)));
|
||||
} catch(IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setUpgradeGuests(boolean status) {
|
||||
try {
|
||||
configurations[1].set("FRIENDS", status);
|
||||
configurations[1].save(modules[1]);
|
||||
} catch(IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void setUpgradeEnderChest(boolean status) {
|
||||
try {
|
||||
configurations[1].set("ENDER_CHEST", status);
|
||||
configurations[1].save(modules[1]);
|
||||
} catch(IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void setUpgradeHackChest(boolean status) {
|
||||
try {
|
||||
configurations[1].set("HACK_CHEST", status);
|
||||
configurations[1].save(modules[1]);
|
||||
} catch(IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void setUpgradeHackDoor(boolean status) {
|
||||
try {
|
||||
configurations[1].set("HACK_DOOR", status);
|
||||
configurations[1].save(modules[1]);
|
||||
} catch(IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void setUpgradeNewPrice(boolean status) {
|
||||
try {
|
||||
configurations[1].set("NEW_PRICE", status);
|
||||
configurations[1].save(modules[1]);
|
||||
} catch(IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void rebootUpgrades() {
|
||||
setUpgradeGuests(false);
|
||||
setUpgradeEnderChest(false);
|
||||
setUpgradeHackDoor(false);
|
||||
setUpgradeHackChest(false);
|
||||
setUpgradeNewPrice(false);
|
||||
}
|
||||
|
||||
public void mainInfo(Player whom) {
|
||||
String owner = getOwner();
|
||||
List<OfflinePlayer> guests = transformGuestsToOfflinePlayers(getGuests());
|
||||
String[] info = {
|
||||
"Владелец: " + ChatColor.RED + (!owner.equals("-") ? Bukkit.getOfflinePlayer(UUID.fromString(owner)).getName() : "-"),
|
||||
"Цена покупки на один день: " + ChatColor.YELLOW + "" + ChatColor.BOLD + getRentPrice(),
|
||||
"Цена продажи: " + ChatColor.YELLOW + "" + ChatColor.BOLD + getSalePrice(),
|
||||
"Максимальный срок аренды: " + ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + getMaximumTerm() + ChatColor.RESET + " дн.",
|
||||
"Оплачено: " + ChatColor.GREEN + "" + ChatColor.BOLD + getPaid() + ChatColor.RESET + " дн.",
|
||||
"Гости: " + getGuests()
|
||||
};
|
||||
for(String i : info) {
|
||||
if(i.equals(info[5])) {
|
||||
if(guests.size() == 0)
|
||||
i = "Гости: -";
|
||||
else {
|
||||
StringBuilder iBuilder = new StringBuilder(i);
|
||||
for(OfflinePlayer j : guests)
|
||||
iBuilder.append(ChatColor.GOLD).append(j.getName()).append(" ");
|
||||
i = iBuilder.toString();
|
||||
}
|
||||
}
|
||||
whom.sendMessage(i + "\n");
|
||||
}
|
||||
}
|
||||
|
||||
public void gradeInfo(Player whom) {
|
||||
String[] info = {
|
||||
"<Друзья>: ", "<Эндер-сундук>: ", "<Взлом сундуков>: ",
|
||||
"<Взлом двери>: ", "<Снижение цены на аренду>: "
|
||||
};
|
||||
boolean[] status = {
|
||||
hasUpgradeGuests(), hasUpgradeEnderChest(), hasUpgradeHackChest(),
|
||||
hasUpgradeHackDoor(), hasUpgradeNewPrice()
|
||||
};
|
||||
whom.sendMessage("Улучшения: \n");
|
||||
for(int i = 0; i < info.length; i++)
|
||||
whom.sendMessage(info[i] + (status[i] ? "+" : "-"));
|
||||
}
|
||||
|
||||
public void teleport(Player player) {
|
||||
List<Double> c = getCordsOfPoint();
|
||||
player.teleport(new Location(Bukkit.getWorld(getWorldOfPoint()), c.get(0), c.get(1), c.get(2)));
|
||||
}
|
||||
|
||||
public void sellCage(Player player, int price) {
|
||||
try {
|
||||
Prisoner trader = new Prisoner(Bukkit.getOfflinePlayer(UUID.fromString(getOwner())).getPlayer()), buyer = new Prisoner(player);
|
||||
buyer.getWallet().deposit(price);
|
||||
trader.getWallet().addBalance(price);
|
||||
__rm_guests__();
|
||||
__clear__(trader.getPlayer());
|
||||
setOwner(player.getUniqueId().toString());
|
||||
boardCage.newOwner(player.getName());
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void ownerLeaveCage() {
|
||||
Player p = Bukkit.getOfflinePlayer(UUID.fromString(getOwner())).getPlayer();
|
||||
Prisoner ps = new Prisoner(p);
|
||||
try {
|
||||
region.getOwners().removePlayer(p.getUniqueId());
|
||||
ps.getWallet().addBalance(getSalePrice());
|
||||
__rm_guests__();
|
||||
__clear__(p);
|
||||
setOwner("-");
|
||||
setPaid(0);
|
||||
rebootUpgrades();
|
||||
boardCage.startMenu();
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public List<OfflinePlayer> transformGuestsToOfflinePlayers(List<String> guests) {
|
||||
List<OfflinePlayer> list = new ArrayList<>();
|
||||
if(guests != null) {
|
||||
for(String i : guests)
|
||||
list.add(Bukkit.getOfflinePlayer(UUID.fromString(i)));
|
||||
return list;
|
||||
} else
|
||||
return null;
|
||||
}
|
||||
|
||||
private void __clear__(OfflinePlayer player) {
|
||||
try {
|
||||
try(PreparedStatement statement = PrisonAPI.CONN.prepareStatement("UPDATE player_stats SET HOME_CAGE = ? WHERE UUID = ?")) {
|
||||
statement.setString(1, "-");
|
||||
statement.setString(2, player.getUniqueId().toString());
|
||||
|
||||
statement.executeUpdate();
|
||||
}
|
||||
} catch(SQLException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private void __rm_guests__() {
|
||||
List<OfflinePlayer> guests = transformGuestsToOfflinePlayers(getGuests());
|
||||
if(guests != null && guests.size() != 0) {
|
||||
for(OfflinePlayer g : guests) {
|
||||
region.getMembers().removePlayer(g.getUniqueId());
|
||||
__clear__(g.getPlayer());
|
||||
}
|
||||
setGuests(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -18,46 +18,43 @@ public class Faction {
|
||||
}
|
||||
|
||||
public String getType() throws SQLException {
|
||||
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT FACTION FROM player_stats WHERE UUID = ?")) {
|
||||
try(PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT FACTION FROM player_stats WHERE UUID = ?")) {
|
||||
statement.setString(1, me.getPlayer().getUniqueId().toString());
|
||||
|
||||
try (ResultSet resultSet = statement.executeQuery()) {
|
||||
if (resultSet.next()) {
|
||||
try(ResultSet resultSet = statement.executeQuery()) {
|
||||
if(resultSet.next())
|
||||
return resultSet.getString(1);
|
||||
} else {
|
||||
else
|
||||
return "null";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int getId() throws SQLException {
|
||||
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT FACTION FROM player_stats WHERE UUID = ?")) {
|
||||
try(PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT FACTION FROM player_stats WHERE UUID = ?")) {
|
||||
statement.setString(1, me.getPlayer().getUniqueId().toString());
|
||||
|
||||
try (ResultSet resultSet = statement.executeQuery()) {
|
||||
if (resultSet.next()) {
|
||||
try(ResultSet resultSet = statement.executeQuery()) {
|
||||
if(resultSet.next())
|
||||
return PrisonAPI.Factions.valueOf(resultSet.getString(1)).getId();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
public int getRangId() throws SQLException {
|
||||
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT F_RANG FROM player_stats WHERE UUID = ?")) {
|
||||
try(PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT F_RANG FROM player_stats WHERE UUID = ?")) {
|
||||
statement.setString(1, me.getPlayer().getUniqueId().toString());
|
||||
|
||||
try (ResultSet resultSet = statement.executeQuery()) {
|
||||
if (resultSet.next()) {
|
||||
try(ResultSet resultSet = statement.executeQuery()) {
|
||||
if(resultSet.next())
|
||||
return resultSet.getInt(1);
|
||||
} else {
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public String getRangType() throws SQLException {
|
||||
String[][] post = {
|
||||
@@ -91,25 +88,23 @@ public class Faction {
|
||||
}
|
||||
|
||||
public int getRespect() throws SQLException {
|
||||
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT RESPECT FROM prison4life.player_stats WHERE UUID = ?")) {
|
||||
try(PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT RESPECT FROM prison4life.player_stats WHERE UUID = ?")) {
|
||||
statement.setString(1, me.getPlayer().getUniqueId().toString());
|
||||
|
||||
try (ResultSet resultSet = statement.executeQuery()) {
|
||||
if (resultSet.next()) {
|
||||
try(ResultSet resultSet = statement.executeQuery()) {
|
||||
if(resultSet.next())
|
||||
return resultSet.getInt(1);
|
||||
} else {
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void addRespect(int value) throws SQLException {
|
||||
setRespect(getRespect() + value);
|
||||
}
|
||||
|
||||
public void setRespect(int value) throws SQLException {
|
||||
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("UPDATE player_stats SET RESPECT = ? WHERE UUID = ?")) {
|
||||
try(PreparedStatement statement = PrisonAPI.CONN.prepareStatement("UPDATE player_stats SET RESPECT = ? WHERE UUID = ?")) {
|
||||
statement.setInt(1, value);
|
||||
statement.setString(2, me.getPlayer().getUniqueId().toString());
|
||||
|
||||
@@ -118,18 +113,17 @@ public class Faction {
|
||||
}
|
||||
|
||||
public int getRespectDailyCooldown() throws SQLException {
|
||||
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT COOLDOWN FROM daily_respect_task WHERE UUID = ?")) {
|
||||
try(PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT COOLDOWN FROM daily_respect_task WHERE UUID = ?")) {
|
||||
statement.setString(1, me.getPlayer().getUniqueId().toString());
|
||||
|
||||
try (ResultSet resultSet = statement.executeQuery()) {
|
||||
if (resultSet.next()) {
|
||||
try(ResultSet resultSet = statement.executeQuery()) {
|
||||
if(resultSet.next())
|
||||
return resultSet.getInt(1);
|
||||
} else {
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void addRespectDailyCooldown(int value) throws SQLException {
|
||||
setRespectDailyCooldown(getRespectDailyCooldown() + value);
|
||||
|
||||
@@ -18,7 +18,7 @@ public class Manager {
|
||||
private FileConfiguration fileConfiguration;
|
||||
|
||||
public Manager(String id) {
|
||||
file = new File(PrisonAPI.PLUGIN_PATH + "/", "PRISON_" + id + ".yml");
|
||||
file = new File(PrisonAPI.PLUGIN_MANAGER_PATH + "/", "PRISON_" + id + ".yml");
|
||||
fileConfiguration = YamlConfiguration.loadConfiguration(file);
|
||||
}
|
||||
|
||||
@@ -26,6 +26,10 @@ public class Manager {
|
||||
return file.exists();
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return file.getName().replace("PRISON_", "").replace(".yml", "");
|
||||
}
|
||||
|
||||
public String getWorld() {
|
||||
return fileConfiguration.getString("WORLD");
|
||||
}
|
||||
@@ -55,7 +59,7 @@ public class Manager {
|
||||
}
|
||||
|
||||
public List<Integer> getSpawnCords(int faction) {
|
||||
return fileConfiguration.getIntegerList("FACTIONS." + selectFactType(faction) + ".CORDS");
|
||||
return fileConfiguration.getIntegerList("FACTIONS." + PrisonAPI.Factions.valueOf(faction) + ".CORDS");
|
||||
}
|
||||
|
||||
public void setSpawnCords(int faction, List<Integer> data) {
|
||||
@@ -139,26 +143,39 @@ public class Manager {
|
||||
}
|
||||
|
||||
public List<String> getAllTerrs() {
|
||||
try {
|
||||
List<String> terrs = new ArrayList<>();
|
||||
for(String t : fileConfiguration.getConfigurationSection("TERRITORIES").getKeys(false))
|
||||
for (String t : fileConfiguration.getConfigurationSection("TERRITORIES").getKeys(false))
|
||||
terrs.add(t);
|
||||
return terrs;
|
||||
} catch(NullPointerException z) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public List<String> getCages() {
|
||||
try {
|
||||
List<String> cages = new ArrayList<>();
|
||||
for(String c : fileConfiguration.getConfigurationSection("CAGES").getKeys(false))
|
||||
for (String c : fileConfiguration.getConfigurationSection("CAGES").getKeys(false))
|
||||
cages.add(c);
|
||||
return cages;
|
||||
} catch(NullPointerException z) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public List<Integer> getPointCage(String cage) {
|
||||
return new ArrayList<>(fileConfiguration.getIntegerList("CAGES." + cage));
|
||||
}
|
||||
|
||||
public Location getLocationCage(String cage) {
|
||||
List<Integer> point = getPointCage(cage);
|
||||
return new Location(Bukkit.getWorld(getWorld()), point.get(0) + 0.5, point.get(1), point.get(2) + 0.5);
|
||||
}
|
||||
|
||||
public void teleportInToCage(Prisoner prs, String cage) {
|
||||
List<Integer> data =fileConfiguration.getIntegerList("CAGES." + cage);
|
||||
Location loc = new Location(Bukkit.getWorld(fileConfiguration.getString("WORLD")),
|
||||
List<Integer> data = fileConfiguration.getIntegerList("CAGES." + cage);
|
||||
Location loc = new Location(Bukkit.getWorld(getWorld()),
|
||||
data.get(0) + 0.5, data.get(1), data.get(2) + 0.5);
|
||||
prs.getPlayer().teleport(loc);
|
||||
}
|
||||
|
||||
@@ -2,100 +2,103 @@ package ru.prisonlife.api.template;
|
||||
|
||||
import net.md_5.bungee.api.ChatMessageType;
|
||||
import net.md_5.bungee.api.chat.TextComponent;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
import ru.prisonlife.api.Configurations;
|
||||
import ru.prisonlife.api.PrisonAPI;
|
||||
import ru.prisonlife.api.storage.RegistrationPrisonerForCage;
|
||||
|
||||
import java.io.File;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Random;
|
||||
|
||||
public class Policeman extends Prisoner {
|
||||
public class Policeman extends Prisoner implements Listener {
|
||||
|
||||
private Map<Prisoner, BukkitRunnable> timeInCage = new HashMap<>();
|
||||
private static Map<String, BukkitRunnable> TIME_IN_CAGE = new HashMap<>(), ACTION_BAR = new HashMap<>();
|
||||
private static final Plugin API = Bukkit.getPluginManager().getPlugin("PrisonAPI");
|
||||
|
||||
public Policeman(Player player) {
|
||||
super(player);
|
||||
}
|
||||
|
||||
public void arrestPrisoner(Prisoner prs) throws SQLException {
|
||||
if(prs.getPlayer().isOnline()) {
|
||||
Manager mng = new Manager(super.getPrison());
|
||||
public boolean arrestPrisoner(Prisoner prs) throws SQLException {
|
||||
Player p = prs.getPlayer();
|
||||
if(p.isOnline()) {
|
||||
String prison = super.getPrison(), uuid = p.getUniqueId().toString();
|
||||
Manager mng = new Manager(prison);
|
||||
List<String> all_cages = mng.getCages();
|
||||
PreparedStatement st = PrisonAPI.CONN.prepareStatement("SELECT UUID FROM player_stats WHERE UUID = ?");
|
||||
st.setString(1, me.getUniqueId().toString());
|
||||
try(ResultSet resultSet = st.executeQuery()) {
|
||||
if(!resultSet.next()) {
|
||||
if(all_cages != null) {
|
||||
int su = prs.getSuspect();
|
||||
st.close();
|
||||
st = PrisonAPI.CONN.prepareStatement(
|
||||
"INSERT INTO players_in_cages(NAME, UUID, TIME_IN_CAGE, BLOCKS_LEFT) " +
|
||||
"VALUES (?, ?, ?, ?)");
|
||||
st.setString(1, getPlayer().getName());
|
||||
st.setString(2, me.getUniqueId().toString());
|
||||
st.setInt(3, (su * 6));
|
||||
st.setInt(4, (su * 100));
|
||||
st.executeUpdate();
|
||||
}
|
||||
}
|
||||
st.close();
|
||||
String cage = all_cages.get(new Random().nextInt(all_cages.size()));
|
||||
PrisonAPI.ARRESTED.put(uuid, new RegistrationPrisonerForCage(prison, cage, su * 6, su * 100));
|
||||
prs.setSuspect(0);
|
||||
mng.teleportInToCage(prs, all_cages.get(new Random().nextInt(all_cages.size())));
|
||||
FileConfiguration configurationSuspect = YamlConfiguration.loadConfiguration(new File("plugins/PrisonSuspect/", "parameters.yml"));
|
||||
String actionMessage = ChatColor.translateAlternateColorCodes('&',
|
||||
configurationSuspect.getString("MESSAGES.ACTION_BAR_PROGRESS"));
|
||||
BukkitRunnable actionBar = new BukkitRunnable() {//"MESSAGES.WHEN_PRISONER_CAN_EXIT_FROM_CAGE"
|
||||
mng.teleportInToCage(prs, cage);
|
||||
__put__(prs);
|
||||
__start__(uuid);
|
||||
return true;
|
||||
} else
|
||||
me.sendMessage(ChatColor.RED + "Произошла аварийная ошибка.\nСообщите администраторам об отсутствии карцеров на сервере!");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static void freeFromArrest(Prisoner prs) {
|
||||
Player p = prs.getPlayer();
|
||||
String uuid = p.getUniqueId().toString();
|
||||
p.getPlayer().sendMessage(ChatColor.translateAlternateColorCodes('&',
|
||||
Configurations.SUSPECT.execute().getString("MESSAGES.WHEN_PRISONER_CAN_EXIT_FROM_CAGE")));
|
||||
PrisonAPI.ARRESTED.get(uuid).toFinish();
|
||||
ACTION_BAR.get(uuid).cancel();
|
||||
TIME_IN_CAGE.get(uuid).cancel();
|
||||
ACTION_BAR.remove(uuid);
|
||||
TIME_IN_CAGE.remove(uuid);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
private void startThreadsForJoinedPlayer(PlayerJoinEvent e) {
|
||||
Player p = e.getPlayer();
|
||||
String uuid = p.getUniqueId().toString();
|
||||
if(PrisonAPI.ARRESTED.containsKey(uuid)) {
|
||||
__put__(new Prisoner(p));
|
||||
__start__(uuid);
|
||||
}
|
||||
}
|
||||
|
||||
private void __start__(String uuid) {
|
||||
ACTION_BAR.get(uuid).runTaskTimer(API, 5, 5);
|
||||
TIME_IN_CAGE.get(uuid).runTaskTimer(API, 20 * 60, 20 * 60);
|
||||
}
|
||||
|
||||
private void __put__(Prisoner prs) {
|
||||
Player p = prs.getPlayer();
|
||||
String uuid = p.getUniqueId().toString();
|
||||
ACTION_BAR.put(uuid, new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
prs.getPlayer().spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(actionMessage));
|
||||
}
|
||||
};
|
||||
timeInCage.put(prs, new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() { // Future = Пометить, что когда in Cage и вышел, то удалить поток, а если зашёл и in Cage - запустить ~ Optimize
|
||||
try {
|
||||
int time = 0;
|
||||
String uuid = prs.getPlayer().getUniqueId().toString();
|
||||
PreparedStatement st = PrisonAPI.CONN.prepareStatement(
|
||||
"SELECT TIME_IN_CAGE FROM players_in_cages WHERE UUID = ?");
|
||||
st.setString(1, uuid);
|
||||
try(ResultSet resultSet = st.executeQuery()) {
|
||||
if(resultSet.next())
|
||||
time = resultSet.getInt(1);
|
||||
}
|
||||
if(time == 0) {
|
||||
prs.getPlayer().sendMessage(ChatColor.translateAlternateColorCodes('&',
|
||||
configurationSuspect.getString("MESSAGES.WHEN_PRISONER_CAN_EXIT_FROM_CAGE")));
|
||||
actionBar.cancel();
|
||||
cancel();
|
||||
timeInCage.remove(prs);
|
||||
st = PrisonAPI.CONN.prepareStatement("DELETE FROM players_in_cages WHERE UUID = ?");
|
||||
st.setString(1, uuid);
|
||||
st.execute();
|
||||
} else {
|
||||
if(prs.getPlayer().isOnline()) {
|
||||
st = PrisonAPI.CONN.prepareStatement("UPDATE players_in_cages SET TIME_IN_CAGE = " + (time - 1) + " WHERE UUID = ?");
|
||||
st.setString(1, uuid);
|
||||
st.execute();
|
||||
}
|
||||
}
|
||||
st.close();
|
||||
} catch(SQLException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
if(p.isOnline())
|
||||
p.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(
|
||||
ChatColor.translateAlternateColorCodes('&', Configurations.SUSPECT.execute().getString(
|
||||
"MESSAGES.ACTION_BAR_PROGRESS").replace("%time%", String.valueOf(
|
||||
prs.getTimeLeftInCage())).replace("%blocks%", String.valueOf(
|
||||
prs.getBlocksLeftToBreak()))))); // prs.getTimeLeftInCage() и prs.getBlocksLeftToBreak() <- статистика оставшегося (реал тайм)
|
||||
|
||||
}
|
||||
});
|
||||
int m = 20 * 60;
|
||||
actionBar.runTaskTimer(PrisonAPI.plugin, 5, 5);
|
||||
timeInCage.get(prs).runTaskTimer(PrisonAPI.plugin, m, m);
|
||||
TIME_IN_CAGE.put(uuid, new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if(p.isOnline())
|
||||
if(PrisonAPI.ARRESTED.get(uuid).time < 2) freeFromArrest(prs);
|
||||
else --PrisonAPI.ARRESTED.get(uuid).time;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.UUID;
|
||||
|
||||
public class Prisoner {
|
||||
|
||||
@@ -41,7 +42,7 @@ public class Prisoner {
|
||||
|
||||
public String getPrison() {
|
||||
Location loc = me.getLocation();
|
||||
for (File file : Objects.requireNonNull(new File(PrisonAPI.PLUGIN_PATH).listFiles())) {
|
||||
for(File file : Objects.requireNonNull(new File(PrisonAPI.PLUGIN_MANAGER_PATH).listFiles())) {
|
||||
FileConfiguration fileConfiguration = YamlConfiguration.loadConfiguration(file);
|
||||
List<List<Integer>> data = new ArrayList<>();
|
||||
List<Integer> fromConfig = fileConfiguration.getIntegerList("DIAGONAL_POINTS"),
|
||||
@@ -49,19 +50,19 @@ public class Prisoner {
|
||||
int[] loc_n = {loc.getBlockX(), loc.getBlockY() - 1, loc.getBlockZ()};
|
||||
data.add(fromConfig.subList(0, 3));
|
||||
data.add(fromConfig.subList(3, 6));
|
||||
for (int i = 0; i < 3; i++) {
|
||||
for(int i = 0; i < 3; i++) {
|
||||
min.add(Math.min(data.get(0).get(i), data.get(1).get(i)));
|
||||
max.add(Math.max(data.get(0).get(i), data.get(1).get(i)));
|
||||
}
|
||||
int c = 0;
|
||||
for (int k : loc_n) {
|
||||
for(int k : loc_n) {
|
||||
for (int n = 0; n < 3; n++) {
|
||||
if (k >= min.get(n) && k <= max.get(n)) {
|
||||
++c;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (c == 3) {
|
||||
if(c == 3) {
|
||||
return file.getName().replace("PRISON_", "").replace(".yml", "");
|
||||
}
|
||||
}
|
||||
@@ -72,7 +73,7 @@ public class Prisoner {
|
||||
String prison = getPrison();
|
||||
if(!prison.equals("Not Prison")) {
|
||||
Location loc = me.getLocation();
|
||||
FileConfiguration fileConfiguration = YamlConfiguration.loadConfiguration(new File(PrisonAPI.PLUGIN_PATH, "PRISON_" + prison + ".yml"));
|
||||
FileConfiguration fileConfiguration = YamlConfiguration.loadConfiguration(new File(PrisonAPI.PLUGIN_MANAGER_PATH, "PRISON_" + prison + ".yml"));
|
||||
try {
|
||||
if(fileConfiguration.getConfigurationSection("TERRITORIES").getKeys(false).size() != 0) {
|
||||
for(String terr : fileConfiguration.getConfigurationSection("TERRITORIES").getKeys(false)) {
|
||||
@@ -107,8 +108,8 @@ public class Prisoner {
|
||||
public void teleportToFactionSpawn() {
|
||||
try {
|
||||
Prisoner ps = new Prisoner(me);
|
||||
Manager mng = new Manager(getPrison());
|
||||
String f = ps.getFaction().getType();
|
||||
String prison = getPrison(), f = ps.getFaction().getType();
|
||||
Manager mng = prison.equals("Not Prison") ? PrisonAPI.getRandomPrison() : new Manager(prison);
|
||||
List<Integer> c = mng.getSpawnCords(ps.getFaction().getId());
|
||||
if(!f.equals("NONE") && c.size() != 0)
|
||||
me.teleport(new Location(Bukkit.getWorld(mng.getWorld()), c.get(0) + 0.5, c.get(1), c.get(2) + 0.5));
|
||||
@@ -138,7 +139,6 @@ public class Prisoner {
|
||||
try(PreparedStatement statement = PrisonAPI.CONN.prepareStatement("UPDATE player_stats SET SUSPECT = ? WHERE UUID = ?")) {
|
||||
statement.setInt(1, value);
|
||||
statement.setString(2, me.getPlayer().getUniqueId().toString());
|
||||
|
||||
statement.executeUpdate();
|
||||
}
|
||||
} catch(SQLException z) {
|
||||
@@ -148,67 +148,85 @@ public class Prisoner {
|
||||
|
||||
public void addSuspect(int value) {
|
||||
int su = getSuspect() + value;
|
||||
setSuspect(su);
|
||||
if(su > 6)
|
||||
setSuspect(su - (su - 6));
|
||||
else
|
||||
setSuspect(su);
|
||||
}
|
||||
|
||||
public int getTimeLeftInCage() {
|
||||
try {
|
||||
PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT TIME_IN_CAGE FROM players_in_cages WHERE UUID = ?");
|
||||
statement.setString(1, me.getUniqueId().toString());
|
||||
try(ResultSet resultSet = statement.executeQuery()) {
|
||||
if(resultSet.next())
|
||||
return resultSet.getInt(1);
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return 0;
|
||||
public void delSuspect(int value) {
|
||||
int su = getSuspect() - value;
|
||||
if(su < 0)
|
||||
setSuspect(0);
|
||||
else
|
||||
setSuspect(su);
|
||||
}
|
||||
|
||||
public void setTimeLeftInCage(int value) {
|
||||
public Cage getCage() {
|
||||
try {
|
||||
PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT TIME_IN_CAGE FROM players_in_cages WHERE UUID = ?");
|
||||
statement.setString(1, me.getUniqueId().toString());
|
||||
try(PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT HOME_CAGE FROM player_stats WHERE UUID = ?")) {
|
||||
statement.setString(1, me.getPlayer().getUniqueId().toString());
|
||||
|
||||
try(ResultSet resultSet = statement.executeQuery()) {
|
||||
if(resultSet.next()) {
|
||||
statement = PrisonAPI.CONN.prepareStatement("UPDATE players_in_cages SET TIME_IN_CAGE = ? WHERE UUID = ?");
|
||||
statement.setInt(1, value);
|
||||
statement.setString(2, me.getUniqueId().toString());
|
||||
statement.execute();
|
||||
String name = resultSet.getString(1);
|
||||
if(!name.equals("-")) {
|
||||
return Cage.getExisting(name);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch(SQLException z) {
|
||||
z.printStackTrace();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public void setCage(String name) {
|
||||
try {
|
||||
try(PreparedStatement statement = PrisonAPI.CONN.prepareStatement("UPDATE player_stats SET HOME_CAGE = ? WHERE UUID = ?")) {
|
||||
statement.setString(1, name);
|
||||
statement.setString(2, me.getPlayer().getUniqueId().toString());
|
||||
|
||||
statement.execute();
|
||||
}
|
||||
} catch(SQLException z) {
|
||||
z.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public int getBlocksLeftToBreak() {
|
||||
try {
|
||||
PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT BLOCKS_LEFT FROM players_in_cages WHERE UUID = ?");
|
||||
statement.setString(1, me.getUniqueId().toString());
|
||||
try(ResultSet resultSet = statement.executeQuery()) {
|
||||
if(resultSet.next())
|
||||
return resultSet.getInt(1);
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return 0;
|
||||
public void leaveTheCage() {
|
||||
Cage cage = getCage();
|
||||
if(cage != null)
|
||||
if(Bukkit.getOfflinePlayer(UUID.fromString(cage.getOwner())).getPlayer().equals(me))
|
||||
cage.ownerLeaveCage();
|
||||
else
|
||||
cage.delGuest(me.getUniqueId().toString());
|
||||
}
|
||||
|
||||
public boolean isLocateInCage() {
|
||||
try {
|
||||
PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT UUID FROM players_in_cages WHERE UUID = ?");
|
||||
statement.setString(1, me.getUniqueId().toString());
|
||||
try(ResultSet resultSet = statement.executeQuery()) {
|
||||
if(resultSet.next())
|
||||
return true;
|
||||
|
||||
public int getTimeLeftInCage() {
|
||||
return PrisonAPI.ARRESTED.get(me.getUniqueId().toString()).time;
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
e.printStackTrace();
|
||||
|
||||
public void setTimeLeftInCage(int value) {
|
||||
PrisonAPI.ARRESTED.get(me.getUniqueId().toString()).time = value;
|
||||
}
|
||||
|
||||
public int getBlocksLeftToBreak() {
|
||||
return PrisonAPI.ARRESTED.get(me.getUniqueId().toString()).blocks;
|
||||
}
|
||||
|
||||
public void setBlocksLeftToBreak(int value) {
|
||||
PrisonAPI.ARRESTED.get(me.getUniqueId().toString()).blocks = value;
|
||||
}
|
||||
|
||||
public boolean isArrested() {
|
||||
return PrisonAPI.ARRESTED.containsKey(me.getUniqueId().toString());
|
||||
}
|
||||
|
||||
public boolean isMemberTrade() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -233,9 +251,9 @@ public class Prisoner {
|
||||
statement.close();
|
||||
|
||||
statement = PrisonAPI.CONN.prepareStatement(
|
||||
"INSERT INTO player_stats(NAME, UUID, LEVEL, POINTS, FACTION, RESPECT, F_RANG, SUSPECT, WALLET, " +
|
||||
"INSERT INTO player_stats(NAME, UUID, LEVEL, POINTS, HOME_CAGE, FACTION, RESPECT, F_RANG, SUSPECT, WALLET, " +
|
||||
"G_TIME, D_BLOCKS, K_PLAYERS, K_MOBS, DEATHS) "
|
||||
+ "VALUES (?, ?, 1, 0, 'NONE', 0, 0, 0, 0, 0, 0, 0, 0, 0)");
|
||||
+ "VALUES (?, ?, 1, 0, '-', 'NONE', 0, 0, 0, 0, 0, 0, 0, 0, 0)");
|
||||
statement.setString(1, getPlayer().getName());
|
||||
statement.setString(2, me.getUniqueId().toString());
|
||||
statement.executeUpdate();
|
||||
@@ -256,4 +274,14 @@ public class Prisoner {
|
||||
}
|
||||
statement.close();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if(obj == null) return false;
|
||||
else if(obj instanceof Prisoner) {
|
||||
Prisoner that = (Prisoner) obj;
|
||||
return this.me.equals(that.me);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -15,11 +15,11 @@ public class Score {
|
||||
}
|
||||
|
||||
public double getPoints() throws SQLException {
|
||||
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT POINTS FROM player_stats WHERE UUID = ?")) {
|
||||
try(PreparedStatement statement = PrisonAPI.CONN.prepareStatement("SELECT POINTS FROM player_stats WHERE UUID = ?")) {
|
||||
statement.setString(1, me.getPlayer().getUniqueId().toString());
|
||||
|
||||
try (ResultSet resultSet = statement.executeQuery()) {
|
||||
if (resultSet.next()) {
|
||||
if(resultSet.next()) {
|
||||
return resultSet.getDouble(1);
|
||||
} else {
|
||||
return 0d; //TODO нужно или default значение, или exception
|
||||
@@ -29,7 +29,7 @@ public class Score {
|
||||
}
|
||||
|
||||
public void setPoints(double value) throws SQLException {
|
||||
try (PreparedStatement statement = PrisonAPI.CONN.prepareStatement("UPDATE player_stats SET POINTS = ? WHERE UUID = ?")) {
|
||||
try(PreparedStatement statement = PrisonAPI.CONN.prepareStatement("UPDATE player_stats SET POINTS = ? WHERE UUID = ?")) {
|
||||
statement.setDouble(1, value);
|
||||
statement.setString(2, me.getPlayer().getUniqueId().toString());
|
||||
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
Manifest-Version: 1.0
|
||||
Main-Class: ru.prisonlife.api.PrisonAPI
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
name: PrisonAPI
|
||||
version: ${project.version}
|
||||
authors: [Overlord_S, Prot_CN, Wani4ka, DmitriyMX]
|
||||
main: ru.prisonlife.api.PrisonAPI
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user