Skip to content
This repository has been archived by the owner on Jan 16, 2024. It is now read-only.

Commit

Permalink
EconomyLite v1.1.5
Browse files Browse the repository at this point in the history
  • Loading branch information
Flibio committed Feb 21, 2016
1 parent 5e1eb8b commit 14c61e7
Show file tree
Hide file tree
Showing 15 changed files with 185 additions and 402 deletions.
34 changes: 33 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>EconomyLite</groupId>
<artifactId>EconomyLite</artifactId>
<version>1.1.4</version>
<version>1.1.5</version>
<packaging>jar</packaging>
<name>EconomyLite</name>
<description>An economy plugin for Sponge</description>
Expand All @@ -19,6 +19,19 @@
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<repositories>
Expand All @@ -33,6 +46,14 @@
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>minecrell</id>
<url>http://repo.minecrell.net/releases</url>
</repository>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>

<dependencies>
Expand All @@ -42,5 +63,16 @@
<version>3.1.0-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.github.Flibio</groupId>
<artifactId>Updatifier</artifactId>
<version>RELEASE</version>
</dependency>
<dependency>
<groupId>net.minecrell.mcstats</groupId>
<artifactId>statslite-sponge</artifactId>
<version>0.2.1</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
15 changes: 14 additions & 1 deletion src/me/Flibio/EconomyLite/Commands/PayCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import me.Flibio.EconomyLite.Utils.PlayerManager;
import me.Flibio.EconomyLite.Utils.TextUtils;

