Skip to content

Commit ca07d94

Browse files
committedOct 30, 2018
Discord Bot, MoneyThread, Gitingnore
-Returned bot to channel id based, need to test -Added money distribution thread -Few new configs -Updated gitignore with .ipr
1 parent 9c53e28 commit ca07d94

File tree

9 files changed

+107
-49
lines changed

9 files changed

+107
-49
lines changed
 

‎.gitignore

+4-2
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,7 @@ wi
3232
\.idea/
3333
/classes/
3434
*.iml
35-
GelioUtils.ipr
36-
GelioUtils.iws
35+
GeiloUtils.ipr
36+
GeiloUtils.iws
37+
*.ipr
38+
*.iws

‎src/main/java/play/ai/dragonrealm/geiloutils/GeiloUtils.java

+3-18
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
11
package play.ai.dragonrealm.geiloutils;
22

3-
import net.minecraft.init.Blocks;
4-
import net.dv8tion.jda.core.JDA;
5-
import net.dv8tion.jda.core.JDABuilder;
63
import net.minecraftforge.common.MinecraftForge;
74
import net.minecraftforge.fml.common.Mod;
85
import net.minecraftforge.fml.common.Mod.EventHandler;
96
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
107
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
118
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
129
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
13-
import play.ai.dragonrealm.geiloutils.commands.CommandDebug;
1410
import play.ai.dragonrealm.geiloutils.commands.admin.CommandGeiloReload;
1511
import play.ai.dragonrealm.geiloutils.commands.admin.CommandRN;
1612
import play.ai.dragonrealm.geiloutils.commands.ban.CommandGeiloBan;
@@ -25,28 +21,16 @@
2521
import play.ai.dragonrealm.geiloutils.commands.ranks.CommandGeiloRank;
2622
import play.ai.dragonrealm.geiloutils.commands.rtp.CommandRTP;
2723
import play.ai.dragonrealm.geiloutils.config.ConfigurationManager;
28-
import play.ai.dragonrealm.geiloutils.config.kits.Kit;
29-
import play.ai.dragonrealm.geiloutils.config.kits.KitItem;
30-
import play.ai.dragonrealm.geiloutils.config.kits.Kits;
31-
import play.ai.dragonrealm.geiloutils.config.permissions.Permission;
32-
import play.ai.dragonrealm.geiloutils.config.playerstats.KitLastUsed;
33-
import play.ai.dragonrealm.geiloutils.config.rtp.ConfigRTP;
3424
import play.ai.dragonrealm.geiloutils.discord.main.GeiloBot;
25+
import play.ai.dragonrealm.geiloutils.economy.MoneyDistribution;
3526
import play.ai.dragonrealm.geiloutils.events.ChatEvent;
3627
import play.ai.dragonrealm.geiloutils.events.EventHandlerBlocks;
3728
import play.ai.dragonrealm.geiloutils.events.EventHandlerPlayer;
38-
import play.ai.dragonrealm.geiloutils.events.EventMoneyPickup;
3929
import play.ai.dragonrealm.geiloutils.utils.CraftingUtils;
4030
import play.ai.dragonrealm.geiloutils.utils.MoneyUtils;
4131

42-
import java.util.Date;
43-
44-
import javax.security.auth.login.LoginException;
45-
4632
import org.apache.logging.log4j.Logger;
4733

48-
import com.google.gson.Gson;
49-
5034
@Mod(modid="geiloutils", name="GeiloUtils", version="1.3.3", acceptableRemoteVersions="*", acceptedMinecraftVersions="[1.12.2]")
5135
public class GeiloUtils
5236
{
@@ -96,7 +80,8 @@ public void postInit(FMLPostInitializationEvent event)
9680
MinecraftForge.EVENT_BUS.register(new EventHandlerBlocks());
9781
MinecraftForge.EVENT_BUS.register(new EventHandlerPlayer());
9882
MinecraftForge.EVENT_BUS.register(new ChatEvent());
99-
//MinecraftForge.EVENT_BUS.register(new EventMoneyPickup());
83+
84+
MoneyDistribution.enablePaymentTimer();
10085

10186
CraftingUtils.removeAllRecipes();
10287
}

