Added alot
This commit is contained in:
parent
4681974fee
commit
a25ba5e71c
@ -19,10 +19,7 @@ import com.massivecraft.factions.zcore.MPlugin;
|
||||
import com.massivecraft.factions.zcore.fperms.Access;
|
||||
import com.massivecraft.factions.zcore.fperms.Permissable;
|
||||
import com.massivecraft.factions.zcore.fperms.PermissableAction;
|
||||
import com.massivecraft.factions.zcore.fupgrades.CropUpgrades;
|
||||
import com.massivecraft.factions.zcore.fupgrades.EXPUpgrade;
|
||||
import com.massivecraft.factions.zcore.fupgrades.FUpgradesGUI;
|
||||
import com.massivecraft.factions.zcore.fupgrades.SpawnerUpgrades;
|
||||
import com.massivecraft.factions.zcore.fupgrades.*;
|
||||
import com.massivecraft.factions.zcore.util.TextUtil;
|
||||
import net.milkbowl.vault.economy.Economy;
|
||||
import net.milkbowl.vault.permission.Permission;
|
||||
@ -232,6 +229,7 @@ public class SavageFactions extends MPlugin {
|
||||
new FUpgradesGUI(),
|
||||
new EXPUpgrade(),
|
||||
new CropUpgrades(),
|
||||
new RedstoneUpgrade(),
|
||||
new SpawnerUpgrades(),
|
||||
};
|
||||
|
||||
|
@ -12,7 +12,7 @@ public class CmdUpgrades extends FCommand {
|
||||
this.aliases.add("upgrade");
|
||||
|
||||
//this.requiredArgs.add("");
|
||||
this.optionalArgs.put("mobs/crops/exp", "");
|
||||
this.optionalArgs.put("mobs/crops/exp/power", "");
|
||||
|
||||
this.permission = Permission.UPGRADES.node;
|
||||
this.disableOnLock = true;
|
||||
|
@ -21,7 +21,7 @@ import java.util.List;
|
||||
|
||||
public class FUpgradesGUI implements Listener {
|
||||
public void openMainMenu(FPlayer fme) {
|
||||
Inventory inventory = Bukkit.createInventory(null, 27, SavageFactions.plugin.color(SavageFactions.plugin.getConfig().getString("fupgrades.MainMenu.Title").replace("{faction}", fme.getFaction().getTag())));
|
||||
Inventory inventory = Bukkit.createInventory(null, 45, SavageFactions.plugin.color(SavageFactions.plugin.getConfig().getString("fupgrades.MainMenu.Title").replace("{faction}", fme.getFaction().getTag())));
|
||||
List<Integer> dummySlots = SavageFactions.plugin.getConfig().getIntegerList("fupgrades.MainMenu.DummyItem.slots");
|
||||
Material dummyMaterial = Material.getMaterial(SavageFactions.plugin.getConfig().getString("fupgrades.MainMenu.DummyItem.Type"));
|
||||
int dummyAmount = SavageFactions.plugin.getConfig().getInt("fupgrades.MainMenu.DummyItem.Amount");
|
||||
@ -41,6 +41,8 @@ public class FUpgradesGUI implements Listener {
|
||||
List<Integer> spawnerSlots = SavageFactions.plugin.getConfig().getIntegerList("fupgrades.MainMenu.Spawners.SpawnerItem.slots");
|
||||
List<Integer> expSlots = SavageFactions.plugin.getConfig().getIntegerList("fupgrades.MainMenu.EXP.EXPItem.slots");
|
||||
List<Integer> chestSlots = SavageFactions.plugin.getConfig().getIntegerList("fupgrades.MainMenu.Chest.ChestItem.slots");
|
||||
List<Integer> powerSlots = SavageFactions.plugin.getConfig().getIntegerList("fupgrades.MainMenu.Power.PowerItem.slots");
|
||||
List<Integer> redSlots = SavageFactions.plugin.getConfig().getIntegerList("fupgrades.MainMenu.Redstone.RedstoneItem.slots");
|
||||
|
||||
for (int i = 0; i < cropSlots.size(); i++)
|
||||
if (cropSlots.get(i) != -1) inventory.setItem(cropSlots.get(i), items[2]);
|
||||
@ -54,6 +56,12 @@ public class FUpgradesGUI implements Listener {
|
||||
for (int i = 0; i < chestSlots.size(); i++)
|
||||
if (chestSlots.get(i) != -1) inventory.setItem(chestSlots.get(i), items[3]);
|
||||
|
||||
for (int i = 0; i < powerSlots.size(); i++)
|
||||
if (powerSlots.get(i) != -1) inventory.setItem(powerSlots.get(i), items[4]);
|
||||
|
||||
for (int i = 0; i < redSlots.size(); i++)
|
||||
if (redSlots.get(i) != -1) inventory.setItem(redSlots.get(i), items[5]);
|
||||
|
||||
fme.getPlayer().openInventory(inventory);
|
||||
}
|
||||
|
||||
@ -70,10 +78,11 @@ public class FUpgradesGUI implements Listener {
|
||||
ItemStack expItem = items[0];
|
||||
ItemStack chestitem = items[3];
|
||||
ItemStack spawnerItem = items[1];
|
||||
ItemStack powerItem = items[4];
|
||||
ItemStack redItem = items[5];
|
||||
|
||||
if (e.getCurrentItem().equals(cropItem)) {
|
||||
int cropLevel = fme.getFaction().getUpgrade(Upgrade.CROP);
|
||||
|
||||
switch (cropLevel) {
|
||||
case 3:
|
||||
return;
|
||||
@ -87,9 +96,26 @@ public class FUpgradesGUI implements Listener {
|
||||
upgradeItem(fme, Upgrade.CROP, 1, SavageFactions.plugin.getConfig().getInt("fupgrades.MainMenu.Crops.Cost.level-1"));
|
||||
break;
|
||||
}
|
||||
} else if (e.getCurrentItem().equals(powerItem)) {
|
||||
int powerLevel = fme.getFaction().getUpgrade(Upgrade.POWER);
|
||||
switch (powerLevel) {
|
||||
case 3:
|
||||
return;
|
||||
case 2:
|
||||
upgradeItem(fme, Upgrade.POWER, 3, SavageFactions.plugin.getConfig().getInt("fupgrades.MainMenu.Power.Cost.level-3"));
|
||||
updatePower(fme.getFaction());
|
||||
break;
|
||||
case 1:
|
||||
upgradeItem(fme, Upgrade.POWER, 2, SavageFactions.plugin.getConfig().getInt("fupgrades.MainMenu.Power.Cost.level-2"));
|
||||
updatePower(fme.getFaction());
|
||||
break;
|
||||
case 0:
|
||||
upgradeItem(fme, Upgrade.POWER, 1, SavageFactions.plugin.getConfig().getInt("fupgrades.MainMenu.Power.Cost.level-1"));
|
||||
updatePower(fme.getFaction());
|
||||
break;
|
||||
}
|
||||
} else if (e.getCurrentItem().equals(spawnerItem)) {
|
||||
int spawnerLevel = fme.getFaction().getUpgrade(Upgrade.SPAWNER);
|
||||
|
||||
switch (spawnerLevel) {
|
||||
case 3:
|
||||
return;
|
||||
@ -119,9 +145,17 @@ public class FUpgradesGUI implements Listener {
|
||||
upgradeItem(fme, Upgrade.EXP, 1, SavageFactions.plugin.getConfig().getInt("fupgrades.MainMenu.EXP.Cost.level-1"));
|
||||
break;
|
||||
}
|
||||
} else if (e.getCurrentItem().equals(redItem)) {
|
||||
int redLevel = fme.getFaction().getUpgrade(Upgrade.REDSTONE);
|
||||
switch (redLevel) {
|
||||
case 1:
|
||||
return;
|
||||
case 0:
|
||||
upgradeItem(fme, Upgrade.REDSTONE, 1, SavageFactions.plugin.getConfig().getInt("fupgrades.MainMenu.Redstone.Cost"));
|
||||
break;
|
||||
}
|
||||
} else if (e.getCurrentItem().equals(chestitem)) {
|
||||
int chestLevel = fme.getFaction().getUpgrade(Upgrade.CHEST);
|
||||
|
||||
switch (chestLevel) {
|
||||
case 3:
|
||||
return;
|
||||
@ -170,6 +204,25 @@ public class FUpgradesGUI implements Listener {
|
||||
faction.setChestSize(size * 9);
|
||||
}
|
||||
|
||||
private void updatePower(Faction faction) {
|
||||
int level = faction.getUpgrade(Upgrade.POWER);
|
||||
double power = 0.0;
|
||||
|
||||
switch (level) {
|
||||
case 1:
|
||||
power = SavageFactions.plugin.getConfig().getInt("fupgrades.MainMenu.Power.Power-Boost.level-1");
|
||||
break;
|
||||
case 2:
|
||||
power = SavageFactions.plugin.getConfig().getInt("fupgrades.MainMenu.Power.Power-Boost.level-2");
|
||||
break;
|
||||
case 3:
|
||||
power = SavageFactions.plugin.getConfig().getInt("fupgrades.MainMenu.Power.Power-Boost.level-3");
|
||||
break;
|
||||
}
|
||||
faction.setPowerBoost(power);
|
||||
}
|
||||
|
||||
@SuppressWarnings("Duplicates")
|
||||
private ItemStack[] buildItems(FPlayer fme) {
|
||||
Material expMaterial = Material.getMaterial(SavageFactions.plugin.getConfig().getString("fupgrades.MainMenu.EXP.EXPItem.Type"));
|
||||
int expAmt = SavageFactions.plugin.getConfig().getInt("fupgrades.MainMenu.EXP.EXPItem.Amount");
|
||||
@ -273,7 +326,62 @@ public class FUpgradesGUI implements Listener {
|
||||
chestItem.setAmount(chestlevel);
|
||||
}
|
||||
|
||||
ItemStack[] items = {expItem, spawnerItem, cropItem, chestItem};
|
||||
Material powerMaterial = Material.getMaterial(SavageFactions.plugin.getConfig().getString("fupgrades.MainMenu.Power.PowerItem.Type"));
|
||||
int powerAmt = SavageFactions.plugin.getConfig().getInt("fupgrades.MainMenu.Power.PowerItem.Amount");
|
||||
short powerData = Short.parseShort(SavageFactions.plugin.getConfig().getInt("fupgrades.MainMenu.Power.PowerItem.Damage") + "");
|
||||
String powerName = SavageFactions.plugin.color(SavageFactions.plugin.getConfig().getString("fupgrades.MainMenu.Power.PowerItem.Name"));
|
||||
List<String> powerLore = SavageFactions.plugin.colorList(SavageFactions.plugin.getConfig().getStringList("fupgrades.MainMenu.Power.PowerItem.Lore"));
|
||||
int powerLevel = fme.getFaction().getUpgrade(Upgrade.POWER);
|
||||
|
||||
for (int i = 0; i <= powerLore.size() - 1; i++) {
|
||||
String line = powerLore.get(i);
|
||||
line = line.replace("{level}", powerLevel + "");
|
||||
powerLore.set(i, line);
|
||||
}
|
||||
|
||||
ItemStack powerItem = SavageFactions.plugin.createItem(powerMaterial, powerAmt, powerData, powerName, powerLore);
|
||||
powerItem.getItemMeta().setLore(powerLore);
|
||||
|
||||
if (powerLevel >= 1) {
|
||||
ItemMeta itemMeta = powerItem.getItemMeta();
|
||||
if (!SavageFactions.plugin.mc17) {
|
||||
itemMeta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
|
||||
}
|
||||
itemMeta.addEnchant(Enchantment.DURABILITY, 3, true);
|
||||
powerItem.setItemMeta(itemMeta);
|
||||
|
||||
powerItem.setAmount(powerLevel);
|
||||
}
|
||||
|
||||
Material redMaterial = Material.getMaterial(SavageFactions.plugin.getConfig().getString("fupgrades.MainMenu.Redstone.RedstoneItem.Type"));
|
||||
int redAmt = SavageFactions.plugin.getConfig().getInt("fupgrades.MainMenu.Redstone.RedstoneItem.Amount");
|
||||
short redData = Short.parseShort(SavageFactions.plugin.getConfig().getInt("fupgrades.MainMenu.Redstone.RedstoneItem.Damage") + "");
|
||||
String redName = SavageFactions.plugin.color(SavageFactions.plugin.getConfig().getString("fupgrades.MainMenu.Redstone.RedstoneItem.Name"));
|
||||
List<String> redLore = SavageFactions.plugin.colorList(SavageFactions.plugin.getConfig().getStringList("fupgrades.MainMenu.Redstone.RedstoneItem.Lore"));
|
||||
int redLevel = fme.getFaction().getUpgrade(Upgrade.REDSTONE);
|
||||
|
||||
for (int i = 0; i <= redLore.size() - 1; i++) {
|
||||
String line = redLore.get(i);
|
||||
line = line.replace("{level}", redLevel + "");
|
||||
redLore.set(i, line);
|
||||
}
|
||||
|
||||
ItemStack redItem = SavageFactions.plugin.createItem(redMaterial, redAmt, redData, redName, redLore);
|
||||
redItem.getItemMeta().setLore(redLore);
|
||||
|
||||
if (redLevel >= 1) {
|
||||
ItemMeta itemMeta = redItem.getItemMeta();
|
||||
if (!SavageFactions.plugin.mc17) {
|
||||
itemMeta.addItemFlags(ItemFlag.HIDE_ENCHANTS);
|
||||
}
|
||||
itemMeta.addEnchant(Enchantment.DURABILITY, 3, true);
|
||||
redItem.setItemMeta(itemMeta);
|
||||
|
||||
redItem.setAmount(redLevel);
|
||||
}
|
||||
|
||||
|
||||
ItemStack[] items = {expItem, spawnerItem, cropItem, chestItem, powerItem, redItem};
|
||||
return items;
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,36 @@
|
||||
package com.massivecraft.factions.zcore.fupgrades;
|
||||
|
||||
import com.massivecraft.factions.Board;
|
||||
import com.massivecraft.factions.FLocation;
|
||||
import com.massivecraft.factions.Faction;
|
||||
import com.massivecraft.factions.SavageFactions;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.block.BlockFromToEvent;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class RedstoneUpgrade implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onWaterRedstone(BlockFromToEvent e) {
|
||||
List<String> unbreakable = SavageFactions.plugin.getConfig().getStringList("no-water-destroy.Item-List");
|
||||
String block = e.getToBlock().getType().toString();
|
||||
FLocation floc = new FLocation(e.getToBlock().getLocation());
|
||||
Faction factionAtLoc = Board.getInstance().getFactionAt(floc);
|
||||
|
||||
if (!factionAtLoc.isWilderness()) {
|
||||
int level = factionAtLoc.getUpgrade(Upgrade.REDSTONE);
|
||||
if (level != 0) {
|
||||
switch (level) {
|
||||
case 1:
|
||||
SavageFactions.plugin.getConfig().getInt("fupgrades.MainMenu.Redstone.Cost");
|
||||
break;
|
||||
}
|
||||
if (unbreakable.contains(block)) {
|
||||
e.setCancelled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -2,7 +2,7 @@ package com.massivecraft.factions.zcore.fupgrades;
|
||||
|
||||
public enum Upgrade {
|
||||
|
||||
CHEST("Chest"), SPAWNER("Spawner"), EXP("Exp"), CROP("Crop");
|
||||
CHEST("Chest"), SPAWNER("Spawner"), EXP("Exp"), CROP("Crop"), POWER("Power"), REDSTONE("Redstone");
|
||||
|
||||
|
||||
private String id;
|
||||
|
@ -27,6 +27,7 @@ import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
@ -1214,12 +1215,18 @@ public abstract class MemoryFPlayer implements FPlayer {
|
||||
}
|
||||
}
|
||||
|
||||
public String commas(final double amount) {
|
||||
final DecimalFormat formatter = new DecimalFormat("#,###.00");
|
||||
final String number = formatter.format(amount);
|
||||
return number;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void takeMoney(int amt) {
|
||||
if (hasMoney(amt)) {
|
||||
Economy econ = SavageFactions.plugin.getEcon();
|
||||
econ.withdrawPlayer(getPlayer(), amt);
|
||||
sendMessage(TL.GENERIC_MONEYTAKE.toString().replace("{amount}", amt + ""));
|
||||
sendMessage(TL.GENERIC_MONEYTAKE.toString().replace("{amount}", commas(amt)));
|
||||
}
|
||||
}
|
||||
}
|
@ -807,7 +807,7 @@ fupgrades:
|
||||
Damage: 7
|
||||
Lore:
|
||||
- ''
|
||||
rows: 3
|
||||
rows: 5
|
||||
slots:
|
||||
- 0
|
||||
- 1
|
||||
@ -836,6 +836,24 @@ fupgrades:
|
||||
- 24
|
||||
- 25
|
||||
- 26
|
||||
- 27
|
||||
- 28
|
||||
- 29
|
||||
- 30
|
||||
- 31
|
||||
- 32
|
||||
- 33
|
||||
- 34
|
||||
- 35
|
||||
- 36
|
||||
- 37
|
||||
- 38
|
||||
- 39
|
||||
- 40
|
||||
- 41
|
||||
- 42
|
||||
- 43
|
||||
- 44
|
||||
Crops:
|
||||
Crop-Boost:
|
||||
level-1: 10
|
||||
@ -867,7 +885,7 @@ fupgrades:
|
||||
- ''
|
||||
- '&e&lClick to &nUnlock'
|
||||
slots:
|
||||
- 10
|
||||
- 18
|
||||
EXP:
|
||||
EXP-Boost:
|
||||
level-1: 1.5
|
||||
@ -898,7 +916,56 @@ fupgrades:
|
||||
- ''
|
||||
- '&e&lClick to &nUnlock'
|
||||
slots:
|
||||
- 13
|
||||
- 20
|
||||
Power:
|
||||
Power-Boost:
|
||||
level-1: 100.0
|
||||
level-2: 200.0
|
||||
level-3: 300.0
|
||||
Cost:
|
||||
level-1: 1000000
|
||||
level-2: 2000000
|
||||
level-3: 3000000
|
||||
PowerItem:
|
||||
Name: '&e&lFaction Power'
|
||||
Type: DIAMOND_SWORD
|
||||
Amount: 1
|
||||
Damage: 0
|
||||
Lore:
|
||||
- '&7&o(Increase the amount of power'
|
||||
- '&7&oyour faction has)'
|
||||
- ''
|
||||
- '&e&lTier'
|
||||
- '&f&l* &7Current Level: &3{level}/3'
|
||||
- ''
|
||||
- '&e&lPerks'
|
||||
- '&f&l* &7Level 1 - &f100 Increased Faction Power'
|
||||
- '&7 - Cost: $1,000,000'
|
||||
- '&f&l* &7Level 2 - &f200 Increased Faction Power'
|
||||
- '&7 - Cost: $2,000,000'
|
||||
- '&f&l* &7Level 3 - &f300 Increased Faction Power'
|
||||
- '&7 - Cost: $3,000,000'
|
||||
- ''
|
||||
- '&e&lClick to &nUnlock'
|
||||
slots:
|
||||
- 4
|
||||
Redstone:
|
||||
Cost: 1000000
|
||||
RedstoneItem:
|
||||
Name: '&e&lUnbreakable Redstone'
|
||||
Type: REDSTONE
|
||||
Amount: 1
|
||||
Damage: 0
|
||||
Lore:
|
||||
- '&7&o(Prevents water from being'
|
||||
- '&7&oable to break redstone)'
|
||||
- ''
|
||||
- '&f&l* &7Current Level: &3{level}/1'
|
||||
- ''
|
||||
- '&7 - Cost: $1,000,000'
|
||||
- '&e&lClick to &nUnlock'
|
||||
slots:
|
||||
- 26
|
||||
Spawners:
|
||||
Spawner-Boost:
|
||||
# This is a Percentage so .10 means 10% lowered spawner delay!
|
||||
@ -930,7 +997,7 @@ fupgrades:
|
||||
- ''
|
||||
- '&e&lClick to &nUnlock'
|
||||
slots:
|
||||
- 16
|
||||
- 24
|
||||
Chest:
|
||||
Chest-Size:
|
||||
# This is rows
|
||||
@ -962,7 +1029,7 @@ fupgrades:
|
||||
- ''
|
||||
- '&e&lClick to &nUnlock'
|
||||
slots:
|
||||
- 22
|
||||
- 40
|
||||
|
||||
############################################################
|
||||
# +------------------------------------------------------+ #
|
||||
@ -1010,6 +1077,18 @@ see-chunk:
|
||||
particles: true
|
||||
interval: 5
|
||||
|
||||
no-water-destroy:
|
||||
Item-List:
|
||||
- 'REDSTONE_COMPARATOR'
|
||||
- 'REDSTONE_COMPARATOR_OFF'
|
||||
- 'REDSTONE_COMPARATOR_ON'
|
||||
- 'REDSTONE_TORCH_OFF'
|
||||
- 'REDSTONE_TORCH_ON'
|
||||
- 'REDSTONE_WIRE'
|
||||
- 'DIODE'
|
||||
- 'DIODE_BLOCK_OFF'
|
||||
- 'DIODE_BLOCK_ON'
|
||||
- 'REDSTONE'
|
||||
|
||||
Tntfill:
|
||||
enabled: true
|
||||
|
Loading…
Reference in New Issue
Block a user