Skip to content
This repository has been archived by the owner on Mar 14, 2022. It is now read-only.

Commit

Permalink
Latest changes.
Browse files Browse the repository at this point in the history
Rename Options.java to OptionsUtil.java
Added OptionsUtil#getStringValue and removed unnecessary String.valueOf/String casts
Added CFG#getFile
Added voteparty title option to config.yml
MySQL and PostgreSQL changes
Added ConfigUpdater to add missing Options(Rewards and Holograms sections are excluded)
Changed how gui option works (also moved to votetop section)
Changed version to v4.3.5
  • Loading branch information
GeorgeV220 committed Feb 16, 2021
1 parent 4af6fc5 commit a8e56c1
Show file tree
Hide file tree
Showing 24 changed files with 495 additions and 431 deletions.
2 changes: 1 addition & 1 deletion VoteRewards.iml
Expand Up @@ -35,7 +35,7 @@
<orderEntry type="library" scope="PROVIDED" name="Maven: org.ow2.asm:asm-commons:8.0.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.ow2.asm:asm-tree:8.0.1" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Maven: org.ow2.asm:asm-analysis:8.0.1" level="project" />
<orderEntry type="library" name="Maven: com.georgev22:Externals:1.0" level="project" />
<orderEntry type="library" name="Maven: com.georgev22:Externals:1.1" level="project" />
<orderEntry type="library" name="Maven: com.georgev22:Interfaces:1.0" level="project" />
<orderEntry type="library" name="Maven: com.georgev22:LegacyWorldEdit:1.0" level="project" />
<orderEntry type="library" name="Maven: com.georgev22:NewWorldEdit:1.0" level="project" />
Expand Down
4 changes: 2 additions & 2 deletions pom.xml
Expand Up @@ -14,7 +14,7 @@
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<baseRevision>4.3.4</baseRevision>
<baseRevision>4.3.5</baseRevision>
<revision>v${baseRevision}</revision>
</properties>

Expand Down Expand Up @@ -136,7 +136,7 @@
<dependency>
<groupId>com.georgev22</groupId>
<artifactId>Externals</artifactId>
<version>1.0</version>
<version>1.1</version>
<scope>compile</scope>
</dependency>

Expand Down
100 changes: 55 additions & 45 deletions src/main/java/com/georgev22/voterewards/VoteRewardPlugin.java
@@ -1,5 +1,6 @@
package com.georgev22.voterewards;

import com.georgev22.externals.com.tchristofferson.configupdater.ConfigUpdater;
import com.georgev22.externals.me.lucko.helper.maven.LibraryLoader;
import com.georgev22.externals.me.lucko.helper.maven.MavenLibrary;
import com.georgev22.voterewards.commands.*;
Expand All @@ -14,7 +15,7 @@
import com.georgev22.voterewards.listeners.PlayerListeners;
import com.georgev22.voterewards.listeners.VotifierListener;
import com.georgev22.voterewards.utilities.MessagesUtil;
import com.georgev22.voterewards.utilities.Options;
import com.georgev22.voterewards.utilities.OptionsUtil;
import com.georgev22.voterewards.utilities.Updater;
import com.georgev22.voterewards.utilities.Utils;
import com.georgev22.voterewards.utilities.interfaces.Callback;
Expand All @@ -31,9 +32,11 @@
import org.bukkit.plugin.java.JavaPlugin;

import javax.annotation.Nonnull;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.time.ZoneId;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;

