Skip to content
This repository has been archived by the owner on Apr 24, 2023. It is now read-only.

Commit

Permalink
KingKits v5.3.1
Browse files Browse the repository at this point in the history
KingKits v5.3.1 update.
  • Loading branch information
KingFaris10 committed Jan 21, 2017
1 parent e09fdf7 commit 1f7e430
Show file tree
Hide file tree
Showing 11 changed files with 74 additions and 25 deletions.
3 changes: 1 addition & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>com.faris</groupId>
<artifactId>KingKits</artifactId>
<version>5.3.0</version>
<version>5.3.1</version>

<packaging>jar</packaging>

Expand Down Expand Up @@ -140,7 +140,6 @@
<dependency>
<groupId>org.bukkit</groupId>
<artifactId>bukkit</artifactId>
<version>1.10.2-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
Expand Down
15 changes: 10 additions & 5 deletions src/main/java/com/faris/kingkits/Kit.java
Original file line number Diff line number Diff line change
Expand Up @@ -372,8 +372,9 @@ public Map<String, Object> serialize() {
serializedMap.put("Breakable items", this.itemBreaking);
serializedMap.put("Commands", this.kitCommands);
serializedMap.put("Killstreak commands", new LinkedHashMap<String, List<String>>() {{
for (Map.Entry<Integer, List<String>> killstreakCommandsEntry : killstreakCommands.entrySet())
for (Map.Entry<Integer, List<String>> killstreakCommandsEntry : killstreakCommands.entrySet()) {
this.put("Killstreak " + killstreakCommandsEntry.getKey(), killstreakCommandsEntry.getValue());
}
}});
serializedMap.put("GUI", new LinkedHashMap<String, Object>() {{
this.put("Position", guiPosition);
Expand All @@ -382,8 +383,9 @@ public Map<String, Object> serialize() {
serializedMap.put("Items", new LinkedHashMap<String, Map<String, Object>>() {{
if (!ItemUtilities.isNull(offHand)) this.put("Offhand", ItemUtilities.serializeItem(offHand));
for (Map.Entry<Integer, ItemStack> itemEntry : kitItems.entrySet()) {
if (!ItemUtilities.isNull(itemEntry.getValue()))
if (!ItemUtilities.isNull(itemEntry.getValue())) {
this.put("Slot " + itemEntry.getKey(), ItemUtilities.serializeItem(itemEntry.getValue()));
}
}
}});
if (this.heldItemSlot != -1) serializedMap.put("Held item slot", this.heldItemSlot);
Expand All @@ -394,8 +396,9 @@ public Map<String, Object> serialize() {
if (!ItemUtilities.isNull(kitArmour[0])) this.put("Boots", ItemUtilities.serializeItem(kitArmour[0]));
}});
serializedMap.put("Potion effects", new LinkedHashMap<Integer, Map<String, Object>>() {{
for (int i = 0; i < potionEffects.size(); i++)
for (int i = 0; i < potionEffects.size(); i++) {
this.put((i + 1), ItemUtilities.serializePotionEffect(potionEffects.get(i)));
}
}});
return serializedMap;
}
Expand Down Expand Up @@ -434,16 +437,18 @@ public static Kit deserialize(final Map<String, Object> serializedKit) {
if (Utilities.isNumber(Integer.class, strKillstreak)) {
int killstreak = Integer.parseInt(strKillstreak);
List<String> commands = Utilities.toStringList((List) killstreakEntry.getValue());
if (commands != null && !commands.isEmpty())
if (commands != null && !commands.isEmpty()) {
killstreaksCommands.put(killstreak, commands);
}
}
} else if (killstreakEntry.getValue() instanceof String) {
String strKillstreak = killstreakEntry.getKey().startsWith("Killstreak ") ? killstreakEntry.getKey().substring(11) : killstreakEntry.getKey();
if (Utilities.isNumber(Integer.class, strKillstreak)) {
int killstreak = Integer.parseInt(strKillstreak);
String command = (String) killstreakEntry.getValue();
if (command != null && !command.isEmpty())
if (command != null && !command.isEmpty()) {
killstreaksCommands.put(killstreak, new ArrayList<>(Collections.singletonList(command)));
}
}
}
} catch (Exception ignored) {
Expand Down
13 changes: 13 additions & 0 deletions src/main/java/com/faris/kingkits/controller/ConfigController.java
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ public class ConfigController implements Controller {
private boolean allowAdminBypass = true;
private boolean allowQuickSoup = true;
private boolean allowRightClickPreview = true;
private Map<String, String> chatPlaceholders = new HashMap<>();
private boolean economyEnabled = false;
private double economyCostPerRefill = 2.5D;
private double economyMoneyPerKill = 5D, economyMoneyPerDeath = 7.5D;
Expand Down Expand Up @@ -150,6 +151,8 @@ private void saveDefaultConfig() {
this.getConfig().addDefault("Allow.Item picking up", true, "Set to 'false' if you want to ban players from picking up items.");
this.getConfig().addDefault("Allow.Quick soup", true, "Set to 'false' if you want to disable players from using mushroom stew to heal themselves.");
this.getConfig().addDefault("Allow.Right click preview", true, "Set to 'false' if you do not want players to be able to right click a kit in the GUI to preview it.");
this.getConfig().addDefault("Chat placeholders.Has kit text", "&a<kit>");
this.getConfig().addDefault("Chat placeholders.No kit text", "&cNo");
if (!this.getConfig().contains("Command")) {
this.getConfig().set("Command", new LinkedHashMap<String, Boolean>() {{
this.put("Kit", true);
Expand Down Expand Up @@ -248,6 +251,12 @@ public void loadConfiguration() {
this.allowItemPicking = this.getConfig().getBoolean("Allow.Item picking up", true);
this.allowQuickSoup = this.getConfig().getBoolean("Allow.Quick soup", true);
this.allowRightClickPreview = this.getConfig().getBoolean("Allow.Right click preview", true);
this.chatPlaceholders.clear();
for (Map.Entry<String, Object> placeholderEntry : ObjectUtilities.getMap(this.getConfig().get("Chat placeholders")).entrySet()) {
if (placeholderEntry.getValue() instanceof String) {
this.chatPlaceholders.put(placeholderEntry.getKey(), String.valueOf(placeholderEntry.getValue()));
}
}
this.kkCommands = new boolean[]{
this.getConfig().getBoolean("Command.Kit", true),
this.getConfig().getBoolean("Command.Kit create", true),
Expand Down Expand Up @@ -453,6 +462,10 @@ public double getAutoSavePlayerDataTime() {
return this.autoSavePlayerData;
}

public String getChatPlaceholder(String configKey, String defaultValue) {
return this.chatPlaceholders.containsKey(configKey) ? this.chatPlaceholders.get(configKey) : defaultValue;
}

public boolean[] getCommands(World world) {
String lowerCaseWorld = world == null ? "" : world.getName().toLowerCase();
return !this.worldSettingsMap.containsKey(lowerCaseWorld) ? this.kkCommands : this.worldSettingsMap.get(lowerCaseWorld).kkCommands;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,8 +127,9 @@ public void saveKit(Kit kit) {

CustomConfiguration configKit = CustomConfiguration.loadConfiguration(kitFile);
configKit.setNewLinePerKey(true);
for (Map.Entry<String, Object> serializationEntry : serializedKit.entrySet())
for (Map.Entry<String, Object> serializationEntry : serializedKit.entrySet()) {
configKit.set(serializationEntry.getKey(), serializationEntry.getValue());
}
try {
configKit.save(kitFile);
} catch (IOException ex) {
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/com/faris/kingkits/helper/Debugger.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,9 @@ public static void debugException(Exception ex) {
}

public static void debugException(String message, Exception ex) {
if (debugging)
if (debugging) {
KingKits.getInstance().getLogger().log(Level.WARNING, message != null ? "[Debug] " + message : "Debug error", ex);
}
}

public static void debugMessage(String message) {
Expand Down
18 changes: 13 additions & 5 deletions src/main/java/com/faris/kingkits/helper/util/ItemUtilities.java
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,7 @@ public static ItemStack deserializeItem(Map<String, Object> serializedItem, Item
}
banner.setPatterns(patterns);
}
banner.update();
blockStateMeta.setBlockState(banner);
}
}
Expand Down Expand Up @@ -408,15 +409,18 @@ private static Map<String, Object> serializeBanner(Banner banner) {
Map<String, Object> serializedBanner = new LinkedHashMap<>();
if (banner != null) {
DyeColor baseDyeColor = banner.getBaseColor();
if (baseDyeColor != null) serializedBanner.put("Base", Utilities.serializeColor(baseDyeColor.getColor()));
if (baseDyeColor != null) {
serializedBanner.put("Base", Utilities.serializeColor(baseDyeColor.getColor()));
}
List<Pattern> bannerPatterns = banner.getPatterns();
if (bannerPatterns != null && !bannerPatterns.isEmpty()) {
Map<String, Map<String, Object>> serializedPatterns = new LinkedHashMap<>();
for (int patternIndex = 0; patternIndex < bannerPatterns.size(); patternIndex++) {
Pattern bannerPattern = bannerPatterns.get(patternIndex);
Map<String, Object> serializedPattern = new LinkedHashMap<>();
if (bannerPattern.getColor() != null)
if (bannerPattern.getColor() != null) {
serializedPattern.put("Color", Utilities.serializeColor(bannerPattern.getColor().getColor()));
}
serializedPattern.put("Pattern", StringUtilities.capitalizeFully(bannerPattern.getPattern().name().replace('_', ' ')));
serializedPatterns.put("Pattern " + (patternIndex + 1), serializedPattern);
}
Expand All @@ -430,15 +434,18 @@ private static Map<String, Object> serializeBanner(BannerMeta bannerMeta) {
Map<String, Object> serializedBanner = new LinkedHashMap<>();
if (bannerMeta != null) {
DyeColor baseDyeColor = bannerMeta.getBaseColor();
if (baseDyeColor != null) serializedBanner.put("Base", Utilities.serializeColor(baseDyeColor.getColor()));
if (baseDyeColor != null) {
serializedBanner.put("Base", Utilities.serializeColor(baseDyeColor.getColor()));
}
List<Pattern> bannerPatterns = bannerMeta.getPatterns();
if (bannerPatterns != null && !bannerPatterns.isEmpty()) {
Map<String, Map<String, Object>> serializedPatterns = new LinkedHashMap<>();
int patternIndex = 1;
for (Pattern bannerPattern : bannerPatterns) {
Map<String, Object> serializedPattern = new LinkedHashMap<>();
if (bannerPattern.getColor() != null)
if (bannerPattern.getColor() != null) {
serializedPattern.put("Color", Utilities.serializeColor(bannerPattern.getColor().getColor()));
}
serializedPattern.put("Pattern", StringUtilities.capitalizeFully(bannerPattern.getPattern().name().replace('_', ' ')));
serializedPatterns.put("Pattern " + patternIndex++, serializedPattern);
}
Expand Down Expand Up @@ -480,8 +487,9 @@ public static Map<String, Object> serializeItem(final ItemStack itemStack) {
for (int i = 0; i < potionEffects.size(); i++) {
serializedCustomEffects.put("Potion " + (i + 1), serializePotionEffect(potionEffects.get(i)));
}
if (!serializedCustomEffects.isEmpty())
if (!serializedCustomEffects.isEmpty()) {
serializedItem.put("Custom potion effects", serializedCustomEffects);
}
}
}
if (itemMeta instanceof LeatherArmorMeta) {
Expand Down
7 changes: 6 additions & 1 deletion src/main/java/com/faris/kingkits/helper/util/Utilities.java
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,8 @@ else if (friendlyName.equalsIgnoreCase("Bane of Arthropods") || friendlyName.equ
return Enchantment.DAMAGE_ARTHROPODS.getName();
else if (friendlyName.equalsIgnoreCase("Smite") || friendlyName.equalsIgnoreCase("Undead"))
return Enchantment.DAMAGE_UNDEAD.getName();
else if (friendlyName.equalsIgnoreCase("Power")) return Enchantment.ARROW_DAMAGE.getName();
else if (friendlyName.equalsIgnoreCase("Power"))
return Enchantment.ARROW_DAMAGE.getName();
else if (friendlyName.equalsIgnoreCase("Flame") || friendlyName.equalsIgnoreCase("Flames"))
return Enchantment.ARROW_FIRE.getName();
else if (friendlyName.equalsIgnoreCase("Infinite") || friendlyName.equalsIgnoreCase("Infinity"))
Expand Down Expand Up @@ -121,6 +122,10 @@ else if (friendlyName.equalsIgnoreCase("Frost Walker"))
return Enchantment.FROST_WALKER.getName();
else if (friendlyName.equalsIgnoreCase("Repair"))
return Enchantment.MENDING.getName();
else if (friendlyName.equalsIgnoreCase("Binding"))
return "BINDING_CURSE";
else if (friendlyName.equalsIgnoreCase("Vanishing"))
return "VANISHING_CURSE";
}
return friendlyName != null ? friendlyName.replace(' ', '_').toUpperCase() : "";
}
Expand Down
22 changes: 17 additions & 5 deletions src/main/java/com/faris/kingkits/listener/EventListener.java
Original file line number Diff line number Diff line change
Expand Up @@ -360,9 +360,10 @@ public void onPlayerDeath(PlayerDeathEvent event) {
if (kit.getAutoUnlockScore() <= killerPlayer.getScore()) {
try {
if (!killerPlayer.hasUnlocked(kit) && !killer.hasPermission("kingkits.kits." + kit.getName().toLowerCase())) {
killerPlayer.addKit(kit);
if (ConfigController.getInstance().shouldDecreaseScoreOnAutoUnlock())
killerPlayer.setUnlockedKit(kit.getName(), true);
if (ConfigController.getInstance().shouldDecreaseScoreOnAutoUnlock()) {
killerPlayer.setScore(Math.max(killerPlayer.getScore() - kit.getAutoUnlockScore(), 0));
}
Messages.sendMessage(killer, Messages.KIT_UNLOCK, kit.getName());
}
} catch (Exception ex) {
Expand Down Expand Up @@ -430,8 +431,9 @@ public void onPlayerRespawn(PlayerRespawnEvent event) {
player.getServer().getScheduler().runTaskLater(this.plugin, new Runnable() {
@Override
public void run() {
if (player.isOnline() && Utilities.isPvPWorld(player.getWorld()))
if (player.isOnline() && Utilities.isPvPWorld(player.getWorld())) {
GuiController.getInstance().openKitsMenu(player);
}
}
}, 5L);
}
Expand All @@ -446,12 +448,22 @@ public void run() {
public void onPlayerChat(AsyncPlayerChatEvent event) {
try {
final Player player = event.getPlayer();
boolean inPvPWorld = Utilities.isPvPWorld(player.getWorld());
KitPlayer kitPlayer = null;
if (ConfigController.getInstance().isScoreEnabled()) {
if (Utilities.isPvPWorld(player.getWorld())) {
KitPlayer kitPlayer = PlayerController.getInstance().getPlayer(player);
if (inPvPWorld) {
kitPlayer = PlayerController.getInstance().getPlayer(player);
event.setFormat(ChatUtilities.replaceChatCodes(String.format(ConfigController.getInstance().getScoreChatPrefix(), kitPlayer != null ? kitPlayer.getScore() : 0)) + ChatColor.WHITE + event.getFormat());
}
}
String chatFormat = event.getFormat();
if (chatFormat.contains("{kingkits_")) {
if (kitPlayer == null) kitPlayer = PlayerController.getInstance().getPlayer(player);
chatFormat = chatFormat.replace("{kingkits_score}", String.valueOf(kitPlayer != null ? kitPlayer.getScore() : 0));
chatFormat = chatFormat.replace("{kingkits_kit}", ChatUtilities.replaceChatCodes(String.valueOf(kitPlayer != null && kitPlayer.getKit() != null ? ConfigController.getInstance().getChatPlaceholder("Has kit text", "").replace("<kit>", kitPlayer.getKit().getName()) : ConfigController.getInstance().getChatPlaceholder("No kit text", ""))));
chatFormat = chatFormat.replace("{kingkits_killstreak}", String.valueOf(kitPlayer != null ? kitPlayer.getKillstreak() : 0));
event.setFormat(chatFormat);
}
} catch (Exception ex) {
Bukkit.getServer().getLogger().log(Level.SEVERE, "Failed to modify the chat format.", ex);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,9 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String
if (player.getInventory().getContents() != null) {
ItemStack[] playerInventoryContents = player.getInventory().getStorageContents();
for (int i = 0; i < playerInventoryContents.length; i++) {
if (!ItemUtilities.isNull(playerInventoryContents[i]))
if (!ItemUtilities.isNull(playerInventoryContents[i])) {
kitItems.put(i, playerInventoryContents[i]);
}
}
}
for (PotionEffect potionEffect : player.getActivePotionEffects()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,9 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String
if (player.getInventory().getContents() != null) {
ItemStack[] playerInventoryContents = player.getInventory().getStorageContents();
for (int i = 0; i < playerInventoryContents.length; i++) {
if (!ItemUtilities.isNull(playerInventoryContents[i]))
if (!ItemUtilities.isNull(playerInventoryContents[i])) {
kitItems.put(i, playerInventoryContents[i]);
}
}
}
for (PotionEffect potionEffect : player.getActivePotionEffects()) {
Expand Down
9 changes: 6 additions & 3 deletions src/main/java/com/faris/kingkits/player/OfflineKitPlayer.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,9 @@ public OfflineKitPlayer(UUID uuid) {

public void addKit(Kit kit) {
if (kit != null) {
if (this.loaded && (!this.playerKits.containsKey(kit.getName()) || !kit.equals(this.playerKits.get(kit.getName()))))
if (this.loaded && (!this.playerKits.containsKey(kit.getName()) || !kit.equals(this.playerKits.get(kit.getName())))) {
this.modified = true;
}
this.playerKits.put(kit.getName(), kit);
}
}
Expand Down Expand Up @@ -146,8 +147,10 @@ public void setUnlockedKit(String kitName, boolean flag) {
if (this.loaded) this.modified = true;
}
} else {
this.unlockedKits.remove(kitName);
if (this.loaded) this.modified = true;
if (this.unlockedKits.contains(kitName)) {
this.unlockedKits.remove(kitName);
if (this.loaded) this.modified = true;
}
}
}
}
Expand Down

0 comments on commit 1f7e430

Please sign in to comment.