import org.spongepowered.api.Sponge;
import org.spongepowered.api.command.CommandException;
import org.spongepowered.api.command.CommandResult;
import org.spongepowered.api.command.CommandSource;
Expand Down Expand Up @@ -135,7 +136,14 @@ private void payBusiness(String uuid, int amount, Player player, String business
if(account.withdraw(currency,BigDecimal.valueOf(amount),Cause.of("EconomyLite")).getResult().equals(ResultType.SUCCESS)&&
businessManager.setBusinessBalance(businessName, newBalance)) {
//Success
player.sendMessage(textUtils.paySuccess(businessName, amount));
player.sendMessage(textUtils.paySuccess(businessName, amount));
for(String owner : businessManager.getBusinessOwners(businessName)) {
Sponge.getServer().getOnlinePlayers().forEach(p -> {
if(p.getName().equalsIgnoreCase(owner)) {
p.sendMessage(textUtils.bPayed(player.getName(), amount, businessName));
}
});
}
return;
} else {
//Error
Expand Down Expand Up @@ -175,6 +183,11 @@ private void payPlayer(String uuid, int amount, Player player, String playerName
targetAccount.setBalance(currency,BigDecimal.valueOf(newBalance),Cause.of("EconomyLite")).getResult().equals(ResultType.SUCCESS)) {
//Success
player.sendMessage(textUtils.paySuccess(playerName, amount));
for(Player oPlayer : Sponge.getServer().getOnlinePlayers()) {
if(oPlayer.getUniqueId().toString().equals(targetUUID)) {
oPlayer.sendMessage(textUtils.payed(player.getName(),amount));
}
}
return;
} else {
//Error
Expand Down
13 changes: 13 additions & 0 deletions src/me/Flibio/EconomyLite/Commands/PayOverrideCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import me.Flibio.EconomyLite.Utils.PlayerManager;
import me.Flibio.EconomyLite.Utils.TextUtils;

import org.spongepowered.api.Sponge;
import org.spongepowered.api.command.CommandException;
import org.spongepowered.api.command.CommandResult;
import org.spongepowered.api.command.CommandSource;
Expand Down Expand Up @@ -130,6 +131,13 @@ private void payBusiness(String uuid, int amount, Player player, String business
businessManager.setBusinessBalance(businessName, newBalance)) {
//Success
player.sendMessage(textUtils.paySuccess(businessName, amount));
for(String owner : businessManager.getBusinessOwners(businessName)) {
Sponge.getServer().getOnlinePlayers().forEach(p -> {
if(p.getName().equalsIgnoreCase(owner)) {
p.sendMessage(textUtils.bPayed(player.getName(), amount, businessName));
}
});
}
return;
} else {
//Error
Expand Down Expand Up @@ -169,6 +177,11 @@ private void payPlayer(String uuid, int amount, Player player, String playerName
targetAccount.setBalance(currency,BigDecimal.valueOf(newBalance),Cause.of("EconomyLite")).getResult().equals(ResultType.SUCCESS)) {
//Success
player.sendMessage(textUtils.paySuccess(playerName, amount));
for(Player oPlayer : Sponge.getServer().getOnlinePlayers()) {
if(oPlayer.getUniqueId().toString().equals(targetUUID)) {
oPlayer.sendMessage(textUtils.payed(player.getName(),amount));
}
}
return;
} else {
//Error
Expand Down
70 changes: 70 additions & 0 deletions src/me/Flibio/EconomyLite/Commands/PlayerBalanceCommand.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
package me.Flibio.EconomyLite.Commands;

import me.Flibio.EconomyLite.EconomyLite;
import me.Flibio.EconomyLite.Utils.PlayerManager;
import me.Flibio.EconomyLite.Utils.TextUtils;

import org.spongepowered.api.command.CommandException;
import org.spongepowered.api.command.CommandResult;
import org.spongepowered.api.command.CommandSource;
import org.spongepowered.api.command.args.CommandContext;
import org.spongepowered.api.command.spec.CommandExecutor;
import org.spongepowered.api.scheduler.Task.Builder;
import org.spongepowered.api.service.economy.Currency;
import org.spongepowered.api.service.economy.EconomyService;
import org.spongepowered.api.service.economy.account.UniqueAccount;
import org.spongepowered.api.text.format.TextColors;

import java.math.RoundingMode;
import java.util.Optional;
import java.util.UUID;

public class PlayerBalanceCommand implements CommandExecutor {

private TextUtils textUtils = new TextUtils();
private EconomyService economyService = EconomyLite.getService();
private Currency currency = EconomyLite.getService().getDefaultCurrency();
private PlayerManager playerManager = new PlayerManager();
private Builder taskBuilder = EconomyLite.access.game.getScheduler().createTaskBuilder();

@Override
public CommandResult execute(CommandSource source, CommandContext args)
throws CommandException {
//Run in a seperate thread
taskBuilder.execute(new Runnable() {
public void run() {

Optional<String> target = args.<String>getOne("player");
if(target.isPresent()) {
//Check if player has permission
if(!source.hasPermission("econ.playerbalance")) {
source.sendMessage(textUtils.basicText("You do not have permission to use this command!", TextColors.RED));
return;
}
//Player wants to view another player's balance
String targetName = target.get();
String uuid = playerManager.getUUID(targetName);
Optional<UniqueAccount> oAct = economyService.getAccount(UUID.fromString(uuid));
if(oAct.isPresent()) {
int balance = oAct.get().getBalance(currency).setScale(0, RoundingMode.HALF_UP).intValue();
if(balance<0) {
source.sendMessage(textUtils.basicText("An internal error has occurred!", TextColors.RED));
return;
} else {
source.sendMessage(textUtils.playerBalanceText(balance, targetName));
return;
}
} else {
source.sendMessage(textUtils.basicText("An internal error has occurred!", TextColors.RED));
return;
}
} else {
source.sendMessage(textUtils.basicText("You need to specify a player to get the balance of!", TextColors.RED));
return;
}
}
}).submit(EconomyLite.access);
return CommandResult.success();
}

}
64 changes: 14 additions & 50 deletions src/me/Flibio/EconomyLite/EconomyLite.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,17 @@
import me.Flibio.EconomyLite.Commands.BusinessTransferCommand;
import me.Flibio.EconomyLite.Commands.PayCommand;
import me.Flibio.EconomyLite.Commands.PayOverrideCommand;
import me.Flibio.EconomyLite.Commands.PlayerBalanceCommand;
import me.Flibio.EconomyLite.Commands.RemoveCommand;
import me.Flibio.EconomyLite.Commands.SetCommand;
import me.Flibio.EconomyLite.Listeners.BalanceChangeListener;
import me.Flibio.EconomyLite.Listeners.PlayerJoinListener;
import me.Flibio.EconomyLite.Utils.BusinessManager;
import me.Flibio.EconomyLite.Utils.FileManager;
import me.Flibio.EconomyLite.Utils.FileManager.FileType;
import me.Flibio.EconomyLite.Utils.HttpUtils;
import me.Flibio.EconomyLite.Utils.JsonUtils;
import me.Flibio.EconomyLite.Utils.MySQLManager;
import me.Flibio.EconomyLite.Utils.TextUtils;
import me.flibio.updatifier.Updatifier;
import net.minecrell.mcstats.SpongeStatsLite;
import ninja.leaping.configurate.ConfigurationNode;

import org.slf4j.Logger;
Expand All @@ -33,7 +33,6 @@
import org.spongepowered.api.command.spec.CommandSpec;
import org.spongepowered.api.event.Listener;
import org.spongepowered.api.event.game.state.GameInitializationEvent;
import org.spongepowered.api.event.game.state.GameStartedServerEvent;
import org.spongepowered.api.plugin.Plugin;
import org.spongepowered.api.service.economy.Currency;
import org.spongepowered.api.service.economy.EconomyService;
Expand All @@ -45,7 +44,8 @@
import java.util.HashMap;
import java.util.Optional;

@Plugin(id = "EconomyLite", name = "EconomyLite", version = "1.1.4")
@Updatifier(repoName = "EconomyLite", repoOwner = "Flibio", version = "v1.1.5")
@Plugin(id = "EconomyLite", name = "EconomyLite", version = "1.1.5")
public class EconomyLite {

@Inject
Expand All @@ -54,6 +54,8 @@ public class EconomyLite {
@Inject
public Game game;

@Inject
private SpongeStatsLite statsLite;
private FileManager fileManager;
private BusinessManager businessManager;
private static EconomyService economyService;
Expand All @@ -75,6 +77,7 @@ public class EconomyLite {
@Listener
public void onServerInitialize(GameInitializationEvent event) {
logger.info("EconomyLite v"+version+" by Flibio initializing!");
this.statsLite.start();
//Set the access
access = this;

Expand Down Expand Up @@ -102,13 +105,6 @@ public void onServerInitialize(GameInitializationEvent event) {
economyService = new LiteEconomyService();
game.getServiceManager().setProvider(this, EconomyService.class, economyService);
logger.info("API registered successfully!");
//Start Metrics
if(optionEnabled("statistics")) {
logger.info("Started EconomyLite Statistics!");
game.getEventManager().registerListeners(this, new Statistics());
} else {
logger.info("EconomyLite Statistics are disabled!");
}
//Reset business confirmations
game.getScheduler().createTaskBuilder().execute(new Runnable() {
public void run() {
Expand All @@ -121,42 +117,6 @@ public void run() {
}).async().submit(this);
}

@Listener
public void onServerStarted(GameStartedServerEvent event) {
if(optionEnabled("updates")) {
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
HttpUtils httpUtils = new HttpUtils();
JsonUtils jsonUtils = new JsonUtils();
TextUtils textUtils = new TextUtils();
//Check for an update
String latest = httpUtils.requestData("https://api.github.com/repos/Flibio/EconomyLite/releases/latest");
String version = jsonUtils.getVersion(latest).replace("v", "");
String changes = httpUtils.requestData("https://flibio.github.io/EconomyLite/changelogs/"+version.replaceAll("\\.", "-")+".txt");
String[] iChanges = changes.split(";");
String url = jsonUtils.getUrl(latest);
boolean prerelease = jsonUtils.isPreRelease(latest);
//Make sure the latest update is not a prerelease
if(!prerelease) {
//Check if the latest update is newer than the current one
String currentVersion = EconomyLite.access.version;
if(textUtils.versionCompare(version, currentVersion)>0) {
logger.info("EconomyLite v"+version+" is now available to download!");
logger.info(url);
for(String change : iChanges) {
if(!change.trim().isEmpty()) {
logger.info("+ "+change);
}
}
}
}
}
});
thread.start();
}
}

private void registerEvents() {
game.getEventManager().registerListeners(this, new PlayerJoinListener());
game.getEventManager().registerListeners(this, new BalanceChangeListener());
Expand All @@ -169,6 +129,12 @@ private void registerCommands() {
.executor(new BalanceCommand())
.build();
game.getCommandManager().register(this, balanceCommand, "balance", "bal");
CommandSpec pBalanceCommand = CommandSpec.builder()
.description(Text.of("View EconomyLite balance of another player"))
.arguments(GenericArguments.string(Text.of("player")))
.executor(new PlayerBalanceCommand())
.build();
game.getCommandManager().register(this, pBalanceCommand, "playerbalance", "pbal");
//Add Child Command
CommandSpec addCommand = CommandSpec.builder()
.description(Text.of("Add currency to a player's balance"))
Expand Down Expand Up @@ -292,7 +258,6 @@ private void initializeFiles() {
fileManager.testDefault("Scoreboard", "disabled");
fileManager.testDefault("Businesses", "enabled");
fileManager.testDefault("Plugin-Statistics", "enabled");
fileManager.testDefault("Update-Notifications", "enabled");
fileManager.testDefault("MySQL.Enabled", "disabled");
fileManager.testDefault("MySQL.Hostname", "hostname");
fileManager.testDefault("MySQL.Port", 3306);
Expand All @@ -311,7 +276,6 @@ private void loadConfigurationOptions() {
configOptions.put("scoreboard", fileManager.getConfigValue("Scoreboard"));
configOptions.put("businesses", fileManager.getConfigValue("Businesses"));
configOptions.put("statistics", fileManager.getConfigValue("Plugin-Statistics"));
configOptions.put("updates", fileManager.getConfigValue("Update-Notifications"));
configOptions.put("mysql.enabled", fileManager.getConfigValue("MySQL.Enabled"));
configOptions.put("mysql.hostname", fileManager.getConfigValue("MySQL.Hostname"));
configOptions.put("mysql.port", fileManager.getConfigValue("MySQL.Port"));
Expand Down
17 changes: 0 additions & 17 deletions src/me/Flibio/EconomyLite/Gson/PlayerPojo.java

This file was deleted.

21 changes: 0 additions & 21 deletions src/me/Flibio/EconomyLite/Gson/ReleasePojo.java

This file was deleted.

Loading

0 comments on commit 14c61e7

Please sign in to comment.