Expand Down Expand Up @@ -70,9 +73,16 @@ public void onEnable() {
final FileManager fm = FileManager.getInstance();
fm.loadFiles(this);
MessagesUtil.repairPaths(fm.getMessages());

try {
ConfigUpdater.update(this, "config.yml", fm.getConfig().getFile(), Arrays.asList("Services", "Holograms"));
} catch (IOException e) {
e.printStackTrace();
}

CFG dataCFG = fm.getData();
FileConfiguration data = dataCFG.getFileConfiguration();
if (Options.DEBUG_USELESS.isEnabled())
if (OptionsUtil.DEBUG_USELESS.isEnabled())
Utils.debug(this, "onEnable Thread ID: " + Thread.currentThread().getId());
Utils.registerListeners(new VotifierListener(), new PlayerListeners());

Expand All @@ -81,21 +91,21 @@ public void onEnable() {
dataCFG.saveFile();
}

if (Options.COMMAND_VOTEREWARDS.isEnabled())
if (OptionsUtil.COMMAND_VOTEREWARDS.isEnabled())
Utils.registerCommand("voterewards", new VoteRewards());
if (Options.COMMAND_FAKEVOTE.isEnabled())
if (OptionsUtil.COMMAND_FAKEVOTE.isEnabled())
Utils.registerCommand("fakevote", new FakeVote());
if (Options.COMMAND_VOTE.isEnabled())
if (OptionsUtil.COMMAND_VOTE.isEnabled())
Utils.registerCommand("vote", new Vote());
if (Options.COMMAND_VOTES.isEnabled())
if (OptionsUtil.COMMAND_VOTES.isEnabled())
Utils.registerCommand("votes", new Votes());
if (Options.COMMAND_VOTEPARTY.isEnabled())
if (OptionsUtil.COMMAND_VOTEPARTY.isEnabled())
Utils.registerCommand("voteparty", new VoteParty());
if (Options.COMMAND_REWARDS.isEnabled())
if (OptionsUtil.COMMAND_REWARDS.isEnabled())
Utils.registerCommand("rewards", new Rewards());
if (Options.COMMAND_VOTETOP.isEnabled())
if (OptionsUtil.COMMAND_VOTETOP.isEnabled())
Utils.registerCommand("votetop", new VoteTop());
if (Options.COMMAND_HOLOGRAM.isEnabled())
if (OptionsUtil.COMMAND_HOLOGRAM.isEnabled())
Utils.registerCommand("hologram", new Holograms());

Bukkit.getScheduler().runTaskAsynchronously(this, () -> {
Expand Down Expand Up @@ -135,7 +145,7 @@ public void onEnable() {
Bukkit.getLogger().info("[VoteRewards] Hooked into AuthMeReloaded!");
}

if (Options.UPDATER.isEnabled()) {
if (OptionsUtil.UPDATER.isEnabled()) {
new Updater();
}

Expand All @@ -144,7 +154,7 @@ public void onEnable() {
Bukkit.getLogger().info("[VoteRewards] Metrics are enabled!");
}

if (Options.REMINDER.isEnabled()) {
if (OptionsUtil.REMINDER.isEnabled()) {
Bukkit.getScheduler().runTaskTimerAsynchronously(instance, () -> {
for (Map.Entry<Player, Long> entry : reminderMap.entrySet()) {
Player player = entry.getKey();
Expand All @@ -156,17 +166,17 @@ public void onEnable() {
placeholders.append("%player%", player.getName());
MessagesUtil.REMINDER.msg(player, placeholders, true);
}
reminderMap.replace(player, System.currentTimeMillis() + (Options.REMINDER_SEC.getIntValue() * 1000));
reminderMap.replace(player, System.currentTimeMillis() + (OptionsUtil.REMINDER_SEC.getIntValue() * 1000));
}
}
}, 20, 20);
}

if (Options.DAILY.isEnabled()) {
if (OptionsUtil.DAILY.isEnabled()) {
Bukkit.getScheduler().runTaskTimerAsynchronously(instance, () -> {
for (Player player : Bukkit.getOnlinePlayers()) {
UserVoteData userVoteData = UserVoteData.getUser(player.getUniqueId());
if (System.currentTimeMillis() >= userVoteData.getLastVote() + (Options.DAILY_HOURS.getIntValue() * 60 * 60 * 1000)) {
if (System.currentTimeMillis() >= userVoteData.getLastVote() + (OptionsUtil.DAILY_HOURS.getIntValue() * 60 * 60 * 1000)) {
if (userVoteData.getDailyVotes() != 0) {
userVoteData.setDailyVotes(0);
}
Expand All @@ -185,21 +195,21 @@ public void onDisable() {
}
Bukkit.getScheduler().cancelTasks(this);
HolographicDisplays.getHologramMap().forEach((name, hologram) -> HolographicDisplays.remove(name, false));
if (Options.COMMAND_VOTEREWARDS.isEnabled())
if (OptionsUtil.COMMAND_VOTEREWARDS.isEnabled())
Utils.unRegisterCommand("voterewards");
if (Options.COMMAND_FAKEVOTE.isEnabled())
if (OptionsUtil.COMMAND_FAKEVOTE.isEnabled())
Utils.unRegisterCommand("fakevote");
if (Options.COMMAND_VOTE.isEnabled())
if (OptionsUtil.COMMAND_VOTE.isEnabled())
Utils.unRegisterCommand("vote");
if (Options.COMMAND_VOTES.isEnabled())
if (OptionsUtil.COMMAND_VOTES.isEnabled())
Utils.unRegisterCommand("votes");
if (Options.COMMAND_VOTEPARTY.isEnabled())
if (OptionsUtil.COMMAND_VOTEPARTY.isEnabled())
Utils.unRegisterCommand("voteparty");
if (Options.COMMAND_REWARDS.isEnabled())
if (OptionsUtil.COMMAND_REWARDS.isEnabled())
Utils.unRegisterCommand("rewards");
if (Options.COMMAND_VOTETOP.isEnabled())
if (OptionsUtil.COMMAND_VOTETOP.isEnabled())
Utils.unRegisterCommand("votetop");
if (Options.COMMAND_HOLOGRAM.isEnabled())
if (OptionsUtil.COMMAND_HOLOGRAM.isEnabled())
Utils.unRegisterCommand("hologram");
if (connection != null) {
try {
Expand All @@ -220,17 +230,17 @@ public void onDisable() {
* @throws ClassNotFoundException When class is not found
*/
private void setupDatabase() throws Exception {
if (Options.DEBUG_USELESS.isEnabled())
if (OptionsUtil.DEBUG_USELESS.isEnabled())
Utils.debug(this, "Setup database Thread ID: " + Thread.currentThread().getId());
switch (String.valueOf(Options.DATABASE_TYPE.getValue())) {
switch (OptionsUtil.DATABASE_TYPE.getStringValue()) {
case "MySQL": {
if (connection == null || connection.isClosed()) {
database = new MySQL(
String.valueOf(Options.DATABASE_HOST.getValue()),
String.valueOf(Options.DATABASE_PORT.getValue()),
String.valueOf(Options.DATABASE_DATABASE.getValue()),
String.valueOf(Options.DATABASE_USER.getValue()),
String.valueOf(Options.DATABASE_PASSWORD.getValue()));
OptionsUtil.DATABASE_HOST.getStringValue(),
OptionsUtil.DATABASE_PORT.getIntValue(),
OptionsUtil.DATABASE_DATABASE.getStringValue(),
OptionsUtil.DATABASE_USER.getStringValue(),
OptionsUtil.DATABASE_PASSWORD.getStringValue());
iDatabaseType = new UserVoteData.SQLUserUtils();
connection = database.openConnection();
database.createTable();
Expand All @@ -241,11 +251,11 @@ private void setupDatabase() throws Exception {
case "PostgreSQL": {
if (connection == null || connection.isClosed()) {
database = new PostgreSQL(
String.valueOf(Options.DATABASE_HOST.getValue()),
String.valueOf(Options.DATABASE_PORT.getValue()),
String.valueOf(Options.DATABASE_DATABASE.getValue()),
String.valueOf(Options.DATABASE_USER.getValue()),
String.valueOf(Options.DATABASE_PASSWORD.getValue()));
OptionsUtil.DATABASE_HOST.getStringValue(),
OptionsUtil.DATABASE_PORT.getIntValue(),
OptionsUtil.DATABASE_DATABASE.getStringValue(),
OptionsUtil.DATABASE_USER.getStringValue(),
OptionsUtil.DATABASE_PASSWORD.getStringValue());
iDatabaseType = new UserVoteData.SQLUserUtils();
connection = database.openConnection();
database.createTable();
Expand All @@ -257,7 +267,7 @@ private void setupDatabase() throws Exception {
if (connection == null || connection.isClosed()) {
database = new SQLite(
getDataFolder(),
String.valueOf(Options.DATABASE_SQLITE.getValue()));
OptionsUtil.DATABASE_SQLITE.getStringValue());
iDatabaseType = new UserVoteData.SQLUserUtils();
connection = database.openConnection();
database.createTable();
Expand All @@ -267,12 +277,12 @@ private void setupDatabase() throws Exception {
}
case "MongoDB": {
mongoDB = new MongoDB(
String.valueOf(Options.DATABASE_MONGO_HOST.getValue()),
Options.DATABASE_MONGO_PORT.getIntValue(),
String.valueOf(Options.DATABASE_MONGO_USER.getValue()),
String.valueOf(Options.DATABASE_MONGO_PASSWORD.getValue()),
String.valueOf(Options.DATABASE_MONGO_DATABASE.getValue()),
String.valueOf(Options.DATABASE_MONGO_COLLECTION.getValue()));
OptionsUtil.DATABASE_MONGO_HOST.getStringValue(),
OptionsUtil.DATABASE_MONGO_PORT.getIntValue(),
OptionsUtil.DATABASE_MONGO_USER.getStringValue(),
OptionsUtil.DATABASE_MONGO_PASSWORD.getStringValue(),
OptionsUtil.DATABASE_MONGO_DATABASE.getStringValue(),
OptionsUtil.DATABASE_MONGO_COLLECTION.getStringValue());
database = null;
iDatabaseType = new UserVoteData.MongoDBUtils();
Bukkit.getLogger().info("[VoteRewards] Database: MongoDB");
Expand All @@ -293,7 +303,7 @@ private void setupDatabase() throws Exception {
userVoteData.load(new Callback() {
@Override
public void onSuccess() {
if (Options.DEBUG_LOAD.isEnabled())
if (OptionsUtil.DEBUG_LOAD.isEnabled())
Utils.debug(VoteRewardPlugin.getInstance(), "Successfully loaded user " + userVoteData.getUser().getPlayer().getName());
}

Expand All @@ -306,10 +316,10 @@ public void onFailure(Throwable throwable) {

HolographicDisplays.updateAll();

if (Options.PURGE_ENABLED.isEnabled())
if (OptionsUtil.PURGE_ENABLED.isEnabled())
VoteUtils.purgeData();

if (Options.MONTHLY_ENABLED.isEnabled())
if (OptionsUtil.MONTHLY_ENABLED.isEnabled())
VoteUtils.monthlyReset();
}

Expand Down
4 changes: 2 additions & 2 deletions src/main/java/com/georgev22/voterewards/commands/Vote.java
@@ -1,7 +1,7 @@
package com.georgev22.voterewards.commands;

import com.georgev22.voterewards.utilities.MessagesUtil;
import com.georgev22.voterewards.utilities.Options;
import com.georgev22.voterewards.utilities.OptionsUtil;
import com.georgev22.voterewards.utilities.Utils;
import com.georgev22.voterewards.utilities.maps.ObjectMap;
import com.georgev22.voterewards.utilities.player.UserVoteData;
Expand Down Expand Up @@ -37,7 +37,7 @@ public boolean execute(@NotNull final CommandSender sender, @NotNull final Strin
placeholders.append("%votes%", String.valueOf(userVoteData.getVotes()));
MessagesUtil.VOTE_COMMAND.msg(player, placeholders, true);

if (Options.CUMULATIVE.isEnabled() && Options.CUMULATIVE_MESSAGE.isEnabled()) {
if (OptionsUtil.CUMULATIVE.isEnabled() && OptionsUtil.CUMULATIVE_MESSAGE.isEnabled()) {
placeholders.append("%votes%", String.valueOf(userVoteData.votesUntilNextCumulativeVote()));
MessagesUtil.VOTE_COMMAND_CUMULATIVE.msg(player, placeholders, true);
}
Expand Down
Expand Up @@ -3,7 +3,7 @@
import com.georgev22.voterewards.VoteRewardPlugin;
import com.georgev22.voterewards.configmanager.FileManager;
import com.georgev22.voterewards.utilities.MessagesUtil;
import com.georgev22.voterewards.utilities.Options;
import com.georgev22.voterewards.utilities.OptionsUtil;
import com.georgev22.voterewards.utilities.Utils;
import com.georgev22.voterewards.utilities.maps.ObjectMap;
import com.georgev22.voterewards.utilities.player.UserVoteData;
Expand Down Expand Up @@ -121,10 +121,10 @@ public boolean execute(@NotNull final CommandSender sender, @NotNull final Strin
return true;
}
placeholders
.append("%votes%", String.valueOf(Options.VOTEPARTY_VOTES.getIntValue()
.append("%votes%", String.valueOf(OptionsUtil.VOTEPARTY_VOTES.getIntValue()
- fm.getData().getFileConfiguration().getInt("VoteParty-Votes")))
.append("%current%", String.valueOf(fm.getData().getFileConfiguration().getInt("VoteParty-Votes")))
.append("%need%", String.valueOf(Options.VOTEPARTY_VOTES.getIntValue()));
.append("%need%", String.valueOf(OptionsUtil.VOTEPARTY_VOTES.getIntValue()));
MessagesUtil.VOTEPARTY.msg(sender, placeholders, true);
placeholders.clear();
return true;
Expand Down
40 changes: 21 additions & 19 deletions src/main/java/com/georgev22/voterewards/commands/VoteTop.java
@@ -1,15 +1,13 @@
package com.georgev22.voterewards.commands;

import com.georgev22.voterewards.configmanager.FileManager;
import com.georgev22.voterewards.utilities.MessagesUtil;
import com.georgev22.voterewards.utilities.Options;
import com.georgev22.voterewards.utilities.OptionsUtil;
import com.georgev22.voterewards.utilities.Utils;
import com.georgev22.voterewards.utilities.maps.ObjectMap;
import com.georgev22.voterewards.utilities.player.VoteUtils;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.command.defaults.BukkitCommand;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;

Expand All @@ -30,44 +28,48 @@ public VoteTop() {

public boolean execute(@NotNull final CommandSender sender, @NotNull final String label, final String[] args) {
if (!testPermission(sender)) return true;
FileManager fm = FileManager.getInstance();
FileConfiguration conf = fm.getConfig().getFileConfiguration();
if (!(sender instanceof Player)) {
sendMsg(sender);
} else {
if (OptionsUtil.VOTETOP_GUI.isEnabled() && Bukkit.getPluginManager().isPluginEnabled("LeaderHeads")) {

if (conf.getBoolean("Options.gui") && Bukkit.getPluginManager().isPluginEnabled("LeaderHeads")) {
if (!(sender instanceof Player)) {
MessagesUtil.ONLY_PLAYER_COMMAND.msg(sender);
return true;
if (OptionsUtil.VOTETOP_GUI_TYPE.getStringValue().equalsIgnoreCase("monthly")) {
((Player) sender).chat("/votetopgui");
} else {
((Player) sender).chat("/alltimevotetopgui");
}
} else {
sendMsg(sender);
}
Player player = (Player) sender;
player.chat("/votetopgui");
return true;
}
return true;
}

public void sendMsg(CommandSender sender) {
ObjectMap<String, String> placeholders = ObjectMap.newHashObjectMap();

if (Options.VOTETOP_HEADER.isEnabled())
if (OptionsUtil.VOTETOP_HEADER.isEnabled())
MessagesUtil.VOTE_TOP_HEADER.msg(sender);

for (Map.Entry<String, Integer> b : VoteUtils.getTopPlayers(Options.VOTETOP_VOTERS.getIntValue()).entrySet()) {
for (Map.Entry<String, Integer> b : VoteUtils.getTopPlayers(OptionsUtil.VOTETOP_VOTERS.getIntValue()).entrySet()) {
String[] arg = String.valueOf(b).split("=");
placeholders.append("%name%", arg[0]).append("%votes%", arg[1]);

MessagesUtil.VOTE_TOP_BODY.msg(sender, placeholders, true);
}

if (Options.VOTETOP_LINE.isEnabled())
if (OptionsUtil.VOTETOP_LINE.isEnabled())
MessagesUtil.VOTE_TOP_LINE.msg(sender);

if (Options.VOTETOP_ALL_TIME_ENABLED.isEnabled())
for (Map.Entry<String, Integer> b : VoteUtils.getAllTimeTopPlayers(Options.VOTETOP_ALL_TIME_VOTERS.getIntValue()).entrySet()) {
if (OptionsUtil.VOTETOP_ALL_TIME_ENABLED.isEnabled())
for (Map.Entry<String, Integer> b : VoteUtils.getAllTimeTopPlayers(OptionsUtil.VOTETOP_ALL_TIME_VOTERS.getIntValue()).entrySet()) {
String[] arg = String.valueOf(b).split("=");
placeholders.append("%name%", arg[0]).append("%votes%", arg[1]);

MessagesUtil.VOTE_TOP_BODY.msg(sender, placeholders, true);
}
if (Options.VOTETOP_FOOTER.isEnabled())
if (OptionsUtil.VOTETOP_FOOTER.isEnabled())
MessagesUtil.VOTE_TOP_FOOTER.msg(sender);
placeholders.clear();
return true;
}
}

0 comments on commit a8e56c1

Please sign in to comment.