Created
March 5, 2020 03:21
-
-
Save SrBlecaute01/0e3e8885eadb8f659ec6051be3df3e45 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="ArtifactManager"> | |
<artifact type="jar" name="SrEmpregos:jar"> | |
<output-path>$PROJECT_DIR$/../../..</output-path> | |
<root id="archive" name="SrEmpregos.jar"> | |
<element id="module-output" name="SrEmpregos" /> | |
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/com/zaxxer/HikariCP/3.4.2/HikariCP-3.4.2.jar" path-in-jar="/" /> | |
<element id="extracted-dir" path="$MAVEN_REPOSITORY$/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar" path-in-jar="/" /> | |
</root> | |
</artifact> | |
</component> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<project version="4"> | |
<component name="CompilerConfiguration"> | |
<annotationProcessing> | |
<profile default="true" name="Default" enabled="true" /> | |
<profile name="Maven default annotation processors profile" enabled="true"> | |
<sourceOutputDir name="target/generated-sources/annotations" /> | |
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" /> | |
<outputRelativeToContentRoot value="true" /> | |
<module name="SrEmpregos" /> | |
</profile> | |
</annotationProcessing> | |
</component> | |
</project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<project version="4"> | |
<component name="ProjectNotificationSettings"> | |
<option name="askShowProject" value="false" /> | |
</component> | |
</project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<project version="4"> | |
<component name="Encoding"> | |
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" /> | |
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" /> | |
</component> | |
</project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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" project-jdk-name="1.8" project-jdk-type="JavaSDK"> | |
<output url="file://$PROJECT_DIR$/out" /> | |
</component> | |
</project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<project version="4"> | |
<component name="ArtifactsWorkspaceSettings"> | |
<artifacts-to-build> | |
<artifact name="SrEmpregos:jar" /> | |
</artifacts-to-build> | |
</component> | |
<component name="ChangeListManager"> | |
<list default="true" id="4dce16e8-554c-438f-9174-b5ab871ed9fd" name="Default Changelist" comment="" /> | |
<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="FavoritesManager"> | |
<favorites_list name="SrEmpregos" /> | |
</component> | |
<component name="FileTemplateManagerImpl"> | |
<option name="RECENT_TEMPLATES"> | |
<list> | |
<option value="Enum" /> | |
<option value="Class" /> | |
</list> | |
</option> | |
</component> | |
<component name="ProjectId" id="1YULzTrR8DxG7jhNeCPjeN3Yo6l" /> | |
<component name="ProjectViewState"> | |
<option name="abbreviatePackageNames" value="true" /> | |
<option name="hideEmptyMiddlePackages" value="true" /> | |
<option name="showExcludedFiles" value="true" /> | |
<option name="showLibraryContents" value="true" /> | |
<option name="showMembers" value="true" /> | |
</component> | |
<component name="PropertiesComponent"> | |
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" /> | |
<property name="last_opened_file_path" value="$PROJECT_DIR$/../../.." /> | |
<property name="project.structure.last.edited" value="Artifacts" /> | |
<property name="project.structure.proportion" value="0.0" /> | |
<property name="project.structure.side.proportion" value="0.0" /> | |
</component> | |
<component name="RecentsManager"> | |
<key name="CopyClassDialog.RECENTS_KEY"> | |
<recent name="br.com.blecaute.empregos.utils" /> | |
<recent name="br.com.blecaute.empregos.apis" /> | |
</key> | |
<key name="CopyFile.RECENT_KEYS"> | |
<recent name="C:\Users\c\Desktop\New Plugins Projects\Workspace\SrEmpregos\src\main\java\br\com\blecaute\empregos" /> | |
<recent name="C:\Users\c\Desktop\New Plugins Projects\Workspace\SrEmpregos" /> | |
</key> | |
</component> | |
<component name="RunManager" selected="Application.JobUtils"> | |
<configuration name="JobUtils" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true"> | |
<option name="MAIN_CLASS_NAME" value="br.com.blecaute.empregos.utils.JobUtils" /> | |
<module name="SrEmpregos" /> | |
<method v="2"> | |
<option name="Make" enabled="true" /> | |
</method> | |
</configuration> | |
<configuration name="PlaceholderHook" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true"> | |
<option name="MAIN_CLASS_NAME" value="br.com.blecaute.empregos.hooks.PlaceholderHook" /> | |
<module name="SrEmpregos" /> | |
<method v="2"> | |
<option name="Make" enabled="true" /> | |
</method> | |
</configuration> | |
<configuration name="SQLManager" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true"> | |
<option name="MAIN_CLASS_NAME" value="br.com.blecaute.empregos.manager.SQLManager" /> | |
<module name="SrEmpregos" /> | |
<method v="2"> | |
<option name="Make" enabled="true" /> | |
</method> | |
</configuration> | |
<recent_temporary> | |
<list> | |
<item itemvalue="Application.JobUtils" /> | |
<item itemvalue="Application.PlaceholderHook" /> | |
<item itemvalue="Application.SQLManager" /> | |
</list> | |
</recent_temporary> | |
</component> | |
<component name="SvnConfiguration"> | |
<configuration /> | |
</component> | |
<component name="TaskManager"> | |
<task active="true" id="Default" summary="Default task"> | |
<changelist id="4dce16e8-554c-438f-9174-b5ab871ed9fd" name="Default Changelist" comment="" /> | |
<created>1582992491688</created> | |
<option name="number" value="Default" /> | |
<option name="presentableId" value="Default" /> | |
<updated>1582992491688</updated> | |
</task> | |
<servers /> | |
</component> | |
<component name="WindowStateProjectService"> | |
<state x="488" y="66" key="#com.intellij.ide.util.MemberChooser" timestamp="1583282736321"> | |
<screen x="0" y="0" width="1366" height="728" /> | |
</state> | |
<state x="488" y="66" key="#com.intellij.ide.util.MemberChooser/0.0.1366.728@0.0.1366.728" timestamp="1583282736321" /> | |
<state x="363" y="95" key="#com.intellij.openapi.updateSettings.impl.PluginUpdateInfoDialog" timestamp="1583112597815"> | |
<screen x="0" y="0" width="1366" height="728" /> | |
</state> | |
<state x="363" y="95" key="#com.intellij.openapi.updateSettings.impl.PluginUpdateInfoDialog/0.0.1366.728@0.0.1366.728" timestamp="1583112597815" /> | |
<state x="483" y="235" key="#com.intellij.refactoring.move.moveClassesOrPackages.MoveClassesOrPackagesDialog.classes" timestamp="1583208268994"> | |
<screen x="0" y="0" width="1366" height="728" /> | |
</state> | |
<state x="483" y="235" key="#com.intellij.refactoring.move.moveClassesOrPackages.MoveClassesOrPackagesDialog.classes/0.0.1366.728@0.0.1366.728" timestamp="1583208268994" /> | |
<state x="413" y="111" key="#com.intellij.refactoring.safeDelete.UnsafeUsagesDialog" timestamp="1583209644285"> | |
<screen x="0" y="0" width="1366" height="728" /> | |
</state> | |
<state x="413" y="111" key="#com.intellij.refactoring.safeDelete.UnsafeUsagesDialog/0.0.1366.728@0.0.1366.728" timestamp="1583209644285" /> | |
<state x="463" y="106" key="FileChooserDialogImpl" timestamp="1583279267247"> | |
<screen x="0" y="0" width="1366" height="728" /> | |
</state> | |
<state x="463" y="106" key="FileChooserDialogImpl/0.0.1366.728@0.0.1366.728" timestamp="1583279267247" /> | |
<state width="1326" height="152" key="GridCell.Tab.0.bottom" timestamp="1583212013223"> | |
<screen x="0" y="0" width="1366" height="728" /> | |
</state> | |
<state width="1326" height="152" key="GridCell.Tab.0.bottom/0.0.1366.728@0.0.1366.728" timestamp="1583212013223" /> | |
<state width="1326" height="152" key="GridCell.Tab.0.center" timestamp="1583212013223"> | |
<screen x="0" y="0" width="1366" height="728" /> | |
</state> | |
<state width="1326" height="152" key="GridCell.Tab.0.center/0.0.1366.728@0.0.1366.728" timestamp="1583212013223" /> | |
<state width="1326" height="152" key="GridCell.Tab.0.left" timestamp="1583212013223"> | |
<screen x="0" y="0" width="1366" height="728" /> | |
</state> | |
<state width="1326" height="152" key="GridCell.Tab.0.left/0.0.1366.728@0.0.1366.728" timestamp="1583212013223" /> | |
<state width="1326" height="152" key="GridCell.Tab.0.right" timestamp="1583212013223"> | |
<screen x="0" y="0" width="1366" height="728" /> | |
</state> | |
<state width="1326" height="152" key="GridCell.Tab.0.right/0.0.1366.728@0.0.1366.728" timestamp="1583212013223" /> | |
<state x="163" y="0" key="SettingsEditor" timestamp="1583279270461"> | |
<screen x="0" y="0" width="1366" height="728" /> | |
</state> | |
<state x="163" y="0" key="SettingsEditor/0.0.1366.728@0.0.1366.728" timestamp="1583279270461" /> | |
<state x="397" y="0" key="refactoring.ChangeSignatureDialog" timestamp="1583120034310"> | |
<screen x="0" y="0" width="1366" height="728" /> | |
</state> | |
<state x="397" y="0" key="refactoring.ChangeSignatureDialog/0.0.1366.728@0.0.1366.728" timestamp="1583120034310" /> | |
<state x="339" y="157" key="run.anything.popup" timestamp="1583371275092"> | |
<screen x="0" y="0" width="1366" height="728" /> | |
</state> | |
<state x="339" y="157" key="run.anything.popup/0.0.1366.728@0.0.1366.728" timestamp="1583371275092" /> | |
</component> | |
</project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<project xmlns="http://maven.apache.org/POM/4.0.0" | |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |
<modelVersion>4.0.0</modelVersion> | |
<groupId>br.com.blecaute.empregos</groupId> | |
<artifactId>SrEmpregos</artifactId> | |
<version>1.0-SNAPSHOT</version> | |
<properties> | |
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | |
</properties> | |
<dependencies> | |
<dependency> | |
<groupId>com.zaxxer</groupId> | |
<artifactId>HikariCP</artifactId> | |
<version>3.4.2</version> | |
</dependency> | |
<dependency> | |
<groupId>org.xerial</groupId> | |
<artifactId>sqlite-jdbc</artifactId> | |
<version>3.19.3</version> | |
<scope>provided</scope> | |
</dependency> | |
<dependency> | |
<groupId>org.spigotmc</groupId> | |
<artifactId>spigot-api</artifactId> | |
<version>1.8.8-R0.1-SNAPSHOT</version> | |
<scope>system</scope> | |
<systemPath>${project.basedir}/Libs/Spigot.jar</systemPath> | |
</dependency> | |
<dependency> | |
<groupId>br.com.devpaulo.legendchat</groupId> | |
<artifactId>LegendChat</artifactId> | |
<version>1.1.3</version> | |
<scope>system</scope> | |
<systemPath>${project.basedir}/Libs/LegendChat.jar</systemPath> | |
</dependency> | |
<dependency> | |
<groupId>be.maximvdw</groupId> | |
<artifactId>MVdWPlaceholderAPI</artifactId> | |
<version>3.0.1</version> | |
<scope>system</scope> | |
<systemPath>${project.basedir}/Libs/MVdWPlaceholderAPI.jar</systemPath> | |
</dependency> | |
<dependency> | |
<groupId>me.clip.placeholderapi</groupId> | |
<artifactId>PlaceholderAPI</artifactId> | |
<version>2.10.4</version> | |
<scope>system</scope> | |
<systemPath>${project.basedir}/Libs/PlaceholderAPI.jar</systemPath> | |
</dependency> | |
<dependency> | |
<groupId>com.github.MilkBowl</groupId> | |
<artifactId>VaultAPI</artifactId> | |
<version>1.7</version> | |
<scope>system</scope> | |
<systemPath>${project.basedir}/Libs/Vault.jar</systemPath> | |
</dependency> | |
<dependency> | |
<groupId>org.projectlombok</groupId> | |
<artifactId>lombok</artifactId> | |
<version>1.18.10</version> | |
<scope>provided</scope> | |
</dependency> | |
</dependencies> | |
<build> | |
<plugins> | |
<plugin> | |
<groupId>org.apache.maven.plugins</groupId> | |
<artifactId>maven-compiler-plugin</artifactId> | |
<configuration> | |
<source>8</source> | |
<target>8</target> | |
</configuration> | |
</plugin> | |
</plugins> | |
</build> | |
</project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.apis; | |
import br.com.blecaute.empregos.SrEmpregos; | |
import br.com.blecaute.empregos.enums.JobType; | |
import br.com.blecaute.empregos.objects.Employee; | |
import br.com.blecaute.empregos.objects.Quest; | |
import org.bukkit.entity.Player; | |
import java.math.BigDecimal; | |
import java.util.List; | |
public class EmployeeAPI { | |
private EmployeeAPI() {} | |
/** | |
* | |
* @param p jogador a ser verificado | |
* @return verifica se o jogador tem algum trabalho | |
*/ | |
public Boolean hasJob(String p) { | |
return SrEmpregos.getEmployeeManager().hasJob(p); | |
} | |
/** | |
* | |
* @param p jogador a ser verificado | |
* @return retorna a conta do jogador | |
*/ | |
public Employee getEmployeeAccount(String p) { | |
return SrEmpregos.getEmployeeManager().getEmployeeAccount(p); | |
} | |
/** | |
* | |
* @param p jogador a ser verificado | |
* @param job trabalho a ser verificado | |
* @return verificar se o jogador está em um determinado trablho | |
*/ | |
public Boolean isInJob(String p, JobType job) { | |
return SrEmpregos.getEmployeeManager().isInJob(p, job); | |
} | |
/** | |
* | |
* @param p jogador a ser verificado | |
* @return retorna o trabalho atual do jogador | |
*/ | |
public JobType getEmployeeJob(String p) { | |
return SrEmpregos.getEmployeeManager().getEmployeeJob(p); | |
} | |
/** | |
* | |
* @param p jogador a ser verificado | |
* @return retorna o salário atual do jogador | |
*/ | |
public BigDecimal getEmployeeSalary(String p) { | |
return SrEmpregos.getEmployeeManager().getEmployeeSalary(p); | |
} | |
/** | |
* | |
* @param p jogador para definir o salário | |
* @param salary salário a ser dado | |
* @return define o salário do jogador | |
*/ | |
public Boolean setEmployeeSalary(String p, BigDecimal salary) { | |
return SrEmpregos.getEmployeeManager().setEmployeeSalary(p, salary); | |
} | |
/** | |
* | |
* @param p jogador para adicionar o salário | |
* @param salary salário | |
* @return aumenta o salário do jogador | |
*/ | |
public Boolean addEmployeeSalary(String p, BigDecimal salary) { | |
return SrEmpregos.getEmployeeManager().addEmployeeSalary(p, salary); | |
} | |
/** | |
* | |
* @param p jogador a ser removido | |
* @param salary salário a ser removido | |
* @return diminui o salário do jogador | |
*/ | |
public Boolean removeEmployeeSalary(String p, BigDecimal salary) { | |
return SrEmpregos.getEmployeeManager().removeEmployeeSalary(p, salary); | |
} | |
/** | |
* | |
* @param p jogador a ser verificado | |
* @return retorna a contagem para pegar o salário | |
*/ | |
public Integer getEmployeeCurrentMeta(String p) { | |
return SrEmpregos.getEmployeeManager().getEmployeeCurrentMeta(p); | |
} | |
/** | |
* | |
* @param p jogador a ter sua meta modificada | |
* @param value nova meta do jogador | |
* @return define a contagem para pegar osalário | |
*/ | |
public Boolean setEmployeeCurrentMeta(String p, Integer value) { | |
return SrEmpregos.getEmployeeManager().setEmployeeCurrentMeta(p, value); | |
} | |
/** | |
* | |
* @param p jogador a ser verificado | |
* @return retorna total de ações efetuadas (cortar, quebrar, pescar etc.) | |
*/ | |
public Integer getEmployeeMeta(String p) { | |
return SrEmpregos.getEmployeeManager().getEmployeeMeta(p); | |
} | |
/** | |
* | |
* @param p jogador a ter sua meta modificada | |
* @param value nova meta a ser dada | |
* @return define o total de ações efetuadas | |
*/ | |
public Boolean setEmployeeMeta(String p, Integer value) { | |
return SrEmpregos.getEmployeeManager().setEmployeeMeta(p, value); | |
} | |
/** | |
* | |
* @param p jogador a ser adicionado | |
* @param job emprego que será dado ao jogador | |
* @return adiciona um emprego ao jogador | |
*/ | |
public Boolean addJob(Player p, JobType job) { | |
return SrEmpregos.getEmployeeManager().contractPlayer(p, job); | |
} | |
/** | |
* | |
* @param p jogador a ser demitido | |
* @return demite o jogador do seu emprego atual | |
*/ | |
public Boolean dismissPlayer(String p) { | |
return SrEmpregos.getEmployeeManager().dismissPlayer(p); | |
} | |
/** | |
* | |
* @param p jogador a ter seu trabalho modificado | |
* @param job novo trabalho do jogador | |
* @return define o emprego do jogador | |
*/ | |
public Boolean setEmployeeJob(String p, JobType job) { | |
return SrEmpregos.getEmployeeManager().setEmployeeJob(p, job); | |
} | |
/** | |
* | |
* @param p jogador a ser verificado | |
* @return retorna a lista de ids das quests completadas pelo jogador | |
*/ | |
public List<String> getEmployeeQuests(String p) { | |
return SrEmpregos.getEmployeeManager().getEmployeeQuests(p); | |
} | |
/** | |
* | |
* @param p jogador a ter suas quests modificadas | |
* @param q quest a ser dada | |
* @return adiciona uma quest ao jogador | |
*/ | |
public Boolean addEmployeeQuests(String p, Quest q) { | |
return SrEmpregos.getEmployeeManager().addEmployeeQuests(p, q); | |
} | |
/** | |
* | |
* @param p jogador a ter a quest removida | |
* @param q quest a ser removida | |
* @return remove uma quest do jogador | |
*/ | |
public Boolean removeEmployeeQuest(String p, Quest q) { | |
return SrEmpregos.getEmployeeManager().removeEmployeeQuest(p, q); | |
} | |
/** | |
* | |
* @param p jogador a ser verificado | |
* @param q quest a ser verificada | |
* @return verifica se a quest do jogador está completada | |
*/ | |
public Boolean isCompleted(String p, Quest q) { | |
return SrEmpregos.getEmployeeManager().isCompleted(p, q); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.apis.events; | |
import br.com.blecaute.empregos.enums.JobType; | |
import lombok.Getter; | |
import org.bukkit.entity.Player; | |
import org.bukkit.event.HandlerList; | |
import org.bukkit.event.player.PlayerEvent; | |
public class JobContractEvent extends PlayerEvent { | |
@Getter private JobType job; | |
public JobContractEvent(Player p, JobType job) { | |
super(p); | |
this.job = job; | |
} | |
private static final HandlerList handler = new HandlerList(); | |
public static HandlerList getHandlerList() { | |
return handler; | |
} | |
@Override | |
public HandlerList getHandlers() { | |
return handler; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.apis.events; | |
import br.com.blecaute.empregos.enums.JobType; | |
import br.com.blecaute.empregos.objects.Employee; | |
import lombok.Getter; | |
import org.bukkit.event.Event; | |
import org.bukkit.event.HandlerList; | |
public class JobDismissEvent extends Event { | |
@Getter private Employee employee; | |
@Getter private JobType job; | |
private static final HandlerList handler = new HandlerList(); | |
public JobDismissEvent(Employee employee, JobType job) { | |
this.employee = employee; | |
this.job = job; | |
} | |
@Override | |
public HandlerList getHandlers() { | |
return handler; | |
} | |
public static HandlerList getHandlerList() { | |
return handler; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.apis.events; | |
import br.com.blecaute.empregos.enums.JobType; | |
import br.com.blecaute.empregos.objects.Employee; | |
import lombok.Getter; | |
import org.bukkit.entity.Player; | |
import org.bukkit.event.HandlerList; | |
import org.bukkit.event.player.PlayerEvent; | |
public class JobGetPaymentEvent extends PlayerEvent { | |
@Getter private Employee employee; | |
@Getter private JobType job; | |
private static final HandlerList handler = new HandlerList(); | |
public JobGetPaymentEvent(Player p, Employee employee, JobType job) { | |
super(p); | |
this.employee = employee; | |
this.job = job; | |
} | |
@Override | |
public HandlerList getHandlers() { | |
return handler; | |
} | |
public static HandlerList getHandlerList() { | |
return handler; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.apis.events; | |
import br.com.blecaute.empregos.objects.Employee; | |
import br.com.blecaute.empregos.objects.Quest; | |
import lombok.Getter; | |
import org.bukkit.entity.Player; | |
import org.bukkit.event.Cancellable; | |
import org.bukkit.event.HandlerList; | |
import org.bukkit.event.player.PlayerEvent; | |
public class JobQuestCompleteEvent extends PlayerEvent implements Cancellable { | |
@Getter private Quest quest; | |
@Getter private Employee employee; | |
private Boolean cancelled = false; | |
private static final HandlerList handler = new HandlerList(); | |
public JobQuestCompleteEvent(Player p, Quest quest, Employee employee) { | |
super(p); | |
this.quest = quest; | |
this.employee = employee; | |
} | |
@Override | |
public HandlerList getHandlers() { | |
return handler; | |
} | |
public static HandlerList getHandlerList() { | |
return handler; | |
} | |
@Override | |
public boolean isCancelled() { | |
return cancelled; | |
} | |
@Override | |
public void setCancelled(boolean b) { | |
this.cancelled = b; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.apis; | |
import br.com.blecaute.empregos.utils.ReflectionUtils; | |
import org.bukkit.inventory.ItemStack; | |
import java.lang.reflect.Method; | |
public class GlowAPI { | |
private static Class<?> NBTTagCompoundClass; | |
private static Class<?> NBTTagListClass; | |
private static Method asNMSCopy; | |
private static Method asCraftMirror; | |
private static Method hasNBTTagCompound; | |
private static Method getNBTTagCompound; | |
private static Method setNBTTagCompound; | |
private static Method setNBTBaseCompound; | |
public static ItemStack addGlow(ItemStack item) { | |
try { | |
Object NBTTagCompound = null; | |
Object CraftItemStack = asNMSCopy.invoke(null, item); | |
boolean hasNBTTag = (boolean) hasNBTTagCompound.invoke(CraftItemStack); | |
if (!hasNBTTag) { | |
NBTTagCompound = NBTTagCompoundClass.newInstance(); | |
setNBTBaseCompound.invoke(CraftItemStack, NBTTagCompound); | |
} | |
if (NBTTagCompound == null) NBTTagCompound = getNBTTagCompound.invoke(CraftItemStack); | |
setNBTBaseCompound.invoke(NBTTagCompound, "ench", NBTTagListClass.newInstance()); | |
setNBTTagCompound.invoke(CraftItemStack, NBTTagCompound); | |
return (ItemStack) asCraftMirror.invoke(null, CraftItemStack); | |
} catch (Throwable e) { | |
return item; | |
} | |
} | |
public static void load() { | |
try { | |
Class<?> itemStackClass = ReflectionUtils.getNMSClass("ItemStack"); | |
Class<?> craftItemStackClass = ReflectionUtils.getOBClass("inventory.CraftItemStack"); | |
NBTTagListClass = ReflectionUtils.getNMSClass("NBTTagList"); | |
NBTTagCompoundClass = ReflectionUtils.getNMSClass("NBTTagCompound"); | |
asNMSCopy = craftItemStackClass.getDeclaredMethod("asNMSCopy", ItemStack.class); | |
asCraftMirror = craftItemStackClass.getDeclaredMethod("asCraftMirror", itemStackClass); | |
hasNBTTagCompound = itemStackClass.getDeclaredMethod("hasTag"); | |
getNBTTagCompound = itemStackClass.getDeclaredMethod("getTag"); | |
setNBTTagCompound = itemStackClass.getDeclaredMethod("setTag", NBTTagCompoundClass); | |
Class<?> NBTBaseClass = ReflectionUtils.getNMSClass("NBTBase"); | |
setNBTBaseCompound = NBTTagCompoundClass.getDeclaredMethod("set", String.class, NBTBaseClass); | |
} catch (Throwable ignored) { } | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.apis; | |
import br.com.blecaute.empregos.SrEmpregos; | |
import br.com.blecaute.empregos.enums.JobType; | |
import br.com.blecaute.empregos.objects.Quest; | |
import java.math.BigDecimal; | |
import java.util.List; | |
public class JobAPI { | |
private JobAPI() {} | |
/** | |
* | |
* @param job emprego a ser verificado | |
* @return retorna o nome de um emprego | |
*/ | |
public String getJobName(JobType job) { | |
return SrEmpregos.getJobManager().getJobName(job); | |
} | |
/** | |
* | |
* @param job emprego a ser verificado | |
* @return retorna a tag de um emprego | |
*/ | |
public String getJobTag(JobType job) { | |
return SrEmpregos.getJobManager().getJobTag(job); | |
} | |
/** | |
* | |
* @param job emprego a ser verificado | |
* @return retorna o salário inicial do emprego | |
*/ | |
public BigDecimal getJobSalary(JobType job) { | |
return SrEmpregos.getJobManager().getJobSalary(job); | |
} | |
/** | |
* | |
* @param job emprego a ser verificado | |
* @return retorna a meta a ser concluida para receber o salário | |
*/ | |
public Integer getJobMeta(JobType job) { | |
return SrEmpregos.getJobManager().getJobMeta(job); | |
} | |
/** | |
* | |
* @param job emprego a ser verificado | |
* @return retorna a lista de mundos válidos para esse emprego | |
*/ | |
public List<String> getJobWorlds(JobType job) { | |
return SrEmpregos.getJobManager().getJobWorlds(job); | |
} | |
/** | |
* | |
* @param job emprego a ser verificado | |
* @return retorna a lista de quests do emprego | |
*/ | |
public List<Quest> getJobQuests(JobType job) { | |
return SrEmpregos.getJobManager().getJobQuests(job); | |
} | |
/** | |
* | |
* @param job emprego a ser verificado | |
* @param world mundo a ser verificado | |
* @return verifica se é um mundo válido | |
*/ | |
public Boolean isValidJobWorld(JobType job, String world) { | |
return SrEmpregos.getJobManager().isValidJobWorld(job, world); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.apis; | |
import br.com.blecaute.empregos.utils.ReflectionUtils; | |
import com.mojang.authlib.GameProfile; | |
import com.mojang.authlib.properties.Property; | |
import org.bukkit.Material; | |
import org.bukkit.inventory.ItemStack; | |
import org.bukkit.inventory.meta.SkullMeta; | |
import java.lang.reflect.Field; | |
import java.util.Base64; | |
import java.util.Base64.Encoder; | |
import java.util.UUID; | |
/** | |
* @author Mior | |
**/ | |
public class SkullAPI { | |
private static Encoder encoder; | |
private static ItemStack base; | |
private static Field profileField; | |
public static ItemStack getByUrl(String url) { | |
ItemStack skull = base.clone(); | |
try { | |
SkullMeta skullMeta = (SkullMeta) skull.getItemMeta(); | |
GameProfile profile = new GameProfile(UUID.randomUUID(), null); | |
byte[] encodedData = encoder.encode(String.format("{textures:{SKIN:{url:\"%s\"}}}", url).getBytes()); | |
profile.getProperties().put("textures", new Property("textures", new String(encodedData))); | |
profileField.set(skullMeta, profile); | |
skull.setItemMeta(skullMeta); | |
} catch (Throwable e) { | |
e.printStackTrace(); | |
} | |
return skull; | |
} | |
public static ItemStack getByName(String name) { | |
ItemStack skull = base.clone(); | |
SkullMeta meta = (SkullMeta) skull.getItemMeta(); | |
meta.setOwner(name); | |
skull.setItemMeta(meta); | |
return skull; | |
} | |
public static void load() { | |
try | |
{ | |
Class<?> skullMetaClass = ReflectionUtils.getOBClass("inventory.CraftMetaSkull"); | |
profileField = skullMetaClass.getDeclaredField("profile"); | |
profileField.setAccessible(true); | |
base = new ItemStack(Material.SKULL_ITEM); | |
base.setDurability((short) 3); | |
encoder = Base64.getEncoder(); | |
} | |
catch (Throwable ignored) {} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.database; | |
import java.sql.Connection; | |
import java.sql.SQLException; | |
public abstract class Database { | |
public abstract void close(); | |
public abstract Connection getConnection() throws SQLException; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.database; | |
import com.zaxxer.hikari.HikariDataSource; | |
import java.sql.Connection; | |
import java.sql.SQLException; | |
public class MySQL extends Database { | |
private final HikariDataSource source; | |
public MySQL(String host, String port, String database, String user, String password) { | |
source = new HikariDataSource(); | |
source.setMaximumPoolSize(10); | |
source.setJdbcUrl("jdbc:mysql://" + host + ":" + port + "/" + database); | |
source.setUsername(user); | |
source.setPassword(password); | |
source.addDataSourceProperty("autoReconnect", "true"); | |
} | |
@Override | |
public void close() { | |
source.close(); | |
} | |
@Override | |
public Connection getConnection() throws SQLException { | |
return source.getConnection(); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.database; | |
import br.com.blecaute.empregos.SrEmpregos; | |
import org.sqlite.SQLiteDataSource; | |
import java.io.File; | |
import java.sql.Connection; | |
import java.sql.SQLException; | |
public class SQLite extends Database { | |
private final SQLiteDataSource source = new SQLiteDataSource(); | |
@SuppressWarnings("ResultOfMethodCallIgnored") | |
public SQLite() { | |
try { | |
File pasta = new File(SrEmpregos.getInstance().getDataFolder() + File.separator + "database"); | |
if (!pasta.exists()) { | |
pasta.mkdirs(); | |
} | |
} catch (Throwable e) { | |
SrEmpregos.info("§cOcorreu um erro ao tentar criar a pasta da database: " + e.getMessage()); | |
return; | |
} | |
source.setUrl("jdbc:sqlite:" + new File(SrEmpregos.getInstance().getDataFolder() + File.separator + "database", "dados.db")); | |
} | |
@Override | |
public void close() { } | |
@Override | |
public Connection getConnection() throws SQLException { | |
return source.getConnection(); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.enums; | |
public enum GuiType { | |
JOBS, | |
CONFIRM, | |
QUESTS | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.enums; | |
import br.com.blecaute.empregos.SrEmpregos; | |
import br.com.blecaute.empregos.jobs.Job; | |
public enum JobType { | |
HUNTER, | |
FARMER, | |
KILLER, | |
LUMBERJACK, | |
MINER, | |
DIGGER, | |
FISHER; | |
public static String getName(String job) { | |
return SrEmpregos.getJobs().stream().filter(f -> f.getType().name().equalsIgnoreCase(job)).map(Job::getName).findFirst().orElse(""); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.hooks; | |
import br.com.blecaute.empregos.SrEmpregos; | |
import br.com.blecaute.empregos.enums.JobType; | |
import br.com.devpaulo.legendchat.api.events.ChatMessageEvent; | |
import org.bukkit.Bukkit; | |
import org.bukkit.event.EventHandler; | |
import org.bukkit.event.Listener; | |
public class LegendHook implements Listener { | |
private boolean enable; | |
public LegendHook() { | |
SrEmpregos.info("§aLegendchat encontrado... ativando implementação!"); | |
Bukkit.getServer().getPluginManager().registerEvents(this, SrEmpregos.getInstance()); | |
enable = SrEmpregos.getInstance().getConfig().getBoolean("Preferencias.Chat-Tag"); | |
} | |
@EventHandler | |
public void onChat(ChatMessageEvent e) { | |
if(!enable) return; | |
if(!e.getTags().contains("empregos")) return; | |
if(SrEmpregos.getEmployeeManager().hasJob(e.getSender().getName())) { | |
JobType job = SrEmpregos.getEmployeeManager().getEmployeeJob(e.getSender().getName()); | |
String tag = SrEmpregos.getJobManager().getJobTag(job); | |
e.setTagValue("empregos", tag); | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.hooks; | |
import be.maximvdw.placeholderapi.PlaceholderAPI; | |
import br.com.blecaute.empregos.SrEmpregos; | |
import br.com.blecaute.empregos.enums.JobType; | |
import br.com.blecaute.empregos.utils.Utils; | |
import org.bukkit.OfflinePlayer; | |
public class MvdwHook { | |
private String withoutJob; | |
private String bar; | |
private int amount; | |
private String colorCompleted; | |
private String colorIncomplete; | |
String first; | |
String end; | |
public MvdwHook() { | |
SrEmpregos.info("§aMVdWPlaceholderAPI encontrado... ativando implementação!"); | |
withoutJob = SrEmpregos.getInstance().getConfig().getString("Preferencias.Placeholder.Desempregado"); | |
bar = SrEmpregos.getInstance().getConfig().getString("Preferencias.Barra-De-Progress.Barra"); | |
amount = SrEmpregos.getInstance().getConfig().getInt("Preferencias.Barra-De-Progress.Quantidade"); | |
colorCompleted = SrEmpregos.getInstance().getConfig().getString("Preferencias.Barra-De-Progress.Cor-Completa").replace("&", "§"); | |
colorIncomplete = SrEmpregos.getInstance().getConfig().getString("Preferencias.Barra-De-Progress.Cor-Imcompleta").replace("&", "§"); | |
first = SrEmpregos.getInstance().getConfig().getString("Preferencias.Barra-De-Progress.Primeiro").replace("&", "§"); | |
end = SrEmpregos.getInstance().getConfig().getString("Preferencias.Barra-De-Progress.Ultimo").replace("&", "§"); | |
} | |
public void register() { | |
PlaceholderAPI.registerPlaceholder(SrEmpregos.getInstance(), "empregos_player_emprego", placeholderReplaceEvent -> { | |
if(placeholderReplaceEvent.getOfflinePlayer() == null) return null; | |
OfflinePlayer p = placeholderReplaceEvent.getOfflinePlayer(); | |
if (SrEmpregos.getEmployeeManager().hasJob(p.getName())) { | |
JobType job = SrEmpregos.getEmployeeManager().getEmployeeJob(p.getName()); | |
return SrEmpregos.getJobManager().getJobTag(job); | |
} else { | |
return withoutJob.replace("&", "§"); | |
} | |
}); | |
PlaceholderAPI.registerPlaceholder(SrEmpregos.getInstance(), "empregos_player_meta_total", placeholderReplaceEvent -> { | |
if(placeholderReplaceEvent.getOfflinePlayer() == null) return null; | |
OfflinePlayer p = placeholderReplaceEvent.getOfflinePlayer(); | |
return "" + SrEmpregos.getEmployeeManager().getEmployeeMeta(p.getName()); | |
}); | |
PlaceholderAPI.registerPlaceholder(SrEmpregos.getInstance(), "empregos_player_current", placeholderReplaceEvent -> { | |
if(placeholderReplaceEvent.getOfflinePlayer() == null) return null; | |
OfflinePlayer p = placeholderReplaceEvent.getOfflinePlayer(); | |
return "" + SrEmpregos.getEmployeeManager().getEmployeeCurrentMeta(p.getName()); | |
}); | |
PlaceholderAPI.registerPlaceholder(SrEmpregos.getInstance(), "empregos_player_quests", placeholderReplaceEvent -> { | |
if(placeholderReplaceEvent.getOfflinePlayer() == null) return null; | |
OfflinePlayer p = placeholderReplaceEvent.getOfflinePlayer(); | |
return "" + SrEmpregos.getEmployeeManager().getEmployeeQuests(p.getName()).size(); | |
}); | |
PlaceholderAPI.registerPlaceholder(SrEmpregos.getInstance(), "empregos_player_salary", placeholderReplaceEvent -> { | |
if(placeholderReplaceEvent.getOfflinePlayer() == null) return null; | |
OfflinePlayer p = placeholderReplaceEvent.getOfflinePlayer(); | |
return Utils.getNumberFormatted(SrEmpregos.getEmployeeManager().getEmployeeSalary(p.getName()).doubleValue()); | |
}); | |
PlaceholderAPI.registerPlaceholder(SrEmpregos.getInstance(), "empregos_player_progress", placeholderReplaceEvent -> { | |
if(placeholderReplaceEvent.getOfflinePlayer() == null) return null; | |
OfflinePlayer p = placeholderReplaceEvent.getOfflinePlayer(); | |
if (SrEmpregos.getEmployeeManager().hasJob(p.getName())) { | |
int current = SrEmpregos.getEmployeeManager().getEmployeeCurrentMeta(p.getName()); | |
JobType job = SrEmpregos.getEmployeeManager().getEmployeeJob(p.getName()); | |
int meta = SrEmpregos.getJobManager().getJobMeta(job); | |
return "" + (float) ((current * 100) / meta); | |
} else { | |
return "" + 0.0; | |
} | |
}); | |
PlaceholderAPI.registerPlaceholder(SrEmpregos.getInstance(), "empregos_player_progress_bar", placeholderReplaceEvent -> { | |
if(placeholderReplaceEvent.getOfflinePlayer() == null) return null; | |
OfflinePlayer p = placeholderReplaceEvent.getOfflinePlayer(); | |
int current = SrEmpregos.getEmployeeManager().getEmployeeCurrentMeta(p.getName()); | |
JobType job = SrEmpregos.getEmployeeManager().getEmployeeJob(p.getName()); | |
int meta = SrEmpregos.getJobManager().getJobMeta(job); | |
if (meta <= 0) meta = 100; | |
return first + Utils.getProgressBar(current, meta, bar, amount, colorCompleted, colorIncomplete) + end; | |
}); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.hooks; | |
import br.com.blecaute.empregos.SrEmpregos; | |
import br.com.blecaute.empregos.enums.JobType; | |
import br.com.blecaute.empregos.utils.Utils; | |
import me.clip.placeholderapi.expansion.PlaceholderExpansion; | |
import org.bukkit.OfflinePlayer; | |
public class PlaceholderHook extends PlaceholderExpansion { | |
private String withoutJob; | |
private String bar; | |
private int amount; | |
private String colorCompleted; | |
private String colorIncomplete; | |
String first; | |
String end; | |
public PlaceholderHook() { | |
SrEmpregos.info("§aPlaceholderAPI encontrado... ativando implementação!"); | |
withoutJob = SrEmpregos.getInstance().getConfig().getString("Preferencias.Placeholder.Desempregado"); | |
bar = SrEmpregos.getInstance().getConfig().getString("Preferencias.Barra-De-Progress.Barra"); | |
amount = SrEmpregos.getInstance().getConfig().getInt("Preferencias.Barra-De-Progress.Quantidade"); | |
colorCompleted = SrEmpregos.getInstance().getConfig().getString("Preferencias.Barra-De-Progress.Cor-Completa").replace("&", "§"); | |
colorIncomplete = SrEmpregos.getInstance().getConfig().getString("Preferencias.Barra-De-Progress.Cor-Imcompleta").replace("&", "§"); | |
first = SrEmpregos.getInstance().getConfig().getString("Preferencias.Barra-De-Progress.Primeiro").replace("&", "§"); | |
end = SrEmpregos.getInstance().getConfig().getString("Preferencias.Barra-De-Progress.Ultimo").replace("&", "§"); | |
} | |
@Override | |
public String getIdentifier() { | |
return "empregos"; | |
} | |
@Override | |
public String getAuthor() { | |
return "SrBlecaute"; | |
} | |
@Override | |
public String getVersion() { | |
return "1.0-SNAPSHOT"; | |
} | |
@Override | |
public String onRequest(OfflinePlayer p, String param) { | |
if(p == null) return null; | |
switch (param) { | |
case "player_emprego": | |
if (SrEmpregos.getEmployeeManager().hasJob(p.getName())) { | |
JobType job = SrEmpregos.getEmployeeManager().getEmployeeJob(p.getName()); | |
return SrEmpregos.getJobManager().getJobTag(job); | |
} else { | |
return withoutJob.replace("&", "§"); | |
} | |
case "player_meta_total": | |
return "" + SrEmpregos.getEmployeeManager().getEmployeeMeta(p.getName()); | |
case "player_current": | |
return "" + SrEmpregos.getEmployeeManager().getEmployeeCurrentMeta(p.getName()); | |
case "player_quests": | |
return "" + SrEmpregos.getEmployeeManager().getEmployeeQuests(p.getName()).size(); | |
case "player_salary": | |
return Utils.getNumberFormatted(SrEmpregos.getEmployeeManager().getEmployeeSalary(p.getName()).doubleValue()); | |
case "player_progress": { | |
if (SrEmpregos.getEmployeeManager().hasJob(p.getName())) { | |
int current = SrEmpregos.getEmployeeManager().getEmployeeCurrentMeta(p.getName()); | |
JobType job = SrEmpregos.getEmployeeManager().getEmployeeJob(p.getName()); | |
int meta = SrEmpregos.getJobManager().getJobMeta(job); | |
return "" + (float) ((current * 100) / meta); | |
} else { | |
return "" + 0.0; | |
} | |
} | |
case "player_progress_bar": { | |
int current = SrEmpregos.getEmployeeManager().getEmployeeCurrentMeta(p.getName()); | |
JobType job = SrEmpregos.getEmployeeManager().getEmployeeJob(p.getName()); | |
int meta = SrEmpregos.getJobManager().getJobMeta(job); | |
if (meta <= 0) meta = 100; | |
return first + Utils.getProgressBar(current, meta, bar, amount, colorCompleted, colorIncomplete) + end; | |
} | |
default: | |
break; | |
} | |
return null; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos; | |
import org.bukkit.Sound; | |
import org.bukkit.command.Command; | |
import org.bukkit.command.CommandExecutor; | |
import org.bukkit.command.CommandSender; | |
import org.bukkit.entity.Player; | |
public class JobCmd implements CommandExecutor { | |
@Override | |
public boolean onCommand(CommandSender s, Command cmd, String l, String[] args) { | |
if(cmd.getName().equalsIgnoreCase("emprego")) { | |
if(!(s instanceof Player)) { | |
s.sendMessage("§cApenas jogadores podem executar esse comando"); | |
return true; | |
} | |
Player p = (Player)s; | |
p.playSound(p.getLocation(), Sound.NOTE_PLING, 5, 1.0F); | |
SrEmpregos.getGuiManager().openJobsGui(p); | |
return true; | |
} | |
return false; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.jobs; | |
import br.com.blecaute.empregos.enums.JobType; | |
import br.com.blecaute.empregos.objects.Quest; | |
import lombok.AllArgsConstructor; | |
import java.math.BigDecimal; | |
import java.util.List; | |
@AllArgsConstructor | |
public class Digger implements Job { | |
private String name; | |
private String tag; | |
private BigDecimal salary; | |
private Integer meta; | |
private List<String> worlds; | |
private List<Quest> quests; | |
@Override | |
public String getName() { | |
return this.name; | |
} | |
@Override | |
public String getTag() { | |
return this.tag; | |
} | |
@Override | |
public JobType getType() { | |
return JobType.DIGGER; | |
} | |
@Override | |
public BigDecimal getSalary() { | |
return this.salary; | |
} | |
@Override | |
public Integer getMeta() { | |
return this.meta; | |
} | |
@Override | |
public List<String> getWorlds() { | |
return this.worlds; | |
} | |
@Override | |
public List<Quest> getQuests() { | |
return this.quests; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.jobs; | |
import br.com.blecaute.empregos.enums.JobType; | |
import br.com.blecaute.empregos.objects.Quest; | |
import lombok.AllArgsConstructor; | |
import java.math.BigDecimal; | |
import java.util.List; | |
@AllArgsConstructor | |
public class Farmer implements Job { | |
private String name; | |
private String tag; | |
private BigDecimal salary; | |
private Integer meta; | |
private List<String> worlds; | |
private List<Quest> quests; | |
@Override | |
public String getName() { | |
return this.name; | |
} | |
@Override | |
public String getTag() { | |
return this.tag; | |
} | |
@Override | |
public JobType getType() { | |
return JobType.FARMER; | |
} | |
@Override | |
public BigDecimal getSalary() { | |
return this.salary; | |
} | |
@Override | |
public Integer getMeta() { | |
return this.meta; | |
} | |
@Override | |
public List<String> getWorlds() { | |
return this.worlds; | |
} | |
@Override | |
public List<Quest> getQuests() { | |
return this.quests; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.jobs; | |
import br.com.blecaute.empregos.enums.JobType; | |
import br.com.blecaute.empregos.objects.Quest; | |
import lombok.AllArgsConstructor; | |
import java.math.BigDecimal; | |
import java.util.List; | |
@AllArgsConstructor | |
public class Fisher implements Job { | |
private String name; | |
private String tag; | |
private BigDecimal salary; | |
private Integer meta; | |
private List<String> worlds; | |
private List<Quest> quests; | |
@Override | |
public String getName() { | |
return this.name; | |
} | |
@Override | |
public String getTag() { | |
return this.tag; | |
} | |
@Override | |
public JobType getType() { | |
return JobType.FISHER; | |
} | |
@Override | |
public BigDecimal getSalary() { | |
return this.salary; | |
} | |
@Override | |
public Integer getMeta() { | |
return this.meta; | |
} | |
@Override | |
public List<String> getWorlds() { | |
return this.worlds; | |
} | |
@Override | |
public List<Quest> getQuests() { | |
return this.quests; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.jobs; | |
import br.com.blecaute.empregos.enums.JobType; | |
import br.com.blecaute.empregos.objects.Quest; | |
import lombok.AllArgsConstructor; | |
import java.math.BigDecimal; | |
import java.util.List; | |
@AllArgsConstructor | |
public class Hunter implements Job { | |
private String name; | |
private String tag; | |
private BigDecimal salary; | |
private Integer meta; | |
private List<String> worlds; | |
private List<Quest> quests; | |
@Override | |
public String getName() { | |
return this.name; | |
} | |
@Override | |
public String getTag() { | |
return this.tag; | |
} | |
@Override | |
public JobType getType() { | |
return JobType.HUNTER; | |
} | |
@Override | |
public BigDecimal getSalary() { | |
return this.salary; | |
} | |
@Override | |
public Integer getMeta() { | |
return this.meta; | |
} | |
@Override | |
public List<String> getWorlds() { | |
return this.worlds; | |
} | |
@Override | |
public List<Quest> getQuests() { | |
return this.quests; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.jobs; | |
import br.com.blecaute.empregos.enums.JobType; | |
import br.com.blecaute.empregos.objects.Quest; | |
import java.math.BigDecimal; | |
import java.util.List; | |
public interface Job { | |
String getName(); | |
String getTag(); | |
JobType getType(); | |
BigDecimal getSalary(); | |
Integer getMeta(); | |
List<String> getWorlds(); | |
List<Quest> getQuests(); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.jobs; | |
import br.com.blecaute.empregos.enums.JobType; | |
import br.com.blecaute.empregos.objects.Quest; | |
import lombok.AllArgsConstructor; | |
import java.math.BigDecimal; | |
import java.util.List; | |
@AllArgsConstructor | |
public class Killer implements Job { | |
private String name; | |
private String tag; | |
private BigDecimal salary; | |
private Integer meta; | |
private List<String> worlds; | |
private List<Quest> quests; | |
@Override | |
public String getName() { | |
return this.name; | |
} | |
@Override | |
public String getTag() { | |
return this.tag; | |
} | |
@Override | |
public JobType getType() { | |
return JobType.KILLER; | |
} | |
@Override | |
public BigDecimal getSalary() { | |
return this.salary; | |
} | |
@Override | |
public Integer getMeta() { | |
return this.meta; | |
} | |
@Override | |
public List<String> getWorlds() { | |
return this.worlds; | |
} | |
@Override | |
public List<Quest> getQuests() { | |
return this.quests; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.jobs; | |
import br.com.blecaute.empregos.enums.JobType; | |
import br.com.blecaute.empregos.objects.Quest; | |
import lombok.AllArgsConstructor; | |
import java.math.BigDecimal; | |
import java.util.List; | |
@AllArgsConstructor | |
public class Lumberjack implements Job { | |
private String name; | |
private String tag; | |
private BigDecimal salary; | |
private Integer meta; | |
private List<String> worlds; | |
private List<Quest> quests; | |
@Override | |
public String getName() { | |
return this.name; | |
} | |
@Override | |
public String getTag() { | |
return this.tag; | |
} | |
@Override | |
public JobType getType() { | |
return JobType.LUMBERJACK; | |
} | |
@Override | |
public BigDecimal getSalary() { | |
return this.salary; | |
} | |
@Override | |
public Integer getMeta() { | |
return this.meta; | |
} | |
@Override | |
public List<String> getWorlds() { | |
return this.worlds; | |
} | |
@Override | |
public List<Quest> getQuests() { | |
return this.quests; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.jobs; | |
import br.com.blecaute.empregos.enums.JobType; | |
import br.com.blecaute.empregos.objects.Quest; | |
import lombok.AllArgsConstructor; | |
import java.math.BigDecimal; | |
import java.util.List; | |
@AllArgsConstructor | |
public class Miner implements Job { | |
private String name; | |
private String tag; | |
private BigDecimal salary; | |
private Integer meta; | |
private List<String> worlds; | |
private List<Quest> quests; | |
@Override | |
public String getName() { | |
return this.name; | |
} | |
@Override | |
public String getTag() { | |
return this.tag; | |
} | |
@Override | |
public JobType getType() { | |
return JobType.MINER; | |
} | |
@Override | |
public BigDecimal getSalary() { | |
return this.salary; | |
} | |
@Override | |
public Integer getMeta() { | |
return this.meta; | |
} | |
@Override | |
public List<String> getWorlds() { | |
return this.worlds; | |
} | |
@Override | |
public List<Quest> getQuests() { | |
return this.quests; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.listeners; | |
import br.com.blecaute.empregos.SrEmpregos; | |
import br.com.blecaute.empregos.enums.JobType; | |
import br.com.blecaute.empregos.objects.Employee; | |
import br.com.blecaute.empregos.utils.JobUtils; | |
import org.bukkit.GameMode; | |
import org.bukkit.entity.Player; | |
import org.bukkit.event.EventHandler; | |
import org.bukkit.event.EventPriority; | |
import org.bukkit.event.Listener; | |
import org.bukkit.event.block.BlockBreakEvent; | |
import org.bukkit.material.Crops; | |
public class BreakEvent implements Listener { | |
@EventHandler(priority = EventPriority.HIGHEST) | |
public void onBlockBreak(BlockBreakEvent e) { | |
if(e.getPlayer().getGameMode().equals(GameMode.CREATIVE)) return; | |
if(SrEmpregos.getEmployeeManager().hasJob(e.getPlayer().getName())) { | |
Player p = e.getPlayer(); | |
JobType playerJob = SrEmpregos.getEmployeeManager().getEmployeeJob(p.getName()); | |
if(!SrEmpregos.getJobManager().isValidJobWorld(playerJob, p.getWorld().getName())) return; | |
if(playerJob.equals(JobType.MINER) || playerJob.equals(JobType.DIGGER) || playerJob.equals(JobType.FARMER) || playerJob.equals(JobType.LUMBERJACK)) { | |
if(SrEmpregos.getJobManager().isValidJobMaterial(playerJob, e.getBlock().getType())) { | |
if(playerJob.equals(JobType.FARMER)) { | |
if(e.getBlock().getState().getData() instanceof Crops && !JobUtils.isGrown(e.getBlock())) return; | |
} | |
Employee employee = SrEmpregos.getEmployeeManager().getEmployeeAccount(p.getName()); | |
employee.setCompletedMeta(employee.getCompletedMeta() + 1); | |
employee.setCurrentMeta(employee.getCurrentMeta() + 1); | |
JobUtils.executeEvents(p, employee, playerJob); | |
} | |
} | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.listeners; | |
import br.com.blecaute.empregos.SrEmpregos; | |
import br.com.blecaute.empregos.enums.JobType; | |
import br.com.blecaute.empregos.objects.GuiHolder; | |
import br.com.blecaute.empregos.utils.Utils; | |
import org.bukkit.Material; | |
import org.bukkit.Sound; | |
import org.bukkit.entity.Player; | |
import org.bukkit.event.EventHandler; | |
import org.bukkit.event.Listener; | |
import org.bukkit.event.inventory.InventoryClickEvent; | |
public class ClickEvent implements Listener { | |
@EventHandler | |
public void onClick(InventoryClickEvent e) { | |
if(e.getInventory() == null) return; | |
if(!(e.getInventory().getHolder() instanceof GuiHolder)) return; | |
if(e.getCurrentItem() == null || e.getCurrentItem().getType() == Material.AIR) return; | |
e.setCancelled(true); | |
Player p = (Player)e.getWhoClicked(); | |
GuiHolder holder = (GuiHolder) e.getInventory().getHolder(); | |
switch (holder.getType()) { | |
case JOBS: | |
if(e.getRawSlot() == 37) { | |
p.playSound(p.getLocation(), Sound.CLICK, 5, 1.0F); | |
if(!SrEmpregos.getEmployeeManager().hasJob(p.getName())) { | |
Utils.sendSound(p, SrEmpregos.getInstance().getConfig().getString("Sons.Erro")); | |
p.sendMessage(SrEmpregos.getMessagesManager().getMessage("sem.emprego")); | |
break; | |
} | |
JobType job = SrEmpregos.getEmployeeManager().getEmployeeJob(p.getName()); | |
SrEmpregos.getGuiManager().openQuests(p, 1, job); | |
break; | |
} | |
if(e.getRawSlot() == 44) { | |
p.playSound(p.getLocation(), Sound.CLICK, 5, 1.0F); | |
if(!SrEmpregos.getEmployeeManager().hasJob(p.getName())) { | |
Utils.sendSound(p, SrEmpregos.getInstance().getConfig().getString("Sons.Erro")); | |
p.sendMessage(SrEmpregos.getMessagesManager().getMessage("sem.emprego")); | |
break; | |
} | |
SrEmpregos.getGuiManager().openDismiss(p); | |
break; | |
} | |
JobType job = null; | |
switch (e.getRawSlot()) { | |
case 10: | |
job = JobType.MINER; | |
break; | |
case 12: | |
job = JobType.LUMBERJACK; | |
break; | |
case 14: | |
job = JobType.DIGGER; | |
break; | |
case 16: | |
job = JobType.HUNTER; | |
break; | |
case 20: | |
job = JobType.FISHER; | |
break; | |
case 22: | |
job = JobType.FARMER; | |
break; | |
case 24: | |
job = JobType.KILLER; | |
break; | |
default: | |
break; | |
} | |
if(job == null) break; | |
p.playSound(p.getLocation(), Sound.CLICK, 5, 1.0F); | |
if(SrEmpregos.getEmployeeManager().isInJob(p.getName(), job)) break; | |
if(SrEmpregos.getEmployeeManager().hasJob(p.getName())) { | |
Utils.sendSound(p, SrEmpregos.getInstance().getConfig().getString("Sons.Erro")); | |
p.sendMessage(SrEmpregos.getMessagesManager().getMessage("com.emprego")); | |
break; | |
} | |
p.closeInventory(); | |
if(SrEmpregos.getEmployeeManager().contractPlayer(p, job)) { | |
Utils.sendSound(p, SrEmpregos.getInstance().getConfig().getString("Sons.Sucesso")); | |
p.sendMessage(SrEmpregos.getMessagesManager().getMessage("contratado").replace("@emprego", SrEmpregos.getJobManager().getJobName(job))); | |
} else { | |
p.sendMessage("§cOcorreu um erro ao tentar fazer essa operação!"); | |
} | |
break; | |
case CONFIRM: | |
if(e.getRawSlot() == 11) { | |
p.closeInventory(); | |
p.playSound(p.getLocation(), Sound.VILLAGER_HAGGLE, 5, 1.0F); | |
break; | |
} | |
if(e.getRawSlot() == 15) { | |
p.closeInventory(); | |
p.playSound(p.getLocation(), Sound.CLICK, 5, 1.0F); | |
if(SrEmpregos.getEmployeeManager().dismissPlayer(p.getName())) { | |
Utils.sendSound(p, SrEmpregos.getInstance().getConfig().getString("Sons.Sucesso")); | |
p.sendMessage(SrEmpregos.getMessagesManager().getMessage("demissao")); | |
} else { | |
p.sendMessage("§cOcorreu um erro ao tentar fazer essa operação!"); | |
} | |
} | |
break; | |
case QUESTS: | |
if(e.getRawSlot() == 48) { | |
p.playSound(p.getLocation(), Sound.CLICK, 5, 1.0F); | |
int page = holder.getPage() - 1; | |
SrEmpregos.getGuiManager().openQuests(p, page, holder.getJob()); | |
break; | |
} | |
if(e.getRawSlot() == 49) { | |
p.playSound(p.getLocation(), Sound.CLICK, 5, 1.0F); | |
SrEmpregos.getGuiManager().openJobsGui(p); | |
break; | |
} | |
if(e.getRawSlot() == 50) { | |
p.playSound(p.getLocation(), Sound.CLICK, 5, 1.0F); | |
int page = holder.getPage() + 1; | |
SrEmpregos.getGuiManager().openQuests(p, page, holder.getJob()); | |
break; | |
} | |
break; | |
default: | |
break; | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.listeners; | |
import br.com.blecaute.empregos.SrEmpregos; | |
import br.com.blecaute.empregos.enums.JobType; | |
import br.com.blecaute.empregos.objects.Employee; | |
import br.com.blecaute.empregos.utils.JobUtils; | |
import org.bukkit.GameMode; | |
import org.bukkit.Material; | |
import org.bukkit.entity.Player; | |
import org.bukkit.event.EventHandler; | |
import org.bukkit.event.EventPriority; | |
import org.bukkit.event.Listener; | |
import org.bukkit.event.entity.EntityDeathEvent; | |
public class EntityEvent implements Listener { | |
@EventHandler(priority = EventPriority.HIGHEST) | |
public void onEntityDeath(EntityDeathEvent e) { | |
if(e.getEntity().getKiller() != null) { | |
Player p = e.getEntity().getKiller(); | |
if(p.getGameMode().equals(GameMode.CREATIVE)) return; | |
if(SrEmpregos.getEmployeeManager().hasJob(p.getName())) { | |
JobType playerJob = SrEmpregos.getEmployeeManager().getEmployeeJob(p.getName()); | |
if(!SrEmpregos.getJobManager().isValidJobWorld(playerJob, p.getWorld().getName())) return; | |
if(playerJob.equals(JobType.KILLER) || playerJob.equals(JobType.HUNTER)) { | |
if(SrEmpregos.getJobManager().isValidJobEntity(playerJob, e.getEntityType())) { | |
Employee employee = SrEmpregos.getEmployeeManager().getEmployeeAccount(p.getName()); | |
employee.setCompletedMeta(employee.getCompletedMeta() + 1); | |
employee.setCurrentMeta(employee.getCurrentMeta() + 1); | |
JobUtils.executeEvents(p, employee, playerJob); | |
} | |
} | |
} | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.listeners; | |
import br.com.blecaute.empregos.SrEmpregos; | |
import br.com.blecaute.empregos.enums.JobType; | |
import br.com.blecaute.empregos.objects.Employee; | |
import br.com.blecaute.empregos.utils.JobUtils; | |
import org.bukkit.GameMode; | |
import org.bukkit.entity.Item; | |
import org.bukkit.entity.Player; | |
import org.bukkit.event.EventHandler; | |
import org.bukkit.event.EventPriority; | |
import org.bukkit.event.Listener; | |
import org.bukkit.event.player.PlayerFishEvent; | |
public class FishEvent implements Listener { | |
@EventHandler(priority = EventPriority.HIGHEST) | |
public void onPlayerFish(PlayerFishEvent e) { | |
if(e.getPlayer().getGameMode().equals(GameMode.CREATIVE)) return; | |
if(!e.getState().equals(PlayerFishEvent.State.CAUGHT_FISH)) return; | |
if(!(e.getCaught() instanceof Item)) return; | |
if(SrEmpregos.getEmployeeManager().hasJob(e.getPlayer().getName())) { | |
Player p = e.getPlayer(); | |
JobType playerJob = SrEmpregos.getEmployeeManager().getEmployeeJob(p.getName()); | |
if(!SrEmpregos.getJobManager().isValidJobWorld(playerJob, p.getWorld().getName())) return; | |
if(playerJob.equals(JobType.FISHER)) { | |
Item item = (Item) e.getCaught(); | |
if(SrEmpregos.getJobManager().isValidJobMaterial(playerJob, item.getItemStack().getType())) { | |
Employee employee = SrEmpregos.getEmployeeManager().getEmployeeAccount(p.getName()); | |
employee.setCompletedMeta(employee.getCompletedMeta() + 1); | |
employee.setCurrentMeta(employee.getCurrentMeta() + 1); | |
JobUtils.executeEvents(p, employee, playerJob); | |
} | |
} | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.manager; | |
import br.com.blecaute.empregos.SrEmpregos; | |
import br.com.blecaute.empregos.apis.events.JobContractEvent; | |
import br.com.blecaute.empregos.apis.events.JobDismissEvent; | |
import br.com.blecaute.empregos.enums.JobType; | |
import br.com.blecaute.empregos.objects.Employee; | |
import br.com.blecaute.empregos.objects.Quest; | |
import org.bukkit.Bukkit; | |
import org.bukkit.entity.Player; | |
import java.math.BigDecimal; | |
import java.util.ArrayList; | |
import java.util.List; | |
public class EmployeeManager { | |
public Boolean hasJob(String p) { | |
return SrEmpregos.getEmployees().stream().anyMatch(m -> m.getName().equalsIgnoreCase(p)); | |
} | |
public Employee getEmployeeAccount(String p) { | |
return SrEmpregos.getEmployees().stream().filter(f -> f.getName().equalsIgnoreCase(p)).findFirst().orElse(null); | |
} | |
public Boolean isInJob(String p, JobType job) { | |
Employee employee = getEmployeeAccount(p); | |
if(employee != null) { | |
return employee.getJob().equals(job); | |
} | |
return false; | |
} | |
public JobType getEmployeeJob(String p) { | |
return SrEmpregos.getEmployees().stream().filter(f -> f.getName().equalsIgnoreCase(p)).map(Employee::getJob).findFirst().orElse(null); | |
} | |
public BigDecimal getEmployeeSalary(String p) { | |
return SrEmpregos.getEmployees().stream().filter(f -> f.getName().equalsIgnoreCase(p)).map(Employee::getSalary).findFirst().orElse(new BigDecimal("0")); | |
} | |
public Boolean setEmployeeSalary(String p, BigDecimal salary) { | |
Employee employee = getEmployeeAccount(p); | |
if(employee != null) { | |
employee.setSalary(salary); | |
return true; | |
} | |
return false; | |
} | |
public Boolean addEmployeeSalary(String p, BigDecimal salary) { | |
Employee employee = getEmployeeAccount(p); | |
if(employee != null) { | |
employee.addSalary(salary); | |
return true; | |
} | |
return false; | |
} | |
public Boolean removeEmployeeSalary(String p, BigDecimal salary) { | |
Employee employee = getEmployeeAccount(p); | |
if(employee != null) { | |
employee.removeSalary(salary); | |
return true; | |
} | |
return false; | |
} | |
public Integer getEmployeeCurrentMeta(String p) { | |
return SrEmpregos.getEmployees().stream().filter(f -> f.getName().equalsIgnoreCase(p)).map(Employee::getCurrentMeta).findFirst().orElse(0); | |
} | |
public Boolean setEmployeeCurrentMeta(String p, Integer value) { | |
Employee employee = getEmployeeAccount(p); | |
if(employee != null) { | |
employee.setCurrentMeta(value); | |
return true; | |
} | |
return false; | |
} | |
public Integer getEmployeeMeta(String p) { | |
return SrEmpregos.getEmployees().stream().filter(f -> f.getName().equalsIgnoreCase(p)).map(Employee::getCompletedMeta).findFirst().orElse(0); | |
} | |
public Boolean setEmployeeMeta(String p, Integer value) { | |
Employee employee = getEmployeeAccount(p); | |
if(employee != null) { | |
employee.setCompletedMeta(value); | |
return true; | |
} | |
return false; | |
} | |
public Boolean contractPlayer(Player p, JobType job) { | |
if(!hasJob(p.getName())) { | |
SrEmpregos.getEmployees().add(new Employee(p.getName(), job, SrEmpregos.getJobManager().getJobSalary(job))); | |
JobContractEvent event = new JobContractEvent(p, job); | |
Bukkit.getPluginManager().callEvent(event); | |
return true; | |
} | |
return false; | |
} | |
public Boolean dismissPlayer(String p) { | |
if(hasJob(p)) { | |
Employee employee = getEmployeeAccount(p); | |
SrEmpregos.getEmployees().remove(employee); | |
SrEmpregos.getSqlManager().deleteEmployee(employee); | |
JobDismissEvent event = new JobDismissEvent(employee, employee.getJob()); | |
Bukkit.getPluginManager().callEvent(event); | |
return true; | |
} | |
return false; | |
} | |
public Boolean setEmployeeJob(String p, JobType job) { | |
Employee employee = getEmployeeAccount(p); | |
if(employee != null) { | |
employee.setJob(job); | |
} | |
return false; | |
} | |
public List<String> getEmployeeQuests(String p) { | |
return SrEmpregos.getEmployees().stream().filter(f -> f.getName().equalsIgnoreCase(p)).map(Employee::getQuestsComplete).findFirst().orElse(new ArrayList<>()); | |
} | |
public Boolean addEmployeeQuests(String p, Quest q) { | |
Employee employee = getEmployeeAccount(p); | |
if(employee != null) { | |
if(q.getJob().equals(employee.getJob())) { | |
if(employee.getQuestsComplete().contains(q.getId())) { | |
employee.getQuestsComplete().add(q.getId()); | |
return true; | |
} | |
} | |
} | |
return false; | |
} | |
public Boolean removeEmployeeQuest(String p, Quest q) { | |
Employee employee = getEmployeeAccount(p); | |
if(employee != null) { | |
if(q.getJob().equals(employee.getJob())) { | |
if(employee.getQuestsComplete().contains(q.getId())) { | |
employee.getQuestsComplete().removeIf(f -> q.getId().equals(f)); | |
return true; | |
} | |
} | |
} | |
return false; | |
} | |
public Boolean isCompleted(String p, Quest q) { | |
Employee employee = getEmployeeAccount(p); | |
if(employee != null) { | |
if(q.getJob().equals(employee.getJob())) { | |
return employee.getQuestsComplete().stream().anyMatch(m -> q.getId().equals(m)); | |
} | |
} | |
return false; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.manager; | |
import br.com.blecaute.empregos.SrEmpregos; | |
import br.com.blecaute.empregos.apis.GlowAPI; | |
import br.com.blecaute.empregos.apis.SkullAPI; | |
import br.com.blecaute.empregos.enums.GuiType; | |
import br.com.blecaute.empregos.enums.JobType; | |
import br.com.blecaute.empregos.objects.GuiHolder; | |
import br.com.blecaute.empregos.objects.Quest; | |
import br.com.blecaute.empregos.utils.ItemBuilder; | |
import br.com.blecaute.empregos.utils.Utils; | |
import org.bukkit.Bukkit; | |
import org.bukkit.Material; | |
import org.bukkit.configuration.file.FileConfiguration; | |
import org.bukkit.entity.Player; | |
import org.bukkit.inventory.Inventory; | |
import org.bukkit.inventory.ItemStack; | |
import java.util.HashMap; | |
import java.util.List; | |
import java.util.stream.Collectors; | |
public class GuiManager { | |
private String guiName; | |
private String selectJob; | |
private String selectedJob; | |
private String jobStatus; | |
private String itemInfoName; | |
private List<String> itemInfoLore; | |
private String questName; | |
private List<String> questLore; | |
private ItemStack miner; | |
private ItemStack farmer; | |
private ItemStack fisher; | |
private ItemStack hunter; | |
private ItemStack killer; | |
private ItemStack lumber; | |
private ItemStack digger; | |
private ItemStack itemConfirm; | |
private ItemStack itemCancel; | |
private ItemStack quitJob; | |
private ItemStack quests; | |
private HashMap<JobType, String> type = new HashMap<>(); | |
public GuiManager() { | |
load(); | |
} | |
public void openJobsGui(Player p) { | |
Inventory inv = Bukkit.createInventory(new GuiHolder(GuiType.JOBS), 5 * 9, this.guiName); | |
JobType job = SrEmpregos.getEmployeeManager().getEmployeeJob(p.getName()); | |
inv.setItem(10, getJobItem(miner, JobType.MINER, job)); | |
inv.setItem(12, getJobItem(lumber, JobType.LUMBERJACK, job)); | |
inv.setItem(14, getJobItem(digger, JobType.DIGGER, job)); | |
inv.setItem(16, getJobItem(hunter, JobType.HUNTER, job)); | |
inv.setItem(20, getJobItem(fisher, JobType.FISHER, job)); | |
inv.setItem(22, getJobItem(farmer, JobType.FARMER, job)); | |
inv.setItem(24, getJobItem(killer, JobType.KILLER, job)); | |
String name = changePlayerValues(p, itemInfoName); | |
List<String> lore = itemInfoLore.stream().map(m -> changePlayerValues(p, m.replace("&", "§"))).collect(Collectors.toList()); | |
inv.setItem(36, new ItemBuilder(SkullAPI.getByName(p.getName())).setName(name).setLore(lore).toItemStack()); | |
inv.setItem(37, quests); | |
inv.setItem(44, quitJob); | |
p.openInventory(inv); | |
} | |
public void openDismiss(Player p) { | |
Inventory inv = Bukkit.createInventory(new GuiHolder(GuiType.CONFIRM), 3 * 9, "§8Sair do emprego ?"); | |
inv.setItem(11, itemCancel); | |
inv.setItem(13, quitJob); | |
inv.setItem(15, itemConfirm); | |
p.openInventory(inv); | |
} | |
public void openQuests(Player p, int page, JobType job) { | |
int start = 11, index = page * 15 - 15; | |
Inventory inv = Bukkit.createInventory(new GuiHolder(GuiType.QUESTS, page, job), 6 * 9, "§8Suas conquistas"); | |
List<Quest> quests = SrEmpregos.getJobManager().getJobQuests(job); | |
EmployeeManager employee = SrEmpregos.getEmployeeManager(); | |
for(; index < quests.size(); index++) { | |
ItemStack item; | |
Quest q = quests.get(index); | |
String name = changeQuestValues(job, q, this.questName); | |
List<String> lore = this.questLore.stream().map(m -> changeQuestValues(job, q, m)).collect(Collectors.toList()); | |
if(employee.isCompleted(p.getName(), q)) { | |
lore.add("§aQuest concluida"); | |
item = GlowAPI.addGlow(new ItemBuilder(Material.BOOK).setName(name).setLore(lore).toItemStack()); | |
} else { | |
lore.add("§cQuest não concluida"); | |
item = new ItemBuilder(Material.PAPER).setName(name).setLore(lore).toItemStack(); | |
} | |
inv.setItem(start, item); | |
start++; | |
if(start == 16 || start == 25) { | |
start += 4; | |
} else if(start == 34) { | |
break; | |
} | |
} | |
inv.setItem(49, new ItemBuilder(Material.BOOK_AND_QUILL).setName("§aMenu princiapl").toItemStack()); | |
if(page > 1) inv.setItem(48, new ItemBuilder(Material.ARROW).setName("§7Voltar").toItemStack()); | |
if(page * 15 - 15 > quests.size()) inv.setItem(48, new ItemBuilder(Material.ARROW).setName("§7Próxima página").toItemStack()); | |
p.openInventory(inv); | |
} | |
public void load() { | |
FileConfiguration config = SrEmpregos.getInstance().getConfig(); | |
guiName = config.getString("Empregos-Gui.Nome").replace("&", "§"); | |
selectJob = config.getString("Empregos-Gui.Seleionar-Emprego").replace("&", "§"); | |
selectedJob = config.getString("Empregos-Gui.Emprego-Selecionado").replace("&", "§"); | |
miner = getItemFromConfig(config, "Empregos-Gui.Minerador", JobType.MINER); | |
farmer = getItemFromConfig(config, "Empregos-Gui.Fazendeiro", JobType.FARMER); | |
fisher = getItemFromConfig(config, "Empregos-Gui.Pescador", JobType.FISHER); | |
hunter = getItemFromConfig(config, "Empregos-Gui.Cacador", JobType.HUNTER); | |
killer = getItemFromConfig(config, "Empregos-Gui.Assassino", JobType.KILLER); | |
lumber = getItemFromConfig(config, "Empregos-Gui.Lenhador", JobType.LUMBERJACK); | |
digger = getItemFromConfig(config, "Empregos-Gui.Escavador", JobType.DIGGER); | |
itemConfirm = getItemFromConfig(config, "Item-Confirmar", null); | |
itemCancel = getItemFromConfig(config, "Item-Cancelar", null); | |
quitJob = getItemFromConfig(config, "Item-Pedir-As-Contas", null); | |
quests = getItemFromConfig(config, "Item-Conquistas", null); | |
jobStatus = config.getString("Empregos-Gui.Sem-Emprego").replace("&", "§"); | |
itemInfoName = config.getString("Item-Info.Nome").replace("&", "§"); | |
itemInfoLore = config.getStringList("Item-Info.Lore").stream().map(m -> m.replace("&", "§")).collect(Collectors.toList()); | |
type.put(JobType.MINER, config.getString("Item-Quest.Tipos.Minerador")); | |
type.put(JobType.KILLER, config.getString("Item-Quest.Tipos.Assassino")); | |
type.put(JobType.FISHER, config.getString("Item-Quest.Tipos.Pescador")); | |
type.put(JobType.FARMER, config.getString("Item-Quest.Tipos.Fazendeiro")); | |
type.put(JobType.LUMBERJACK, config.getString("Item-Quest.Tipos.Lenhador")); | |
type.put(JobType.DIGGER, config.getString("Item-Quest.Tipos.Escavador")); | |
type.put(JobType.HUNTER, config.getString("Item-Quest.Tipos.Cacador")); | |
questName = config.getString("Item-Quest.Nome").replace("&", "§"); | |
questLore = config.getStringList("Item-Quest.Lore").stream().map(m -> m.replace("&", "§")).collect(Collectors.toList()); | |
} | |
private String getAction(JobType job, int type) { | |
String[] value = this.type.get(job).split("-"); | |
if(value.length >= 2) { | |
return type == 1 ? value[0] : value[1]; | |
} | |
return ""; | |
} | |
private ItemStack getJobItem(ItemStack item, JobType job, JobType playerJob) { | |
String toAdd = job.equals(playerJob) ? selectedJob : selectJob; | |
List<String> lore = item.getItemMeta().getLore(); | |
lore.add(toAdd); | |
ItemStack toReturn = new ItemBuilder(item.clone()).setLore(lore).toItemStack(); | |
if(job.equals(playerJob)) { | |
toReturn = GlowAPI.addGlow(toReturn); | |
} | |
return toReturn; | |
} | |
private ItemStack getItemFromConfig(FileConfiguration config, String node, JobType job) { | |
ItemStack items = config.getBoolean( node + ".Skull.Ativado") ? | |
SkullAPI.getByUrl(config.getString(node + ".Skull.Url")) : | |
getItemDeserializer(config.getString(node + ".ID-Data")); | |
if(items != null) { | |
ItemBuilder ib = new ItemBuilder(items); | |
ib.setName(changeValues(job, config.getString(node + ".Nome").replace("&", "§"))); | |
ib.setLore(config.getStringList(node + ".Lore").stream().map(s -> changeValues(job, s.replace("&", "§"))).collect(Collectors.toList())); | |
return ib.toItemStack(); | |
} | |
return new ItemStack(Material.BARRIER); | |
} | |
@SuppressWarnings("deprecation") | |
private ItemStack getItemDeserializer(String serialized) { | |
String[] item = serialized.split(":"); | |
int id = 0, data = 0; | |
try { | |
id = Integer.parseInt(item[0]); | |
if(item.length == 2) { | |
data = Integer.parseInt(item[1]); | |
} | |
} catch (NumberFormatException ignored) {} | |
return new ItemStack(Material.getMaterial(id), 1, (short) data); | |
} | |
private String changePlayerValues(Player p, String msg) { | |
EmployeeManager employee = SrEmpregos.getEmployeeManager(); | |
JobManager manager = SrEmpregos.getJobManager(); | |
String meta = employee.hasJob(p.getName()) ? "" + manager.getJobMeta(employee.getEmployeeJob(p.getName())) : "0"; | |
String job = employee.hasJob(p.getName()) ? manager.getJobName(employee.getEmployeeJob(p.getName())) : jobStatus; | |
return msg | |
.replace("@quests", "" + employee.getEmployeeQuests(p.getName()).size()) | |
.replace("@salario", Utils.getNumberFormatted(employee.getEmployeeSalary(p.getName()).doubleValue())) | |
.replace("@total", "" + employee.getEmployeeMeta(p.getName())) | |
.replace("@meta", meta) | |
.replace("@current", "" + employee.getEmployeeCurrentMeta(p.getName())) | |
.replace("@tag", manager.getJobTag(employee.getEmployeeJob(p.getName())).replace("&", "§")) | |
.replace("@emprego", job.replace("&", "§")) | |
.replace("@player", p.getName()); | |
} | |
private String changeQuestValues(JobType job, Quest q, String msg) { | |
return msg | |
.replace("@tipo2", getAction(job, 2)) | |
.replace("@tipo1", getAction(job, 1)) | |
.replace("@quantia", "" + q.getMeta()) | |
.replace("@emprego", JobType.getName(job.name())) | |
.replace("&", "§"); | |
} | |
private String changeValues(JobType job, String msg) { | |
if(job == null) return msg; | |
JobManager manager = SrEmpregos.getJobManager(); | |
return msg | |
.replace("@emprego", JobType.getName(job.name()).replace("&", "§")) | |
.replace("@tag", manager.getJobTag(job).replace("&", "§")) | |
.replace("@meta", "" + manager.getJobMeta(job)) | |
.replace("@salario", Utils.getNumberFormatted(manager.getJobSalary(job).doubleValue())) | |
.replace("@quests", "" + manager.getJobQuests(job).size()); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.manager; | |
import br.com.blecaute.empregos.SrEmpregos; | |
import br.com.blecaute.empregos.enums.JobType; | |
import br.com.blecaute.empregos.jobs.Job; | |
import br.com.blecaute.empregos.objects.Quest; | |
import br.com.blecaute.empregos.utils.FileUtils; | |
import org.bukkit.Material; | |
import org.bukkit.configuration.file.FileConfiguration; | |
import org.bukkit.entity.EntityType; | |
import java.math.BigDecimal; | |
import java.util.ArrayList; | |
import java.util.HashMap; | |
import java.util.List; | |
import java.util.stream.Collectors; | |
public class JobManager { | |
private HashMap<JobType, List<Material>> validWMaterials = new HashMap<>(); | |
private HashMap<JobType, List<EntityType>> validEntity = new HashMap<>(); | |
public JobManager() { | |
List<Material> miner = checkMaterials(FileUtils.getConfiguration(FileUtils.getFile("minerador", "empregos"))); | |
List<Material> digger = checkMaterials(FileUtils.getConfiguration(FileUtils.getFile("escavador", "empregos"))); | |
List<Material> lumber = checkMaterials(FileUtils.getConfiguration(FileUtils.getFile("lenhador", "empregos"))); | |
List<Material> farmer = checkMaterials(FileUtils.getConfiguration(FileUtils.getFile("fazendeiro", "empregos"))); | |
List<Material> fisher = checkMaterials(FileUtils.getConfiguration(FileUtils.getFile("pescador", "empregos"))); | |
validWMaterials.put(JobType.MINER, miner); | |
validWMaterials.put(JobType.DIGGER, digger); | |
validWMaterials.put(JobType.LUMBERJACK, lumber); | |
validWMaterials.put(JobType.FARMER, farmer); | |
validWMaterials.put(JobType.FISHER, fisher); | |
List<EntityType> killer = checkEntity(FileUtils.getConfiguration(FileUtils.getFile("assassino", "empregos"))); | |
List<EntityType> hunter = checkEntity(FileUtils.getConfiguration(FileUtils.getFile("cacador", "empregos"))); | |
validEntity.put(JobType.KILLER, killer); | |
validEntity.put(JobType.HUNTER, hunter); | |
} | |
public String getJobName(JobType job) { | |
return SrEmpregos.getJobs().stream().filter(f -> f.getType().equals(job)).map(Job::getName).findFirst().orElse("invalid"); | |
} | |
public String getJobTag(JobType job) { | |
return SrEmpregos.getJobs().stream().filter(f -> f.getType().equals(job)).map(Job::getTag).findFirst().orElse(""); | |
} | |
public BigDecimal getJobSalary(JobType job) { | |
return SrEmpregos.getJobs().stream().filter(f -> f.getType().equals(job)).map(Job::getSalary).findFirst().orElse(new BigDecimal("0")); | |
} | |
public Integer getJobMeta(JobType job) { | |
return SrEmpregos.getJobs().stream().filter(f -> f.getType().equals(job)).map(Job::getMeta).findFirst().orElse(0); | |
} | |
public List<String> getJobWorlds(JobType job) { | |
return SrEmpregos.getJobs().stream().filter(f -> f.getType().equals(job)).map(Job::getWorlds).findFirst().orElse(new ArrayList<>()); | |
} | |
public List<Quest> getJobQuests(JobType job) { | |
return SrEmpregos.getJobs().stream().filter(f -> f.getType().equals(job)).map(Job::getQuests).findFirst().orElse(new ArrayList<>()); | |
} | |
public Boolean isValidJobWorld(JobType job, String world) { | |
return this.getJobWorlds(job).stream().anyMatch(w -> w.equalsIgnoreCase(world)); | |
} | |
public Boolean isValidJobMaterial(JobType job, Material m) { | |
return validWMaterials.containsKey(job) && validWMaterials.get(job).contains(m); | |
} | |
public Boolean isValidJobEntity(JobType job, EntityType entity) { | |
return validEntity.containsKey(job) && validEntity.get(job).contains(entity); | |
} | |
private List<Material> checkMaterials(FileConfiguration config) { | |
return config.getStringList("Validos").stream().filter(f -> { | |
try { | |
Material.valueOf(f.toUpperCase()); | |
return true; | |
} catch (IllegalArgumentException e) { | |
SrEmpregos.info("§cO material " + f + " não é um material válido!"); | |
return false; | |
} | |
}).map(e -> Material.valueOf(e.toUpperCase())).collect(Collectors.toList()); | |
} | |
private List<EntityType> checkEntity(FileConfiguration config) { | |
return config.getStringList("Validos").stream().filter(f -> { | |
try { | |
EntityType.valueOf(f); | |
return true; | |
} catch (IllegalArgumentException e) { | |
SrEmpregos.info("§cA entidade " + f + " não é uma entidade válida!"); | |
return false; | |
} | |
}).map(m -> EntityType.valueOf(m.toUpperCase())).collect(Collectors.toList()); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.manager; | |
import br.com.blecaute.empregos.SrEmpregos; | |
import org.bukkit.configuration.file.FileConfiguration; | |
import java.util.ArrayList; | |
import java.util.HashMap; | |
import java.util.List; | |
import java.util.stream.Collectors; | |
public class MessagesManager { | |
private static HashMap<String, String> map = new HashMap<>(); | |
private static HashMap<String, List<String>> list = new HashMap<>(); | |
public MessagesManager() { | |
load(); | |
} | |
public void load() { | |
FileConfiguration config = SrEmpregos.getInstance().getConfig(); | |
map.put("sem.emprego", config.getString("Mensagens.Sem-Emprego")); | |
map.put("com.emprego", config.getString("Mensagens.Com-Emprego")); | |
map.put("contratado", config.getString("Mensagens.Foi-Contratado")); | |
map.put("demissao", config.getString("Mensagens.Pediu-Demissao")); | |
list.put("pagamento", config.getStringList("Mensagens.Recebeu-Pagamento")); | |
} | |
public String getMessage(String key) { | |
return map.getOrDefault(key, "").replace("&", "§"); | |
} | |
public List<String> getMessageList(String key) { | |
return list.getOrDefault(key, new ArrayList<>()).stream().map(m -> m.replace("&", "§")).collect(Collectors.toList()); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.manager; | |
import br.com.blecaute.empregos.SrEmpregos; | |
import br.com.blecaute.empregos.enums.JobType; | |
import br.com.blecaute.empregos.objects.Employee; | |
import br.com.blecaute.empregos.utils.JobUtils; | |
import com.google.common.collect.ImmutableList; | |
import java.math.BigDecimal; | |
import java.sql.Connection; | |
import java.sql.PreparedStatement; | |
import java.sql.ResultSet; | |
import java.sql.SQLException; | |
import java.util.ArrayList; | |
import java.util.List; | |
import java.util.concurrent.CompletableFuture; | |
import java.util.concurrent.Executor; | |
import java.util.concurrent.ForkJoinPool; | |
public class SQLManager { | |
private final String table = "`SrEmpregos`"; | |
private final Executor executor = ForkJoinPool.commonPool(); | |
public void createTable(String table, String column) { | |
try (Connection c = SrEmpregos.getDb().getConnection()) { | |
c.createStatement().execute("CREATE TABLE IF NOT EXISTS " + table + " (" + column + ")"); | |
} catch (SQLException e) { | |
SrEmpregos.info("§cOcorreu um erro ao tentar criar a tabela do plugin (" + e.getMessage() + ")"); | |
} | |
} | |
public List<Employee> getEmployees() { | |
List<Employee> list = new ArrayList<>(); | |
try (Connection c = SrEmpregos.getDb().getConnection()) { | |
try(ResultSet rs = c.createStatement().executeQuery("SELECT * FROM " + table)) { | |
while(rs.next()) { | |
String name = rs.getString("name"); | |
JobType job; | |
try { | |
job = JobType.valueOf(rs.getString("job")); | |
} catch (IllegalArgumentException e) { | |
SrEmpregos.info("§cNão foi possível carregar os dados do jogador " + name); | |
continue; | |
} | |
BigDecimal balance = new BigDecimal(rs.getString("salary")); | |
int current = rs.getInt("current"); | |
int meta = rs.getInt("total"); | |
List<String> quests = JobUtils.deserializeQuests(rs.getString("quests")); | |
list.add(new Employee(name, job, balance, current, meta, quests)); | |
} | |
} | |
} catch (SQLException e) { | |
SrEmpregos.info("§cOcorreu um erro ao tentar puxar os dados dos jogadores (" + e.getMessage() + ")"); | |
} | |
return list; | |
} | |
public void saveEmployees() { | |
ImmutableList<Employee> employees = ImmutableList.copyOf(SrEmpregos.getEmployees()); | |
try (Connection c = SrEmpregos.getDb().getConnection()) { | |
for(Employee employee : employees) { | |
try(PreparedStatement ps = c.prepareStatement("SELECT * FROM " + table + " WHERE `name` = ?")) { | |
ps.setString(1, employee.getName()); | |
try(ResultSet rs = ps.executeQuery()) { | |
if(rs.next()) { | |
try(PreparedStatement ps1 = c.prepareStatement("UPDATE " + table + " SET `job` = ?, `salary` = ?, `current` = ?, `total` = ?, `quests` = ? WHERE `name` = ?")) { | |
ps1.setString(1, employee.getJob().name()); | |
ps1.setString(2, employee.getSalary().toPlainString()); | |
ps1.setInt(3, employee.getCurrentMeta()); | |
ps1.setInt(4, employee.getCompletedMeta()); | |
ps1.setString(5, JobUtils.serializeQuests(employee.getQuestsComplete())); | |
ps1.setString(6, employee.getName()); | |
ps1.executeUpdate(); | |
} | |
} else { | |
try(PreparedStatement ps2 = c.prepareStatement("INSERT INTO " + table + " (`name`, `job`, `salary`, `current`, `total`, `quests`) VALUES (?,?,?,?,?,?)")) { | |
ps2.setString(1, employee.getName()); | |
ps2.setString(2, employee.getJob().name()); | |
ps2.setString(3, employee.getSalary().toPlainString()); | |
ps2.setInt(4, employee.getCurrentMeta()); | |
ps2.setInt(5, employee.getCompletedMeta()); | |
ps2.setString(6, JobUtils.serializeQuests(employee.getQuestsComplete())); | |
ps2.executeUpdate(); | |
} | |
} | |
} | |
} | |
} | |
} catch (SQLException e) { | |
SrEmpregos.info("§cOcorreu um erro ao tentar salvar os dados dos jogadores (" + e.getMessage() + ")"); | |
} | |
} | |
public void deleteEmployee(Employee employee) { | |
CompletableFuture.runAsync(() -> { | |
try (Connection c = SrEmpregos.getDb().getConnection()) { | |
try(PreparedStatement ps = c.prepareStatement("DELETE FROM " + table + " WHERE `name` = ?")) { | |
ps.setString(1, employee.getName()); | |
ps.executeUpdate(); | |
} | |
} catch (SQLException e) { | |
SrEmpregos.info("§cOcorreu um erro ao tentar deletar os dados do jogador " + employee.getName() + " (" + e.getMessage() + ")"); | |
} | |
}, executor); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.objects; | |
import br.com.blecaute.empregos.enums.JobType; | |
import lombok.Getter; | |
import lombok.Setter; | |
import java.math.BigDecimal; | |
import java.util.ArrayList; | |
import java.util.List; | |
public class Employee { | |
@Getter private String name; | |
@Getter @Setter private JobType job; | |
@Getter @Setter private BigDecimal salary; | |
@Getter @Setter private Integer currentMeta = 0; | |
@Getter @Setter private Integer completedMeta = 0; | |
@Getter @Setter private List<String> questsComplete = new ArrayList<>(); | |
public Employee(String name, JobType job, BigDecimal salary) { | |
this.name = name; | |
this.job = job; | |
this.salary = salary; | |
} | |
public Employee(String name, JobType job, BigDecimal salary, Integer currentMeta, Integer completedMeta, List<String> quests) { | |
this.name = name; | |
this.job = job; | |
this.salary = salary; | |
this.currentMeta = currentMeta; | |
this.completedMeta = completedMeta; | |
this.questsComplete = quests; | |
} | |
public void addSalary(BigDecimal value) { | |
this.salary = this.salary.add(value); | |
} | |
public void removeSalary(BigDecimal value) { | |
this.salary = this.salary.subtract(value); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.objects; | |
import br.com.blecaute.empregos.enums.GuiType; | |
import br.com.blecaute.empregos.enums.JobType; | |
import lombok.Getter; | |
import org.bukkit.inventory.Inventory; | |
import org.bukkit.inventory.InventoryHolder; | |
public class GuiHolder implements InventoryHolder { | |
@Getter private GuiType type; | |
@Getter private int page; | |
@Getter private JobType job; | |
public GuiHolder(GuiType type) { | |
this.type = type; | |
} | |
public GuiHolder(GuiType type, int page, JobType job) { | |
this.type = type; | |
this.page = page; | |
this.job = job; | |
} | |
@Override | |
public Inventory getInventory() { | |
return null; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.objects; | |
import br.com.blecaute.empregos.enums.JobType; | |
import lombok.AllArgsConstructor; | |
import lombok.Getter; | |
import lombok.Setter; | |
import java.math.BigDecimal; | |
import java.util.List; | |
@AllArgsConstructor | |
public class Quest { | |
@Getter private String id; | |
@Getter private JobType job; | |
@Getter @Setter private BigDecimal salary; | |
@Getter @Setter private Integer meta; | |
@Getter private Boolean increaseSalary; | |
@Getter @Setter private List<String> messageComplete; | |
@Getter @Setter private List<String> commands; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos; | |
import br.com.blecaute.empregos.apis.GlowAPI; | |
import br.com.blecaute.empregos.apis.SkullAPI; | |
import br.com.blecaute.empregos.database.Database; | |
import br.com.blecaute.empregos.database.MySQL; | |
import br.com.blecaute.empregos.database.SQLite; | |
import br.com.blecaute.empregos.enums.JobType; | |
import br.com.blecaute.empregos.hooks.LegendHook; | |
import br.com.blecaute.empregos.hooks.MvdwHook; | |
import br.com.blecaute.empregos.hooks.PlaceholderHook; | |
import br.com.blecaute.empregos.jobs.*; | |
import br.com.blecaute.empregos.listeners.BreakEvent; | |
import br.com.blecaute.empregos.listeners.ClickEvent; | |
import br.com.blecaute.empregos.listeners.EntityEvent; | |
import br.com.blecaute.empregos.listeners.FishEvent; | |
import br.com.blecaute.empregos.manager.*; | |
import br.com.blecaute.empregos.objects.Employee; | |
import br.com.blecaute.empregos.objects.Quest; | |
import br.com.blecaute.empregos.utils.FileUtils; | |
import br.com.blecaute.empregos.utils.ReflectionUtils; | |
import lombok.Getter; | |
import net.milkbowl.vault.economy.Economy; | |
import org.bukkit.Bukkit; | |
import org.bukkit.configuration.file.FileConfiguration; | |
import org.bukkit.plugin.PluginManager; | |
import org.bukkit.plugin.RegisteredServiceProvider; | |
import org.bukkit.plugin.java.JavaPlugin; | |
import java.math.BigDecimal; | |
import java.util.ArrayList; | |
import java.util.List; | |
import java.util.stream.Collectors; | |
public class SrEmpregos extends JavaPlugin { | |
@Getter private static SrEmpregos instance; | |
@Getter private static Economy economy; | |
@Getter private static Database db; | |
@Getter private static MessagesManager messagesManager; | |
@Getter private static GuiManager guiManager; | |
@Getter private static JobManager jobManager; | |
@Getter private static EmployeeManager employeeManager; | |
@Getter private static SQLManager sqlManager; | |
@Getter private static List<Job> jobs = new ArrayList<>(); | |
@Getter private static List<Employee> employees = new ArrayList<>(); | |
@Override | |
public void onEnable() { | |
instance = this; | |
saveDefaultConfig(); | |
loadFiles(); | |
if(setupEconomy()) { | |
loadDatabase(); | |
loadAPIs(); | |
loadJobs(); | |
loadHooks(); | |
loadManagers(); | |
registerEvents(); | |
registerCommands(); | |
Bukkit.getConsoleSender().sendMessage(""); | |
Bukkit.getConsoleSender().sendMessage("§b _____ "); | |
Bukkit.getConsoleSender().sendMessage("§b| __|___ "); | |
Bukkit.getConsoleSender().sendMessage("§b|__ | _| §fSrEmpregos"); | |
Bukkit.getConsoleSender().sendMessage("§b|_____|_| §fSrBlecaute#3731"); | |
Bukkit.getConsoleSender().sendMessage(""); | |
Bukkit.getConsoleSender().sendMessage(""); | |
Bukkit.getScheduler().runTaskTimerAsynchronously(this, sqlManager::saveEmployees, 20 * 60, 10 * 20 * 60); | |
} else { | |
info("§cNão foi possível se conectar com o Vault. Certifique-se que você"); | |
info("§ctenha o vault e um plugin de economia instalados em seu servidor."); | |
Bukkit.getPluginManager().disablePlugin(this); | |
} | |
} | |
@Override | |
public void onDisable() { | |
sqlManager.saveEmployees(); | |
db.close(); | |
} | |
public static void info(String msg) { | |
Bukkit.getConsoleSender().sendMessage("[SrEmpregos] " + msg); | |
} | |
private void loadDatabase() { | |
FileConfiguration config = SrEmpregos.getInstance().getConfig(); | |
if(config.getBoolean("MySQL.ativado")) { | |
String host = config.getString("MySQL.host"); | |
String port = config.getString("MySQL.porta"); | |
String database = config.getString("MySQL.database"); | |
String user = config.getString("MySQL.usuario"); | |
String password = config.getString("MySQL.senha"); | |
db = new MySQL(host, port, database, user, password); | |
} else { | |
db = new SQLite(); | |
} | |
sqlManager = new SQLManager(); | |
sqlManager.createTable("`SrEmpregos`", "`name` VARCHAR(36) NOT NULL, `job` TEXT NOT NULL, `salary` TEXT NOT NULL, `current` INTEGER NOT NULL, `total` INTEGER NOT NULL, `quests` TEXT, PRIMARY KEY (`name`)"); | |
employees = sqlManager.getEmployees(); | |
} | |
private void loadAPIs() { | |
GlowAPI.load(); | |
SkullAPI.load(); | |
} | |
private boolean setupEconomy() { | |
if (Bukkit.getServer().getPluginManager().getPlugin("Vault") == null) return false; | |
RegisteredServiceProvider<Economy> rsp = Bukkit.getServer().getServicesManager().getRegistration(Economy.class); | |
if (rsp == null) return false; | |
economy = rsp.getProvider(); | |
return economy != null; | |
} | |
private void loadManagers() { | |
messagesManager = new MessagesManager(); | |
jobManager = new JobManager(); | |
employeeManager = new EmployeeManager(); | |
guiManager = new GuiManager(); | |
} | |
private void loadHooks() { | |
PluginManager pluginManager = Bukkit.getPluginManager(); | |
if(pluginManager.getPlugin("Legendchat") != null) { | |
new LegendHook(); | |
} | |
if(pluginManager.getPlugin("PlaceholderAPI") != null) { | |
new PlaceholderHook().register(); | |
} | |
if(pluginManager.getPlugin("MVdWPlaceholderAPI") != null) { | |
new MvdwHook().register(); | |
} | |
} | |
private void registerEvents() { | |
PluginManager pluginManager = Bukkit.getPluginManager(); | |
pluginManager.registerEvents(new BreakEvent(), getInstance()); | |
pluginManager.registerEvents(new ClickEvent(), getInstance()); | |
pluginManager.registerEvents(new EntityEvent(), getInstance()); | |
pluginManager.registerEvents(new FishEvent(), getInstance()); | |
} | |
private void registerCommands() { | |
getCommand("emprego").setExecutor(new JobCmd()); | |
} | |
private void loadFiles() { | |
FileUtils.createFolder("empregos"); | |
FileUtils.createConfig("assassino", "empregos"); | |
FileUtils.createConfig("cacador", "empregos"); | |
FileUtils.createConfig("escavador", "empregos"); | |
FileUtils.createConfig("fazendeiro", "empregos"); | |
FileUtils.createConfig("lenhador", "empregos"); | |
FileUtils.createConfig("minerador", "empregos"); | |
FileUtils.createConfig("pescador", "empregos"); | |
} | |
private void loadJobs() { | |
jobs.add(loadJob("assassino", JobType.KILLER)); | |
jobs.add(loadJob("cacador", JobType.HUNTER)); | |
jobs.add(loadJob("escavador", JobType.DIGGER)); | |
jobs.add(loadJob("fazendeiro", JobType.FARMER)); | |
jobs.add(loadJob("lenhador", JobType.LUMBERJACK)); | |
jobs.add(loadJob("minerador", JobType.MINER)); | |
jobs.add(loadJob("pescador", JobType.FISHER)); | |
} | |
private Job loadJob(String file, JobType job) { | |
FileConfiguration config = FileUtils.getConfiguration(FileUtils.getFile(file, "empregos")); | |
String name = config.getString("Nome").replace("&", "§"); | |
String tag = config.getString("Tag").replace("&", "§"); | |
int meta = config.getInt("Meta"); | |
BigDecimal salary = new BigDecimal("" + config.getDouble("Salario")); | |
List<String> worlds = config.getStringList("Mundos"); | |
List<Quest> quests = new ArrayList<>(); | |
for(String section : config.getConfigurationSection("Quests").getKeys(false)) { | |
boolean increaseSalary = config.getBoolean("Quests." + section + ".Aumentar-Salario.ativado"); | |
BigDecimal questSalary = new BigDecimal("" + config.getDouble("Quests." + section + ".Aumentar-Salario.valor")); | |
int questMeta = config.getInt("Quests." + section + ".Meta"); | |
List<String> msg = config.getStringList("Quests." + section + ".Mensagem-Completou-Quest").stream().map(m -> m.replace("&", "§")).collect(Collectors.toList()); | |
List<String> cmd = config.getStringList("Quests." + section + ".Comandos"); | |
quests.add(new Quest(section, job, questSalary, questMeta, increaseSalary, msg, cmd)); | |
} | |
switch (job) { | |
case MINER: | |
return new Miner(name, tag, salary, meta, worlds, quests); | |
case FARMER: | |
return new Farmer(name, tag, salary, meta, worlds, quests); | |
case DIGGER: | |
return new Digger(name, tag, salary, meta, worlds, quests); | |
case FISHER: | |
return new Fisher(name, tag, salary, meta, worlds, quests); | |
case HUNTER: | |
return new Hunter(name, tag, salary, meta, worlds, quests); | |
case KILLER: | |
return new Killer(name, tag, salary, meta, worlds, quests); | |
case LUMBERJACK: | |
return new Lumberjack(name, tag, salary, meta, worlds, quests); | |
default: | |
break; | |
} | |
return null; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.utils; | |
import br.com.blecaute.empregos.SrEmpregos; | |
import org.bukkit.configuration.file.FileConfiguration; | |
import org.bukkit.configuration.file.YamlConfiguration; | |
import java.io.File; | |
public class FileUtils { | |
public static void createConfig(String file, String folder) { | |
if (!new File(SrEmpregos.getInstance().getDataFolder() + File.separator + folder, file + ".yml").exists()) { | |
SrEmpregos.getInstance().saveResource(folder + File.separator + file + ".yml", false); | |
} | |
} | |
@SuppressWarnings("ResultOfMethodCallIgnored") | |
public static void createFolder(String folder) { | |
try { | |
File pasta = new File(SrEmpregos.getInstance().getDataFolder() + File.separator + folder); | |
if (!pasta.exists()) { | |
pasta.mkdirs(); | |
} | |
} catch (Throwable e) { | |
e.printStackTrace(); | |
} | |
} | |
public static File getFile(String file, String folder) { | |
return new File(SrEmpregos.getInstance().getDataFolder() + File.separator + folder, file + ".yml"); | |
} | |
public static FileConfiguration getConfiguration(File file) { | |
return YamlConfiguration.loadConfiguration(file); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.utils; | |
import org.bukkit.Material; | |
import org.bukkit.inventory.ItemStack; | |
import org.bukkit.inventory.meta.ItemMeta; | |
import java.util.List; | |
public class ItemBuilder { | |
private ItemStack is; | |
public ItemBuilder(Material Material) { | |
this(Material, 1); | |
} | |
public ItemBuilder(ItemStack ItemStack) { | |
this.is = ItemStack; | |
} | |
public ItemBuilder(Material Material, int Int) { | |
this.is = new ItemStack(Material, Int); | |
} | |
public ItemBuilder setName(String String) { | |
ItemMeta localItemMeta = this.is.getItemMeta(); | |
localItemMeta.setDisplayName(String); | |
this.is.setItemMeta(localItemMeta); | |
return this; | |
} | |
public ItemBuilder setLore(List<String> List) { | |
ItemMeta localItemMeta = this.is.getItemMeta(); | |
localItemMeta.setLore(List); | |
this.is.setItemMeta(localItemMeta); | |
return this; | |
} | |
public ItemStack toItemStack() { | |
return this.is; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.utils; | |
import br.com.blecaute.empregos.SrEmpregos; | |
import br.com.blecaute.empregos.apis.events.JobGetPaymentEvent; | |
import br.com.blecaute.empregos.apis.events.JobQuestCompleteEvent; | |
import br.com.blecaute.empregos.enums.JobType; | |
import br.com.blecaute.empregos.objects.Employee; | |
import org.bukkit.Bukkit; | |
import org.bukkit.CropState; | |
import org.bukkit.Sound; | |
import org.bukkit.block.Block; | |
import org.bukkit.entity.Player; | |
import org.bukkit.material.Crops; | |
import org.bukkit.material.MaterialData; | |
import java.util.ArrayList; | |
import java.util.Collections; | |
import java.util.List; | |
public class JobUtils { | |
@SuppressWarnings("deprecation") | |
public static void executeEvents(Player p, Employee employee, JobType job) { | |
SrEmpregos.getJobManager().getJobQuests(job).stream().filter(f -> !SrEmpregos.getEmployeeManager().isCompleted(p.getName(), f)).forEach(q -> { | |
if(employee.getCompletedMeta() >= q.getMeta()) { | |
JobQuestCompleteEvent event = new JobQuestCompleteEvent(p, q, employee); | |
Bukkit.getPluginManager().callEvent(event); | |
if(!event.isCancelled()) { | |
if(event.getQuest().getIncreaseSalary()) { | |
employee.addSalary(event.getQuest().getSalary()); | |
} | |
if(event.getQuest().getMessageComplete() != null) { | |
event.getQuest().getMessageComplete().stream().map(m -> m.replace("@player", p.getName())) | |
.forEach(p::sendMessage); | |
} | |
if(event.getQuest().getCommands() != null) { | |
event.getQuest().getCommands().stream() | |
.map(m -> m.replace("@player", p.getName())) | |
.forEach(cmd -> Bukkit.dispatchCommand(Bukkit.getConsoleSender(), cmd)); | |
} | |
employee.getQuestsComplete().add(q.getId()); | |
} | |
} | |
}); | |
int jobMeta = SrEmpregos.getJobManager().getJobMeta(job); | |
if(employee.getCurrentMeta() >= jobMeta) { | |
JobGetPaymentEvent event = new JobGetPaymentEvent(p, employee, job); | |
Bukkit.getPluginManager().callEvent(event); | |
SrEmpregos.getEconomy().depositPlayer(p.getName(), event.getEmployee().getSalary().doubleValue()); | |
employee.setCurrentMeta(0); | |
p.playSound(p.getLocation(), Sound.ITEM_PICKUP, 5, 1.0F); | |
SrEmpregos.getMessagesManager().getMessageList("pagamento").stream() | |
.map(m -> m.replace("@salario", Utils.getNumberFormatted(event.getEmployee().getSalary().doubleValue()))) | |
.forEach(p::sendMessage); | |
} | |
} | |
public static String serializeQuests(List<String> quests) { | |
if(quests.isEmpty()) return "[]"; | |
StringBuilder sb = new StringBuilder(); | |
for(int i = 0; i < quests.size(); i++) { | |
sb.append(quests.get(i)); | |
if(i + 1 < quests.size()) { | |
sb.append(";"); | |
} | |
} | |
return sb.toString(); | |
} | |
public static List<String> deserializeQuests(String serialized) { | |
List<String> list = new ArrayList<>(); | |
if(serialized.equals("[]")) return list; | |
Collections.addAll(list, serialized.split(";")); | |
return list; | |
} | |
public static boolean isGrown(Block block) { | |
MaterialData m = block.getState().getData(); | |
if(m instanceof Crops) { | |
Crops crops = (Crops) m; | |
return crops.getState().equals(CropState.RIPE); | |
} | |
return false; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.utils; | |
import org.bukkit.Bukkit; | |
import org.bukkit.entity.Player; | |
import java.lang.reflect.Field; | |
import java.lang.reflect.Method; | |
/** | |
* @author Mior | |
* @version 1.0 | |
*/ | |
public class ReflectionUtils { | |
private static final String version = Bukkit.getServer().getClass().getPackage().getName().split("\\.")[3]; | |
public static Class<?> getNMSClass(String name) throws ClassNotFoundException { | |
return Class.forName("net.minecraft.server." + version + "." + name); | |
} | |
public static Class<?> getOBClass(String name) throws ClassNotFoundException { | |
return Class.forName("org.bukkit.craftbukkit." + version + "." + name); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package br.com.blecaute.empregos.utils; | |
import org.apache.commons.lang.StringUtils; | |
import org.bukkit.Sound; | |
import org.bukkit.entity.Player; | |
import java.text.DecimalFormat; | |
import java.text.DecimalFormatSymbols; | |
import java.util.Arrays; | |
import java.util.Locale; | |
public class Utils { | |
private static DecimalFormat decimal = new DecimalFormat("#.##", new DecimalFormatSymbols(new Locale("pt", "br"))); | |
public static void sendSound(Player p, String sound) { | |
Arrays.stream(Sound.values()).filter(f -> f.name().equalsIgnoreCase(sound)).forEach(e -> p.playSound(p.getLocation(), e, 5, 1.0F)); | |
} | |
public static String getNumberFormatted(double number) { | |
return decimal.format(number); | |
} | |
public static String getProgressBar(int current, int total, String bar, int barAmount, String barCompletedColor, String barIncompleteColor) { | |
float percent = (float) current / total; | |
if(percent > 1) percent = 1; | |
int bars1 = Math.round(barAmount * percent); | |
int bars2 = barAmount - bars1; | |
return barCompletedColor + StringUtils.repeat(bar, bars1) + barIncompleteColor + StringUtils.repeat(bar, bars2); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# _________ ____ _ ___ __ ____ __ __ ______ ___ | |
# / ___/ \| \| | / _] / ]/ | | | | / _] | |
# ( \_| D ) o ) | / [_ / /| o | | | |/ [_ | |
# \__ | /| | |___| _]/ / | | | |_| |_| _] | |
# / \ | \| O | | [_/ \_| _ | : | | | | [_ | |
# \ | . \ | | \ | | | | | | | | | |
# \___|__|\_|_____|_____|_____|\____|__|__|\__,_| |__| |_____| | |
# plugin de empregos Versão: 1.0-SNAPSHOT | |
# ========================= | |
# MySQL | |
# caso desativado irá usar sqlite como forma de armazenamento. | |
MySQL: | |
ativado: false | |
host: 'localhost' | |
porta: '3306' | |
database: '' | |
usuario: '' | |
senha: '' | |
# | |
# Placeholders do plugins. Integração ao PlaceholderAPI e ao MVdWPlaceholderAPI | |
# | |
# {empregos_player_emprego} : nome do emprego do jogador | |
# {empregos_player_meta_total} : total de ações efetuadas (quebrar, cortar, pescar etc) | |
# {empregos_player_current} : total de ações efetuadas para receber o salário | |
# {empregos_player_quests} : quantidade de quests concluidas | |
# {empregos_player_salary} : salário atual do jogador | |
# {empregos_player_progress} : progresso numérico para receber osalário | |
# {empregos_player_progress_bar} : barra de progresso para receber o salário | |
# | |
# OBS: caso use PlaceholderAPi use % no lugar dos {} | |
# | |
# Sons do sistema, mais sons em -> https://github.com/Attano/Spigot-1.8/blob/master/org/bukkit/Sound.java | |
Sons: | |
Erro: 'NOTE_BASS' | |
Geral: 'ITEM_PICKUP' | |
Sucesso: 'NOTE_PLING' | |
# mensagens do plugin | |
Mensagens: | |
Sem-Emprego: '&cVocê não tem nenhum emprego para poder fazer isso!' | |
Com-Emprego: '&cVocê já tem um emprego! peça demissão para exercer este cargo' | |
Foi-Contratado: '&aVocê foi contratado para o emprego de @emprego' | |
Pediu-Demissao: '&cVocê pediu demissão do seu emprego ;(' | |
Recebeu-Pagamento: | |
- '' | |
- ' &eEmprego: &7você recebeu seu salário de &2R$ &f@salario' | |
- '' | |
Preferencias: | |
# tag do emprego no legendchat {empregos} | |
Chat-Tag: true | |
# nome do emprego da placeholder caso o jogador não tenha nenhum | |
Placeholder: | |
Desempregado: '&cSem emprego' | |
# barra de progresso | |
Barra-De-Progress: | |
# símbolo da barra | |
Barra: '|' | |
# quatidade de barras | |
Quantidade: 10 | |
# cor da barra completa | |
Cor-Completa: '&a' | |
# cor da barra imcompleta | |
Cor-Imcompleta: '&7' | |
# primeiro simbolo da barra | |
Primeiro: '&8[' | |
# último símbolo da barra | |
Ultimo: '&8]' | |
Empregos-Gui: | |
# nome da gui de empregos | |
Nome: '&8Empregos' | |
# ficará na lore do item | |
Sem-Emprego: '&cDesempregado' | |
Seleionar-Emprego: '&aClique para selecionar esse emprego' | |
Emprego-Selecionado: '&cVocê já está nesse emprego' | |
# @emprego : nome do emprego | |
# @tag : tag do emprego | |
# @meta : meta para receer o salário | |
# @salario : salário do emprego | |
# @quests : número de quests | |
Minerador: | |
# se ativado ele irá ignorar o item | |
Skull: | |
Ativado: false | |
Url: '' | |
# id do item no formato id:data | |
ID-Data: '278:0' | |
# nome do item | |
Nome: '&eMinerador' | |
# lore do item | |
Lore: | |
- '&7Salário Inicial: &2R$ &f@salario' | |
- '&7Meta: &cminerar @meta blocos' | |
- '&7Quests: &e@quests' | |
- '' | |
Escavador: | |
Skull: | |
Ativado: false | |
Url: '' | |
ID-Data: '277:0' | |
Nome: '&eEscavador' | |
Lore: | |
- '&7Salário Inicial: &2R$ &f@salario' | |
- '&7Meta: &cescavar @meta blocos' | |
- '&7Quests: &e@quests' | |
- '' | |
Lenhador: | |
Skull: | |
Ativado: false | |
Url: '' | |
ID-Data: '279:0' | |
Nome: '&eLenhador' | |
Lore: | |
- '&7Salário Inicial: &2R$ &f@salario' | |
- '&7Meta: &ccortar @meta madeiras' | |
- '&7Quests: &e@quests' | |
- '' | |
Fazendeiro: | |
Skull: | |
Ativado: false | |
Url: '' | |
ID-Data: '293:0' | |
Nome: '&eFazendeiro' | |
Lore: | |
- '&7Salário Inicial: &2R$ &f@salario' | |
- '&7Meta: &ccolher @meta plantas' | |
- '&7Quests: &e@quests' | |
- '' | |
Pescador: | |
Skull: | |
Ativado: false | |
Url: '' | |
ID-Data: '346:0' | |
Nome: '&ePescador' | |
Lore: | |
- '&7Salário Inicial: &2R$ &f@salario' | |
- '&7Meta: &cpescar @meta peixes' | |
- '&7Quests: &e@quests' | |
- '' | |
Cacador: | |
Skull: | |
Ativado: false | |
Url: '' | |
ID-Data: '261:0' | |
Nome: '&eCaçador' | |
Lore: | |
- '&7Salário Inicial: &2R$ &f@salario' | |
- '&7Meta: &ccaçar @meta mobs' | |
- '&7Quests: &e@quests' | |
- '' | |
Assassino: | |
Skull: | |
Ativado: false | |
Url: '' | |
ID-Data: '276:0' | |
Nome: '&eAssassino' | |
Lore: | |
- '&7Salário Inicial: &2R$ &f@salario' | |
- '&7Meta: &cmatar @meta jogadores' | |
- '&7Quests: &e@quests' | |
- '' | |
Item-Confirmar: | |
Skull: | |
Ativado: true | |
Url: 'http://textures.minecraft.net/texture/8d82fcfa5578715c0d248e0aac42ab572e9a826ed3dad9dc66c9926e8473ed' | |
ID-Data: '35:5' | |
Nome: '&aConfirmar' | |
Lore: | |
- '&7Clique para confirmar' | |
Item-Cancelar: | |
Skull: | |
Ativado: true | |
Url: 'http://textures.minecraft.net/texture/bc2e972afa9115b6d32075b1f1b7fed7aa29a5341c1024288361abe8e69b46' | |
ID-Data: '35:14' | |
Nome: '&cCancelar' | |
Lore: | |
- '&7Clique para cancelar' | |
Item-Pedir-As-Contas: | |
Skull: | |
Ativado: false | |
Url: '' | |
ID-Data: '395:0' | |
Nome: '&cPedir Demissão' | |
Lore: | |
- '&7Se sair do seu emprego todo o seu' | |
- '&7progresso conquistado será perdido!' | |
Item-Conquistas: | |
Skull: | |
Ativado: false | |
Url: '' | |
ID-Data: '399:0' | |
Nome: '&aSuas conquistas' | |
Lore: | |
- '&7Veja suas conquistas' | |
# | |
# @player : nome do jogador | |
# @emprego : nome do emprego do jogador | |
# @tag : tag do emprego do jogador | |
# @current : meta para receber o salário | |
# @meta : meta para receber o salário | |
# @total : total de blocos, peixes ou entidades quebradas, pescadas ou mortas. | |
# @salario : salário do jogador | |
# @quests : número de quests concluidas. | |
# | |
Item-Info: | |
Nome: '&e@player' | |
Lore: | |
- '&7Emprego Atual: &f@emprego' | |
- '&7Salário Atual: &2R$ &f@salario' | |
- '' | |
- '&7Meta: &a@current&7/&c@meta' | |
- '&7Total: @total' | |
- '&7Quests concluidas: &e@quests' | |
# @emprego : nome do emprego da quest | |
# @tipo1 : ação efetuada | |
# @tipo2 : tipo de bloco/entidade válida | |
Item-Quest: | |
Tipos: | |
Minerador: 'minerar-minérios' | |
Lenhador: 'cortar-madeiras' | |
Fazendeiro: 'plantar-plantas' | |
Cacador: 'caçar-mobs' | |
Pescador: 'pescar-peixes' | |
Assassino: 'assassinar-jogadores' | |
Escavador: 'escavar-blocos' | |
Nome: '&aDesafio do emprego @emprego' | |
Lore: | |
- '&7O objetivo deste emprego é @tipo1 &e@quantia &7@tipo2' | |
- '' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# nome do emprego | |
Nome: 'Assassino' | |
# tag do emprego | |
Tag: '&8[&cAssassino&8]' | |
# meta para obter o salário | |
Meta: 10 | |
# salário do emprego | |
Salario: 1500 | |
# mundos que serão efetivos | |
Mundos: | |
- 'world' | |
# entidades efetivas -> https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/entity/EntityType.html | |
Validos: | |
- 'PLAYER' | |
Quests: | |
1: | |
Aumentar-Salario: | |
ativado: true | |
valor: 500 | |
Meta: 100 | |
Mensagem-Completou-Quest: | |
- '' | |
- ' &aParabéns você matou 100 jogadores e completou a quest' | |
- ' &aSeu salário foi aumentado em 500 reais' | |
- '' | |
Comandos: | |
- 'give @player diamond_sword 1' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# nome do emprego | |
Nome: 'Caçador' | |
# tag do emprego | |
Tag: '&8[&5Caçador&8]' | |
# meta para obter o salário | |
Meta: 500 | |
# salário do emprego | |
Salario: 1500 | |
# mundos que serão efetivos | |
Mundos: | |
- 'world' | |
# entidades efetivas -> https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/entity/EntityType.html | |
Validos: | |
- 'BAT' | |
- 'BLAZE' | |
- 'CAVE_SPIDER' | |
- 'CHICKEN' | |
- 'COW' | |
- 'CREEPER' | |
- 'ENDER_DRAGON' | |
- 'ENDERMAN' | |
- 'GHAST' | |
- 'GUARDIAN' | |
- 'IRON_GOLEM' | |
- 'MAGMA_CUBE' | |
- 'MUSHROOM_COW' | |
- 'PIG' | |
- 'PIG_ZOMBIE' | |
- 'ZOMBIE' | |
- 'SPIDER' | |
- 'SILVERFISH' | |
- 'SKELETON' | |
- 'WITCH' | |
- 'WITHER' | |
Quests: | |
1: | |
Aumentar-Salario: | |
ativado: true | |
valor: 500 | |
Meta: 100 | |
Mensagem-Completou-Quest: | |
- '' | |
- ' &aParabéns você matou 100 mobs e completou a quest' | |
- ' &aSeu salário foi aumentado em 500 reais' | |
- '' | |
Comandos: | |
- 'give @player diamond_sword 1' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# nome do emprego | |
Nome: 'Escavador' | |
# tag do emprego | |
Tag: '&8[&6Escavador&8]' | |
# meta para obter o salário | |
Meta: 500 | |
# salário do emprego | |
Salario: 1500 | |
# mundos que serão efetivos | |
Mundos: | |
- 'world' | |
# blocos efetivos -> https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html | |
Validos: | |
- 'DIRT' | |
- 'GRASS' | |
- 'CLAY' | |
- 'GRAVEL' | |
- 'SAND' | |
- 'SNOW' | |
- 'SNOW_BLOCK' | |
- 'SOUL_SAND' | |
Quests: | |
1: | |
Aumentar-Salario: | |
ativado: true | |
valor: 500 | |
Meta: 100 | |
Mensagem-Completou-Quest: | |
- '' | |
- ' &aParabéns você escavou 100 blocos e completou uma quest' | |
- ' &aSeu salário foi aumentado em 500 reais' | |
- '' | |
Comandos: | |
- 'give @player diamond_sword 1' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# nome do emprego | |
Nome: 'Fazendeiro' | |
# tag do emprego | |
Tag: '&8[&eFazendeiro&8]' | |
# meta para obter o salário | |
Meta: 500 | |
# salário do emprego | |
Salario: 1500 | |
# mundos que serão efetivos | |
Mundos: | |
- 'world' | |
# blocos efetivos -> https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html | |
Validos: | |
- 'CROPS' | |
- 'MELON_BLOCK' | |
- 'NETHER_WARTS' | |
Quests: | |
1: | |
Aumentar-Salario: | |
ativado: true | |
valor: 500 | |
Meta: 100 | |
Mensagem-Completou-Quest: | |
- '' | |
- ' &aParabéns você colheu 100 plantas e completou uma quest' | |
- ' &aSeu salário foi aumentado em 500 reais' | |
- '' | |
Comandos: | |
- 'give @player diamond_sword 1' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# nome do emprego | |
Nome: 'Lenhador' | |
# tag do emprego | |
Tag: '&8[&6Lenhador&8]' | |
# meta para obter o salário | |
Meta: 500 | |
# salário do emprego | |
Salario: 1500 | |
# mundos que serão efetivos | |
Mundos: | |
- 'world' | |
# blocos efetivos -> https://helpch.at/docs/1.8/org/bukkit/Material.html | |
Validos: | |
- 'WOOD' | |
Quests: | |
1: | |
Aumentar-Salario: | |
ativado: true | |
valor: 500 | |
Meta: 100 | |
Mensagem-Completou-Quest: | |
- '' | |
- ' &aParabéns você cortou 100 madeiras e completou uma quest' | |
- ' &aSeu salário foi aumentado em 500 reais' | |
- '' | |
Comandos: | |
- 'give @player diamond_sword 1' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# nome do emprego | |
Nome: 'Minerador' | |
# tag do emprego | |
Tag: '&8[&bMinerador&8]' | |
# meta para obter o salário | |
Meta: 500 | |
# salário do emprego | |
Salario: 1500 | |
# mundos que serão efetivos | |
Mundos: | |
- 'world' | |
# blocos efetivos -> https://helpch.at/docs/1.8/org/bukkit/Material.html | |
Validos: | |
- 'DIAMOND_ORE' | |
- 'EMERALD_ORE' | |
- 'REDSTONE_ORE' | |
- 'GLOWING_REDSTONE_ORE' | |
- 'IRON_ORE' | |
- 'GOLD_ORE' | |
- 'COAL_ORE' | |
- 'LAPIS_ORE' | |
Quests: | |
1: | |
Aumentar-Salario: | |
ativado: true | |
valor: 500 | |
Meta: 100 | |
Mensagem-Completou-Quest: | |
- '' | |
- ' &aParabéns você minerou 100 blocos e completou uma quest' | |
- ' &aSeu salário foi aumentado em 500 reais' | |
- '' | |
Comandos: | |
- 'give @player diamond_sword 1' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# nome do emprego | |
Nome: 'Minerador' | |
# tag do emprego | |
Tag: '&8[&aPescador&8]' | |
# meta para obter o salário | |
Meta: 500 | |
# salário do emprego | |
Salario: 1500 | |
# mundos que serão efetivos | |
Mundos: | |
- 'world' | |
# blocos efetivos -> https://helpch.at/docs/1.8/org/bukkit/Material.html | |
Validos: | |
- 'RAW_FISH' | |
Quests: | |
1: | |
Aumentar-Salario: | |
ativado: true | |
valor: 500 | |
Meta: 100 | |
Mensagem-Completou-Quest: | |
- '' | |
- ' &aParabéns você pescou 100 peixes e completou uma quest' | |
- ' &aSeu salário foi aumentado em 500 reais' | |
- '' | |
Comandos: | |
- 'give @player diamond_sword 1' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: SrEmpregos | |
main: br.com.blecaute.empregos.SrEmpregos | |
version: 1.0-SNAPSHOT | |
description: plugin de empregos | |
depend: [Vault] | |
softdepend: [MVdWPlaceholderAP, PlaceholderAPI, Legendchat] | |
author: SrBlecaute | |
commands: | |
emprego: | |
aliases: [empregos, job, jobs, trabalho, trabalhos] | |
description: comando para visualizar os empregos |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<module type="JAVA_MODULE" version="4" /> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# _________ ____ _ ___ __ ____ __ __ ______ ___ | |
# / ___/ \| \| | / _] / ]/ | | | | / _] | |
# ( \_| D ) o ) | / [_ / /| o | | | |/ [_ | |
# \__ | /| | |___| _]/ / | | | |_| |_| _] | |
# / \ | \| O | | [_/ \_| _ | : | | | | [_ | |
# \ | . \ | | \ | | | | | | | | | |
# \___|__|\_|_____|_____|_____|\____|__|__|\__,_| |__| |_____| | |
# plugin de empregos Versão: 1.0-SNAPSHOT | |
# ========================= | |
# MySQL | |
# caso desativado irá usar sqlite como forma de armazenamento. | |
MySQL: | |
ativado: false | |
host: 'localhost' | |
porta: '3306' | |
database: '' | |
usuario: '' | |
senha: '' | |
# | |
# Placeholders do plugins. Integração ao PlaceholderAPI e ao MVdWPlaceholderAPI | |
# | |
# {empregos_player_emprego} : nome do emprego do jogador | |
# {empregos_player_meta_total} : total de ações efetuadas (quebrar, cortar, pescar etc) | |
# {empregos_player_current} : total de ações efetuadas para receber o salário | |
# {empregos_player_quests} : quantidade de quests concluidas | |
# {empregos_player_salary} : salário atual do jogador | |
# {empregos_player_progress} : progresso numérico para receber osalário | |
# {empregos_player_progress_bar} : barra de progresso para receber o salário | |
# | |
# OBS: caso use PlaceholderAPi use % no lugar dos {} | |
# | |
# Sons do sistema, mais sons em -> https://github.com/Attano/Spigot-1.8/blob/master/org/bukkit/Sound.java | |
Sons: | |
Erro: 'NOTE_BASS' | |
Geral: 'ITEM_PICKUP' | |
Sucesso: 'NOTE_PLING' | |
# mensagens do plugin | |
Mensagens: | |
Sem-Emprego: '&cVocê não tem nenhum emprego para poder fazer isso!' | |
Com-Emprego: '&cVocê já tem um emprego! peça demissão para exercer este cargo' | |
Foi-Contratado: '&aVocê foi contratado para o emprego de @emprego' | |
Pediu-Demissao: '&cVocê pediu demissão do seu emprego ;(' | |
Recebeu-Pagamento: | |
- '' | |
- ' &eEmprego: &7você recebeu seu salário de &2R$ &f@salario' | |
- '' | |
Preferencias: | |
# tag do emprego no legendchat {empregos} | |
Chat-Tag: true | |
# nome do emprego da placeholder caso o jogador não tenha nenhum | |
Placeholder: | |
Desempregado: '&cSem emprego' | |
# barra de progresso | |
Barra-De-Progress: | |
# símbolo da barra | |
Barra: '|' | |
# quatidade de barras | |
Quantidade: 10 | |
# cor da barra completa | |
Cor-Completa: '&a' | |
# cor da barra imcompleta | |
Cor-Imcompleta: '&7' | |
# primeiro simbolo da barra | |
Primeiro: '&8[' | |
# último símbolo da barra | |
Ultimo: '&8]' | |
Empregos-Gui: | |
# nome da gui de empregos | |
Nome: '&8Empregos' | |
# ficará na lore do item | |
Sem-Emprego: '&cDesempregado' | |
Seleionar-Emprego: '&aClique para selecionar esse emprego' | |
Emprego-Selecionado: '&cVocê já está nesse emprego' | |
# @emprego : nome do emprego | |
# @tag : tag do emprego | |
# @meta : meta para receer o salário | |
# @salario : salário do emprego | |
# @quests : número de quests | |
Minerador: | |
# se ativado ele irá ignorar o item | |
Skull: | |
Ativado: false | |
Url: '' | |
# id do item no formato id:data | |
ID-Data: '278:0' | |
# nome do item | |
Nome: '&eMinerador' | |
# lore do item | |
Lore: | |
- '&7Salário Inicial: &2R$ &f@salario' | |
- '&7Meta: &cminerar @meta blocos' | |
- '&7Quests: &e@quests' | |
- '' | |
Escavador: | |
Skull: | |
Ativado: false | |
Url: '' | |
ID-Data: '277:0' | |
Nome: '&eEscavador' | |
Lore: | |
- '&7Salário Inicial: &2R$ &f@salario' | |
- '&7Meta: &cescavar @meta blocos' | |
- '&7Quests: &e@quests' | |
- '' | |
Lenhador: | |
Skull: | |
Ativado: false | |
Url: '' | |
ID-Data: '279:0' | |
Nome: '&eLenhador' | |
Lore: | |
- '&7Salário Inicial: &2R$ &f@salario' | |
- '&7Meta: &ccortar @meta madeiras' | |
- '&7Quests: &e@quests' | |
- '' | |
Fazendeiro: | |
Skull: | |
Ativado: false | |
Url: '' | |
ID-Data: '293:0' | |
Nome: '&eFazendeiro' | |
Lore: | |
- '&7Salário Inicial: &2R$ &f@salario' | |
- '&7Meta: &ccolher @meta plantas' | |
- '&7Quests: &e@quests' | |
- '' | |
Pescador: | |
Skull: | |
Ativado: false | |
Url: '' | |
ID-Data: '346:0' | |
Nome: '&ePescador' | |
Lore: | |
- '&7Salário Inicial: &2R$ &f@salario' | |
- '&7Meta: &cpescar @meta peixes' | |
- '&7Quests: &e@quests' | |
- '' | |
Cacador: | |
Skull: | |
Ativado: false | |
Url: '' | |
ID-Data: '261:0' | |
Nome: '&eCaçador' | |
Lore: | |
- '&7Salário Inicial: &2R$ &f@salario' | |
- '&7Meta: &ccaçar @meta mobs' | |
- '&7Quests: &e@quests' | |
- '' | |
Assassino: | |
Skull: | |
Ativado: false | |
Url: '' | |
ID-Data: '276:0' | |
Nome: '&eAssassino' | |
Lore: | |
- '&7Salário Inicial: &2R$ &f@salario' | |
- '&7Meta: &cmatar @meta jogadores' | |
- '&7Quests: &e@quests' | |
- '' | |
Item-Confirmar: | |
Skull: | |
Ativado: true | |
Url: 'http://textures.minecraft.net/texture/8d82fcfa5578715c0d248e0aac42ab572e9a826ed3dad9dc66c9926e8473ed' | |
ID-Data: '35:5' | |
Nome: '&aConfirmar' | |
Lore: | |
- '&7Clique para confirmar' | |
Item-Cancelar: | |
Skull: | |
Ativado: true | |
Url: 'http://textures.minecraft.net/texture/bc2e972afa9115b6d32075b1f1b7fed7aa29a5341c1024288361abe8e69b46' | |
ID-Data: '35:14' | |
Nome: '&cCancelar' | |
Lore: | |
- '&7Clique para cancelar' | |
Item-Pedir-As-Contas: | |
Skull: | |
Ativado: false | |
Url: '' | |
ID-Data: '395:0' | |
Nome: '&cPedir Demissão' | |
Lore: | |
- '&7Se sair do seu emprego todo o seu' | |
- '&7progresso conquistado será perdido!' | |
Item-Conquistas: | |
Skull: | |
Ativado: false | |
Url: '' | |
ID-Data: '399:0' | |
Nome: '&aSuas conquistas' | |
Lore: | |
- '&7Veja suas conquistas' | |
# | |
# @player : nome do jogador | |
# @emprego : nome do emprego do jogador | |
# @tag : tag do emprego do jogador | |
# @current : meta para receber o salário | |
# @meta : meta para receber o salário | |
# @total : total de blocos, peixes ou entidades quebradas, pescadas ou mortas. | |
# @salario : salário do jogador | |
# @quests : número de quests concluidas. | |
# | |
Item-Info: | |
Nome: '&e@player' | |
Lore: | |
- '&7Emprego Atual: &f@emprego' | |
- '&7Salário Atual: &2R$ &f@salario' | |
- '' | |
- '&7Meta: &a@current&7/&c@meta' | |
- '&7Total: @total' | |
- '&7Quests concluidas: &e@quests' | |
# @emprego : nome do emprego da quest | |
# @tipo1 : ação efetuada | |
# @tipo2 : tipo de bloco/entidade válida | |
Item-Quest: | |
Tipos: | |
Minerador: 'minerar-minérios' | |
Lenhador: 'cortar-madeiras' | |
Fazendeiro: 'plantar-plantas' | |
Cacador: 'caçar-mobs' | |
Pescador: 'pescar-peixes' | |
Assassino: 'assassinar-jogadores' | |
Escavador: 'escavar-blocos' | |
Nome: '&aDesafio do emprego @emprego' | |
Lore: | |
- '&7O objetivo deste emprego é @tipo1 &e@quantia &7@tipo2' | |
- '' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# nome do emprego | |
Nome: 'Assassino' | |
# tag do emprego | |
Tag: '&8[&cAssassino&8]' | |
# meta para obter o salário | |
Meta: 10 | |
# salário do emprego | |
Salario: 1500 | |
# mundos que serão efetivos | |
Mundos: | |
- 'world' | |
# entidades efetivas -> https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/entity/EntityType.html | |
Validos: | |
- 'PLAYER' | |
Quests: | |
1: | |
Aumentar-Salario: | |
ativado: true | |
valor: 500 | |
Meta: 100 | |
Mensagem-Completou-Quest: | |
- '' | |
- ' &aParabéns você matou 100 jogadores e completou a quest' | |
- ' &aSeu salário foi aumentado em 500 reais' | |
- '' | |
Comandos: | |
- 'give @player diamond_sword 1' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# nome do emprego | |
Nome: 'Caçador' | |
# tag do emprego | |
Tag: '&8[&5Caçador&8]' | |
# meta para obter o salário | |
Meta: 500 | |
# salário do emprego | |
Salario: 1500 | |
# mundos que serão efetivos | |
Mundos: | |
- 'world' | |
# entidades efetivas -> https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/entity/EntityType.html | |
Validos: | |
- 'BAT' | |
- 'BLAZE' | |
- 'CAVE_SPIDER' | |
- 'CHICKEN' | |
- 'COW' | |
- 'CREEPER' | |
- 'ENDER_DRAGON' | |
- 'ENDERMAN' | |
- 'GHAST' | |
- 'GUARDIAN' | |
- 'IRON_GOLEM' | |
- 'MAGMA_CUBE' | |
- 'MUSHROOM_COW' | |
- 'PIG' | |
- 'PIG_ZOMBIE' | |
- 'ZOMBIE' | |
- 'SPIDER' | |
- 'SILVERFISH' | |
- 'SKELETON' | |
- 'WITCH' | |
- 'WITHER' | |
Quests: | |
1: | |
Aumentar-Salario: | |
ativado: true | |
valor: 500 | |
Meta: 100 | |
Mensagem-Completou-Quest: | |
- '' | |
- ' &aParabéns você matou 100 mobs e completou a quest' | |
- ' &aSeu salário foi aumentado em 500 reais' | |
- '' | |
Comandos: | |
- 'give @player diamond_sword 1' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# nome do emprego | |
Nome: 'Escavador' | |
# tag do emprego | |
Tag: '&8[&6Escavador&8]' | |
# meta para obter o salário | |
Meta: 500 | |
# salário do emprego | |
Salario: 1500 | |
# mundos que serão efetivos | |
Mundos: | |
- 'world' | |
# blocos efetivos -> https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html | |
Validos: | |
- 'DIRT' | |
- 'GRASS' | |
- 'CLAY' | |
- 'GRAVEL' | |
- 'SAND' | |
- 'SNOW' | |
- 'SNOW_BLOCK' | |
- 'SOUL_SAND' | |
Quests: | |
1: | |
Aumentar-Salario: | |
ativado: true | |
valor: 500 | |
Meta: 100 | |
Mensagem-Completou-Quest: | |
- '' | |
- ' &aParabéns você escavou 100 blocos e completou uma quest' | |
- ' &aSeu salário foi aumentado em 500 reais' | |
- '' | |
Comandos: | |
- 'give @player diamond_sword 1' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# nome do emprego | |
Nome: 'Fazendeiro' | |
# tag do emprego | |
Tag: '&8[&eFazendeiro&8]' | |
# meta para obter o salário | |
Meta: 500 | |
# salário do emprego | |
Salario: 1500 | |
# mundos que serão efetivos | |
Mundos: | |
- 'world' | |
# blocos efetivos -> https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html | |
Validos: | |
- 'CROPS' | |
- 'MELON_BLOCK' | |
- 'NETHER_WARTS' | |
Quests: | |
1: | |
Aumentar-Salario: | |
ativado: true | |
valor: 500 | |
Meta: 100 | |
Mensagem-Completou-Quest: | |
- '' | |
- ' &aParabéns você colheu 100 plantas e completou uma quest' | |
- ' &aSeu salário foi aumentado em 500 reais' | |
- '' | |
Comandos: | |
- 'give @player diamond_sword 1' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# nome do emprego | |
Nome: 'Lenhador' | |
# tag do emprego | |
Tag: '&8[&6Lenhador&8]' | |
# meta para obter o salário | |
Meta: 500 | |
# salário do emprego | |
Salario: 1500 | |
# mundos que serão efetivos | |
Mundos: | |
- 'world' | |
# blocos efetivos -> https://helpch.at/docs/1.8/org/bukkit/Material.html | |
Validos: | |
- 'WOOD' | |
Quests: | |
1: | |
Aumentar-Salario: | |
ativado: true | |
valor: 500 | |
Meta: 100 | |
Mensagem-Completou-Quest: | |
- '' | |
- ' &aParabéns você cortou 100 madeiras e completou uma quest' | |
- ' &aSeu salário foi aumentado em 500 reais' | |
- '' | |
Comandos: | |
- 'give @player diamond_sword 1' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# nome do emprego | |
Nome: 'Minerador' | |
# tag do emprego | |
Tag: '&8[&bMinerador&8]' | |
# meta para obter o salário | |
Meta: 500 | |
# salário do emprego | |
Salario: 1500 | |
# mundos que serão efetivos | |
Mundos: | |
- 'world' | |
# blocos efetivos -> https://helpch.at/docs/1.8/org/bukkit/Material.html | |
Validos: | |
- 'DIAMOND_ORE' | |
- 'EMERALD_ORE' | |
- 'REDSTONE_ORE' | |
- 'GLOWING_REDSTONE_ORE' | |
- 'IRON_ORE' | |
- 'GOLD_ORE' | |
- 'COAL_ORE' | |
- 'LAPIS_ORE' | |
Quests: | |
1: | |
Aumentar-Salario: | |
ativado: true | |
valor: 500 | |
Meta: 100 | |
Mensagem-Completou-Quest: | |
- '' | |
- ' &aParabéns você minerou 100 blocos e completou uma quest' | |
- ' &aSeu salário foi aumentado em 500 reais' | |
- '' | |
Comandos: | |
- 'give @player diamond_sword 1' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# nome do emprego | |
Nome: 'Minerador' | |
# tag do emprego | |
Tag: '&8[&aPescador&8]' | |
# meta para obter o salário | |
Meta: 500 | |
# salário do emprego | |
Salario: 1500 | |
# mundos que serão efetivos | |
Mundos: | |
- 'world' | |
# blocos efetivos -> https://helpch.at/docs/1.8/org/bukkit/Material.html | |
Validos: | |
- 'RAW_FISH' | |
Quests: | |
1: | |
Aumentar-Salario: | |
ativado: true | |
valor: 500 | |
Meta: 100 | |
Mensagem-Completou-Quest: | |
- '' | |
- ' &aParabéns você pescou 100 peixes e completou uma quest' | |
- ' &aSeu salário foi aumentado em 500 reais' | |
- '' | |
Comandos: | |
- 'give @player diamond_sword 1' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: SrEmpregos | |
main: br.com.blecaute.empregos.SrEmpregos | |
version: 1.0-SNAPSHOT | |
description: plugin de empregos | |
depend: [Vault] | |
softdepend: [MVdWPlaceholderAP, PlaceholderAPI, Legendchat] | |
author: SrBlecaute | |
commands: | |
emprego: | |
aliases: [empregos, job, jobs, trabalho, trabalhos] | |
description: comando para visualizar os empregos |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment