Set up clans monetization features in the shop and fix some hardcoded names in core

This commit is contained in:
AlexTheCoder 2016-07-22 00:18:34 -04:00
parent 869dfc1dfa
commit 818ed4c9a9
8 changed files with 157 additions and 20 deletions

View File

@ -215,12 +215,7 @@ public class MessageManager extends MiniClientPlugin<ClientMessage>
Get(from).LastToTime = System.currentTimeMillis();
// Chiss or defek7
if (to.getName().equals("Chiss") || to.getName().equals("defek7") || to.getName().equals("Phinary") || to.getName().equals("AlexTheCoder"))
{
UtilPlayer.message(from, C.cPurple + to.getName() + " is often AFK or minimized, due to plugin development.");
UtilPlayer.message(from, C.cPurple + "Please be patient if he does not reply instantly.");
}
if (to.getName().equals("xXVevzZXx"))
if (GetClientManager().Get(to).GetRank() == Rank.DEVELOPER)
{
UtilPlayer.message(from, C.cPurple + to.getName() + " is often AFK or minimized, due to plugin development.");
UtilPlayer.message(from, C.cPurple + "Please be patient if she does not reply instantly.");

View File

@ -121,22 +121,25 @@ public class Enjin extends MiniPlugin implements CommandExecutor
_cachedUUIDs.put(name, new AbstractMap.SimpleEntry<UUID, Long>(playerUUID, System.currentTimeMillis() + 240000));
if (!checkForBoosterPurchase(args, name, playerUUID, client))
if (!checkForClansPurchase(args, name, client))
{
if (!checkForCoinPurchase(args, name, playerUUID, client))
if (!checkForBoosterPurchase(args, name, playerUUID, client))
{
if (!checkForRankPurchase(args, name, playerUUID, client))
if (!checkForCoinPurchase(args, name, playerUUID, client))
{
if (!checkForPurchase(args, name, client))
if (!checkForRankPurchase(args, name, playerUUID, client))
{
StringBuilder sb = new StringBuilder();
for (String arg : args)
if (!checkForPurchase(args, name, client))
{
sb.append(arg + " ");
}
StringBuilder sb = new StringBuilder();
System.out.println("Received Command : " + sb.toString());
for (String arg : args)
{
sb.append(arg + " ");
}
System.out.println("Received Command : " + sb.toString());
}
}
}
}
@ -293,4 +296,71 @@ public class Enjin extends MiniPlugin implements CommandExecutor
return true;
}
protected boolean checkForClansPurchase(String[] args, final String name, final CoreClient client)
{
if (args.length >= 3 && args[0].equalsIgnoreCase("clansBanner"))
{
String purchase = "Clan Banner Usage";
if (args[2].equalsIgnoreCase("true"))
{
purchase = "Clan Banner Editor";
}
final String packageName = purchase;
_donationManager.PurchaseUnknownSalesPackage(new Callback<TransactionResponse>()
{
public void run(TransactionResponse data)
{
if (data == TransactionResponse.Success)
{
_inventoryManager.addItemToInventoryForOffline(new Callback<Boolean>()
{
public void run(Boolean success)
{
if (success)
{
_purchaseManager.addAccountPurchaseToQueue(client.getAccountId(), packageName, 1, true);
System.out.println("[" + _dateFormat.format(new Date()) + "] " + name + " received their " + packageName + " access.");
}
else
{
System.out.println("[" + _dateFormat.format(new Date()) + "] ERROR processing " + name + " " + packageName + ". Queuing for run later.");
_purchaseManager.addAccountPurchaseToQueue(client.getAccountId(), packageName, 1, false);
}
}
}, client.getAccountId(), packageName, 1);
}
else
{
System.out.println("[" + _dateFormat.format(new Date()) + "] ERROR processing " + name + " 1" + ". Queuing for run later.");
_purchaseManager.addAccountPurchaseToQueue(client.getAccountId(), packageName, 1, data == TransactionResponse.Success);
}
}
}, name, client.getAccountId(), packageName, CurrencyType.GEM, 0, false);
//enjin_mineplex clansBanner AlexTheCoder true
return true;
}
if (args.length >= 4 && args[0].equalsIgnoreCase("clansAmplifier"))
{
//enjin_mineplex clansAmplifier AlexTheCoder 20 1
final String item = "Rune Amplifier " + args[2];
final int amount = Integer.parseInt(args[3]);
_inventoryManager.addItemToInventoryForOffline(new Callback<Boolean>()
{
public void run (Boolean response)
{
if (response)
System.out.println("[" + _dateFormat.format(new Date()) + "] " + name + " received " + amount + " rune amplifiers.");
else
System.out.println("[" + _dateFormat.format(new Date()) + "] ERROR processing " + name + " " + amount + " rune amplifiers. Queuing for run later.");
_purchaseManager.addAccountPurchaseToQueue(client.getAccountId(), item, amount, response);
}
}, client.getAccountId(), item, amount);
}
return false;
}
}