‎src/main/java/play/ai/dragonrealm/geiloutils/config/ConfigurationManager.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public class ConfigurationManager
4343
static private File filePlayerstats = new File(Loader.instance().getConfigDir() + "/GeiloUtils", "Playerstats.json");
4444
static private File fileRTP = new File(Loader.instance().getConfigDir() + "/GeiloUtils", "rtp.json");
4545
static private File fileDiscord = new File(Loader.instance().getConfigDir() + "/GeiloUtils", "Discord.json");
46-
static private File fileEconomy = new File(Loader.instance().getConfigDir() + "/GeiloUtils", "Economy.json");
46+
static private File fileEconomy = new File(Loader.instance().getConfigDir() + "/GeiloUtils", "economy.json");
4747

4848
private static BannedBlocks bannedBlocksConfig;
4949
private static Kits kitsConfig;

‎src/main/java/play/ai/dragonrealm/geiloutils/config/economy/ConfigEconomy.java

+48
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,22 @@
11
package play.ai.dragonrealm.geiloutils.config.economy;
22

33
import java.util.ArrayList;
4+
import java.util.HashMap;
45
import java.util.List;
6+
import java.util.Map;
57

68
public class ConfigEconomy {
79
private boolean enabled;
810
private double startingMoney;
911
private boolean goodOlCurrencyIntegration;
1012
private boolean enablePlayerNameIdentification;
13+
private boolean enablePaymentTimer;
14+
private int paymentTimeInSeconds;
15+
private int baseTierIncome;
16+
private double baseMultiplier;
17+
private HashMap<String, Integer> permPaymentMap;
18+
19+
1120
public boolean isEnablePlayerNameIdentification() {
1221
return enablePlayerNameIdentification;
1322
}
@@ -47,4 +56,43 @@ public List<EcoItem> getSellItems() {
4756
public void setSellItems(List<EcoItem> sellItems) {
4857
this.sellItems = sellItems;
4958
}
59+
60+
public double getBaseMultiplier() {
61+
return baseMultiplier;
62+
}
63+
public int getPaymentTimeInSeconds() {
64+
return paymentTimeInSeconds;
65+
}
66+
67+
public int getBaseTierIncome() {
68+
return baseTierIncome;
69+
}
70+
71+
public boolean isPaymentTimerEnabled() {
72+
return enablePaymentTimer;
73+
}
74+
75+
public void setBaseMultiplier(double baseMultiplier) {
76+
this.baseMultiplier = baseMultiplier;
77+
}
78+
79+
public void setPaymentTimeInSeconds(int paymentTimeInSeconds) {
80+
this.paymentTimeInSeconds = paymentTimeInSeconds;
81+
}
82+
83+
public void setBaseTierIncome(int baseTierIncome) {
84+
this.baseTierIncome = baseTierIncome;
85+
}
86+
87+
public void setEnablePaymentTimer(boolean enablePaymentTimer) {
88+
this.enablePaymentTimer = enablePaymentTimer;
89+
}
90+
91+
public HashMap<String, Integer> getPermPaymentMap() {
92+
return permPaymentMap;
93+
}
94+
95+
public void setPermPaymentMap(HashMap<String, Integer> permPaymentMap) {
96+
this.permPaymentMap = permPaymentMap;
97+
}
5098
}

‎src/main/java/play/ai/dragonrealm/geiloutils/discord/listener/MessageListener.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public class MessageListener extends ListenerAdapter{
2525
private static List<String> colors = ConfigurationManager.getDiscordConfig().getValidColors();
2626

2727
public void onGuildMessageReceived(GuildMessageReceivedEvent event) {
28-
if(event.getChannel().getName().toLowerCase().equals(ConfigurationManager.getDiscordConfig().getChannelIDRelay()) && !(event.getAuthor().getId().equals(GeiloBot.jda.getSelfUser().getId()))) {
28+
if(event.getChannel().getId().equals(ConfigurationManager.getDiscordConfig().getChannelIDRelay()) && !(event.getAuthor().getId().equals(GeiloBot.jda.getSelfUser().getId()))) {
2929
// Var that stores location prefix
3030
String prefix;
3131
// If the message is coming from a bot, make it look prettier -> [SERVER] >> <Player> message

‎src/main/java/play/ai/dragonrealm/geiloutils/discord/listener/ReadyListener.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ public void onReady(ReadyEvent event) {
1212
GeiloUtils.getLogger().info("The bot is running on the following servers: ");
1313
for (Guild g : event.getJDA().getGuilds()) {
1414
GeiloUtils.getLogger().info(("Name: " + g.getName() + " ID: " + g.getId()));
15-
GeiloBot.channelCommands = g.getTextChannelsByName(ConfigurationManager.getDiscordConfig().getChannelIDCommands(), true).get(0);
16-
GeiloBot.channelIRC = g.getTextChannelsByName(ConfigurationManager.getDiscordConfig().getChannelIDRelay(), true).get(0);
15+
GeiloBot.channelCommands = g.getTextChannelById(ConfigurationManager.getDiscordConfig().getChannelIDCommands());
16+
GeiloBot.channelIRC = g.getTextChannelById(ConfigurationManager.getDiscordConfig().getChannelIDRelay());
1717

1818
//TODO: Reenable in the final release
1919
//GeiloBot.channelIRC.sendMessage("Server Online!").queue();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package play.ai.dragonrealm.geiloutils.economy;
2+
3+
import play.ai.dragonrealm.geiloutils.config.ConfigurationManager;
4+
5+
import java.util.Timer;
6+
7+
public class MoneyDistribution {
8+
9+
public static void enablePaymentTimer() {
10+
if (ConfigurationManager.getEconomyConfig().isEnabled() && ConfigurationManager.getEconomyConfig().isPaymentTimerEnabled()) {
11+
Timer t = new Timer();
12+
PayUsersTask mTask = new PayUsersTask();
13+
14+
t.scheduleAtFixedRate(mTask, 0, ConfigurationManager.getEconomyConfig().getPaymentTimeInSeconds() * 1000);
15+
16+
}
17+
}
18+
19+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package play.ai.dragonrealm.geiloutils.economy;
2+
3+
import net.minecraft.entity.player.EntityPlayerMP;
4+
import net.minecraft.util.text.TextComponentString;
5+
import net.minecraftforge.fml.common.FMLCommonHandler;
6+
import play.ai.dragonrealm.geiloutils.GeiloUtils;
7+
import play.ai.dragonrealm.geiloutils.config.ConfigurationManager;
8+
import play.ai.dragonrealm.geiloutils.utils.PlayerUtils;
9+
10+
import java.util.TimerTask;
11+
12+
public class PayUsersTask extends TimerTask {
13+
14+
@Override
15+
public void run() {
16+
GeiloUtils.getLogger().info("Payments Starting");
17+
if(FMLCommonHandler.instance().getMinecraftServerInstance().getPlayerList() != null) {
18+
for (EntityPlayerMP player : FMLCommonHandler.instance().getMinecraftServerInstance().getPlayerList().getPlayers()) {
19+
double baseIncome = ConfigurationManager.getEconomyConfig().getBaseTierIncome() * ConfigurationManager.getEconomyConfig().getBaseMultiplier();
20+
double rankIncome = 0;
21+
double totalIncome = baseIncome + rankIncome;
22+
23+
PlayerUtils.addPlayerMoney(player, totalIncome);
24+
player.sendMessage(new TextComponentString("Added " + totalIncome + " to your bank account"));
25+
}
26+
}
27+
GeiloUtils.getLogger().info("Payments Completed");
28+
}
29+
}

‎src/main/java/play/ai/dragonrealm/geiloutils/events/EventMoneyPickup.java

-25
This file was deleted.

0 commit comments

Comments
 (0)
Please sign in to comment.