View File

@ -53,11 +53,11 @@ public class BannerManager extends MiniPlugin
public int getBannerUnlockLevel(Player player)
{
int level = 0;
if (ClansManager.getInstance().getDonationManager().Get(player).OwnsUnknownPackage("UseClanBanner"))
if (ClansManager.getInstance().getDonationManager().Get(player).OwnsUnknownPackage("Clan Banner Usage"))
{
level = 1;
}
if (ClansManager.getInstance().getDonationManager().Get(player).OwnsUnknownPackage("MakeClanBanner"))
if (ClansManager.getInstance().getDonationManager().Get(player).OwnsUnknownPackage("Clan Banner Editor"))
{
level = 2;
}

View File

@ -82,12 +82,13 @@ public class StaffServer extends JavaPlugin
((CraftServer)getServer()).getHandle().addWhitelist(new GameProfile(UUID.fromString("377bdea3-badc-448d-81c1-65db43b17ea4"), "Strutt20"));
((CraftServer)getServer()).getHandle().addWhitelist(new GameProfile(UUID.fromString("cf1b629c-cc55-4eb4-be9e-3ca86dfc7b9d"), "mannalou"));
((CraftServer)getServer()).getHandle().addWhitelist(new GameProfile(UUID.fromString("04a484d0-93e0-4777-a70c-808046917e3a"), "EvilEsther"));
((CraftServer)getServer()).getHandle().addWhitelist(new GameProfile(UUID.fromString("04a484d0-93e0-4777-a70c-808046917e3a"), "EstherCS"));
((CraftServer)getServer()).getHandle().addWhitelist(new GameProfile(UUID.fromString("adaa7613-6683-400f-baf8-7272c04b2cb4"), "Timmy48081_"));
((CraftServer)getServer()).getHandle().addWhitelist(new GameProfile(UUID.fromString("231fb752-9556-489b-8428-f47c7598e061"), "Nuclear_Poptart"));
((CraftServer)getServer()).getHandle().addWhitelist(new GameProfile(UUID.fromString("efaf9a17-2304-4f42-8433-421523c308dc"), "B2_mp"));
((CraftServer)getServer()).getHandle().addWhitelist(new GameProfile(UUID.fromString("492ff708-fe76-4c5a-b9ed-a747b5fa20a0"), "Cherdy8s"));
((CraftServer)getServer()).getHandle().addWhitelist(new GameProfile(UUID.fromString("6edf17d5-6bb2-4ed9-92e9-bed8e96fff68"), "BlueBeetleHD"));
((CraftServer)getServer()).getHandle().addWhitelist(new GameProfile(UUID.fromString("a47a4d04-9f51-44ba-9d35-8de6053e9289"), "AlexTheCoder"));
((CraftServer)getServer()).getHandle().addOp(new GameProfile(UUID.fromString("377bdea3-badc-448d-81c1-65db43b17ea4"), "Strutt20"));

View File

@ -54,6 +54,10 @@ public class SalesPackageManager extends MiniPlugin
//AddSalesPackage(new ValentinesGift(this));
AddSalesPackage(new FrostLord(this));
AddSalesPackage(new EasterBunny(this));
AddSalesPackage(new ClanBannerUsage(this));
AddSalesPackage(new ClanBannerEditor(this));
AddSalesPackage(new RuneAmplifier(this, 20));
AddSalesPackage(new RuneAmplifier(this, 60));
}
private void AddSalesPackage(SalesPackageBase salesPackage)
@ -97,6 +101,7 @@ public class SalesPackageManager extends MiniPlugin
JsonMessage coinBuilder = new JsonMessage("Shards : ").color("blue");
JsonMessage packageBuilder = new JsonMessage("Rank Packages : ").color("blue");
JsonMessage chestBuilder = new JsonMessage("Chest Packages : ").color("blue");
JsonMessage clanBuilder = new JsonMessage("Clan Packages : ").color("blue");
for (SalesPackageBase salesPackage : _salesPackages.values())
{
@ -108,6 +113,10 @@ public class SalesPackageManager extends MiniPlugin
{
chestBuilder = chestBuilder.extra("[").color("gray").extra(salesPackage.getName()).color("green").click("run_command", "/display " + playerName + " " + salesPackage.getName()).extra("] ").color("gray");
}
else if (salesPackage instanceof ClanBannerEditor || salesPackage instanceof ClanBannerUsage || salesPackage instanceof RuneAmplifier)
{
clanBuilder = clanBuilder.extra("[").color("gray").extra(salesPackage.getName()).color("green").click("run_command", "/display " + playerName + " " + salesPackage.getName()).extra("] ").color("gray");
}
else
{
packageBuilder = packageBuilder.extra("[").color("gray").extra(salesPackage.getName()).color("green").click("run_command", "/display " + playerName + " " + salesPackage.getName()).extra("] ").color("gray");

View File

@ -0,0 +1,20 @@
package mineplex.staffServer.salespackage.salespackages;
import mineplex.staffServer.salespackage.SalesPackageManager;
import org.bukkit.entity.Player;
public class ClanBannerEditor extends SalesPackageBase
{
public ClanBannerEditor(SalesPackageManager manager)
{
super(manager, "Clan Banner Editor Access");
}
public void displayToAgent(Player agent, String playerName)
{
addButton(agent, "/sales item " + playerName + " 1 Unlock Clan Banner Editor", "Give Clan Banner Editor access.");
agent.sendMessage(" ");
addBackButton(agent, playerName);
}
}

View File

@ -0,0 +1,20 @@
package mineplex.staffServer.salespackage.salespackages;
import mineplex.staffServer.salespackage.SalesPackageManager;
import org.bukkit.entity.Player;
public class ClanBannerUsage extends SalesPackageBase
{
public ClanBannerUsage(SalesPackageManager manager)
{
super(manager, "Clan Banner Usage Access");
}
public void displayToAgent(Player agent, String playerName)
{
addButton(agent, "/sales item " + playerName + " 1 Unlock Clan Banner Usage", "Give Clan Banner Usage access.");
agent.sendMessage(" ");
addBackButton(agent, playerName);
}
}

View File

@ -0,0 +1,22 @@
package mineplex.staffServer.salespackage.salespackages;
import mineplex.staffServer.salespackage.SalesPackageManager;
import org.bukkit.entity.Player;
public class RuneAmplifier extends SalesPackageBase
{
private int _minutes;
public RuneAmplifier(SalesPackageManager manager, int minutes)
{
super(manager, "1 " + minutes + " minutes Rune Amplifier");
_minutes = minutes;
}
public void displayToAgent(Player agent, String playerName)
{
addButton(agent, "/sales item " + playerName + " 1 Item Rune Amplifier " + _minutes, "Give 1 " + _minutes + " minute Rune Amplifier.");
agent.sendMessage(" ");
addBackButton(agent, playerName);
}
}