Skip to content

Commit

Permalink
Add PAPI dependency & utility modifications
Browse files Browse the repository at this point in the history
- If a PlaceholderAPI expansion is set, PlaceholderAPI will be added as a dependency
- Moved `AnnoyingUtility` into the `utility` folder
- Added `MapUtility` to more easily create maps (in Java 8, Java 9+ can just use static `Map` methods)
  • Loading branch information
srnyx committed May 2, 2023
1 parent af59c37 commit 1404dd7
Show file tree
Hide file tree
Showing 9 changed files with 165 additions and 23 deletions.
2 changes: 2 additions & 0 deletions api/src/main/java/xyz/srnyx/annoyingapi/AnnoyingCooldown.java
Expand Up @@ -2,6 +2,8 @@

import org.jetbrains.annotations.NotNull;

import xyz.srnyx.annoyingapi.utility.AnnoyingUtility;

import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
Expand Down
2 changes: 2 additions & 0 deletions api/src/main/java/xyz/srnyx/annoyingapi/AnnoyingJSON.java
Expand Up @@ -6,6 +6,8 @@
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import xyz.srnyx.annoyingapi.utility.AnnoyingUtility;


/**
* Class to manage and build JSON messages ({@link BaseComponent}[])
Expand Down
Expand Up @@ -14,6 +14,7 @@

import xyz.srnyx.annoyingapi.command.AnnoyingSender;
import xyz.srnyx.annoyingapi.file.AnnoyingResource;
import xyz.srnyx.annoyingapi.utility.AnnoyingUtility;

import java.util.HashSet;
import java.util.Set;
Expand Down
9 changes: 5 additions & 4 deletions api/src/main/java/xyz/srnyx/annoyingapi/AnnoyingPlugin.java
Expand Up @@ -23,6 +23,8 @@
import xyz.srnyx.annoyingapi.dependency.AnnoyingDownload;
import xyz.srnyx.annoyingapi.events.EventHandlers;
import xyz.srnyx.annoyingapi.file.AnnoyingResource;
import xyz.srnyx.annoyingapi.utility.AnnoyingUtility;
import xyz.srnyx.annoyingapi.utility.MapUtility;

import java.util.*;
import java.util.logging.Level;
Expand Down Expand Up @@ -89,6 +91,7 @@ public AnnoyingPlugin() {
*/
@Override
public final void onLoad() {
if (options.papiExpansionToRegister != null) options.dependencies.add(new AnnoyingDependency("PlaceholderAPI", MapUtility.mapOf(AnnoyingDownload.Platform.SPIGOT, "6245"), false, false));
loadMessages();
load();
}
Expand All @@ -103,9 +106,7 @@ public final void onLoad() {
public final void onEnable() {
// Get missing dependencies
final List<AnnoyingDependency> missingDependencies = new ArrayList<>();
for (final AnnoyingDependency dependency : options.dependencies) {
if (dependency.isNotInstalled() && missingDependencies.stream().noneMatch(dep -> dep.name.equals(dependency.name))) missingDependencies.add(dependency);
}
for (final AnnoyingDependency dependency : options.dependencies) if (dependency.isNotInstalled() && missingDependencies.stream().noneMatch(dep -> dep.name.equals(dependency.name))) missingDependencies.add(dependency);

// Download missing dependencies then enable the plugin
if (!missingDependencies.isEmpty()) {
Expand Down Expand Up @@ -218,7 +219,7 @@ private void enablePlugin() {
*
* @see #reload()
*/
public final void reloadPlugin() {
public void reloadPlugin() {
loadMessages();
reload();
}
Expand Down
2 changes: 2 additions & 0 deletions api/src/main/java/xyz/srnyx/annoyingapi/AnnoyingUpdate.java
Expand Up @@ -7,6 +7,8 @@
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import xyz.srnyx.annoyingapi.utility.AnnoyingUtility;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
Expand Down
Expand Up @@ -10,7 +10,7 @@

import xyz.srnyx.annoyingapi.AnnoyingMessage;
import xyz.srnyx.annoyingapi.AnnoyingPlugin;
import xyz.srnyx.annoyingapi.AnnoyingUtility;
import xyz.srnyx.annoyingapi.utility.AnnoyingUtility;

import java.util.Collection;
import java.util.Collections;
Expand Down
Expand Up @@ -15,7 +15,7 @@
import org.jetbrains.annotations.Nullable;

import xyz.srnyx.annoyingapi.AnnoyingPlugin;
import xyz.srnyx.annoyingapi.AnnoyingUtility;
import xyz.srnyx.annoyingapi.utility.AnnoyingUtility;

import java.io.BufferedInputStream;
import java.io.FileOutputStream;
Expand Down
@@ -1,4 +1,4 @@
package xyz.srnyx.annoyingapi;
package xyz.srnyx.annoyingapi.utility;

import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
Expand All @@ -13,6 +13,8 @@
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import xyz.srnyx.annoyingapi.AnnoyingPlugin;

import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
Expand Down Expand Up @@ -50,22 +52,6 @@ public static String color(@Nullable String message) {
return ChatColor.translateAlternateColorCodes('&', message);
}

/**
* Gets an {@link OfflinePlayer} from the specified name
*
* @param name the name of the player
*
* @return the {@link OfflinePlayer}, or null if not found
*/
@Nullable
public static OfflinePlayer getOfflinePlayer(@NotNull String name) {
for (final OfflinePlayer offline : Bukkit.getOfflinePlayers()) {
final String opName = offline.getName();
if (opName != null && opName.equalsIgnoreCase(name)) return offline;
}
return null;
}

/**
* Formats a millisecond long using the given pattern
*
Expand Down Expand Up @@ -95,6 +81,22 @@ public static String formatNumber(@NotNull Number value, @Nullable String patter
return new DecimalFormat(pattern).format(value);
}

/**
* Gets an {@link OfflinePlayer} from the specified name
*
* @param name the name of the player
*
* @return the {@link OfflinePlayer}, or null if not found
*/
@Nullable
public static OfflinePlayer getOfflinePlayer(@NotNull String name) {
for (final OfflinePlayer offline : Bukkit.getOfflinePlayers()) {
final String offlineName = offline.getName();
if (offlineName != null && offlineName.equalsIgnoreCase(name)) return offline;
}
return null;
}

/**
* Gets a {@link Set} of all online player names
*
Expand Down
132 changes: 132 additions & 0 deletions api/src/main/java/xyz/srnyx/annoyingapi/utility/MapUtility.java
@@ -0,0 +1,132 @@
package xyz.srnyx.annoyingapi.utility;

import org.jetbrains.annotations.NotNull;

import java.util.HashMap;
import java.util.List;
import java.util.Map;


public class MapUtility {
@NotNull
public static <T, G> Map<T, G> mapOf(@NotNull List<T> keys, @NotNull List<G> values) {
final Map<T, G> map = new HashMap<>();
for (int i = 0; i < keys.size(); i++) map.put(keys.get(i), values.get(i));
return map;
}

@NotNull
public static <T, G> Map<T, G> mapOf(@NotNull T key, @NotNull G value) {
final Map<T, G> map = new HashMap<>();
map.put(key, value);
return map;
}

@NotNull
public static <T, G> Map<T, G> mapOf(@NotNull T key, @NotNull G value, @NotNull T key2, @NotNull G value2) {
final Map<T, G> map = new HashMap<>();
map.put(key, value);
map.put(key2, value2);
return map;
}

@NotNull
public static <T, G> Map<T, G> mapOf(@NotNull T key, @NotNull G value, @NotNull T key2, @NotNull G value2, @NotNull T key3, @NotNull G value3) {
final Map<T, G> map = new HashMap<>();
map.put(key, value);
map.put(key2, value2);
map.put(key3, value3);
return map;
}

@NotNull
public static <T, G> Map<T, G> mapOf(@NotNull T key, @NotNull G value, @NotNull T key2, @NotNull G value2, @NotNull T key3, @NotNull G value3, @NotNull T key4, @NotNull G value4) {
final Map<T, G> map = new HashMap<>();
map.put(key, value);
map.put(key2, value2);
map.put(key3, value3);
map.put(key4, value4);
return map;
}

@NotNull
public static <T, G> Map<T, G> mapOf(@NotNull T key, @NotNull G value, @NotNull T key2, @NotNull G value2, @NotNull T key3, @NotNull G value3, @NotNull T key4, @NotNull G value4, @NotNull T key5, @NotNull G value5) {
final Map<T, G> map = new HashMap<>();
map.put(key, value);
map.put(key2, value2);
map.put(key3, value3);
map.put(key4, value4);
map.put(key5, value5);
return map;
}

@NotNull
public static <T, G> Map<T, G> mapOf(@NotNull T key, @NotNull G value, @NotNull T key2, @NotNull G value2, @NotNull T key3, @NotNull G value3, @NotNull T key4, @NotNull G value4, @NotNull T key5, @NotNull G value5, @NotNull T key6, @NotNull G value6) {
final Map<T, G> map = new HashMap<>();
map.put(key, value);
map.put(key2, value2);
map.put(key3, value3);
map.put(key4, value4);
map.put(key5, value5);
map.put(key6, value6);
return map;
}

@NotNull
public static <T, G> Map<T, G> mapOf(@NotNull T key, @NotNull G value, @NotNull T key2, @NotNull G value2, @NotNull T key3, @NotNull G value3, @NotNull T key4, @NotNull G value4, @NotNull T key5, @NotNull G value5, @NotNull T key6, @NotNull G value6, @NotNull T key7, @NotNull G value7) {
final Map<T, G> map = new HashMap<>();
map.put(key, value);
map.put(key2, value2);
map.put(key3, value3);
map.put(key4, value4);
map.put(key5, value5);
map.put(key6, value6);
map.put(key7, value7);
return map;
}

@NotNull
public static <T, G> Map<T, G> mapOf(@NotNull T key, @NotNull G value, @NotNull T key2, @NotNull G value2, @NotNull T key3, @NotNull G value3, @NotNull T key4, @NotNull G value4, @NotNull T key5, @NotNull G value5, @NotNull T key6, @NotNull G value6, @NotNull T key7, @NotNull G value7, @NotNull T key8, @NotNull G value8) {
final Map<T, G> map = new HashMap<>();
map.put(key, value);
map.put(key2, value2);
map.put(key3, value3);
map.put(key4, value4);
map.put(key5, value5);
map.put(key6, value6);
map.put(key7, value7);
map.put(key8, value8);
return map;
}

@NotNull
public static <T, G> Map<T, G> mapOf(@NotNull T key, @NotNull G value, @NotNull T key2, @NotNull G value2, @NotNull T key3, @NotNull G value3, @NotNull T key4, @NotNull G value4, @NotNull T key5, @NotNull G value5, @NotNull T key6, @NotNull G value6, @NotNull T key7, @NotNull G value7, @NotNull T key8, @NotNull G value8, @NotNull T key9, @NotNull G value9) {
final Map<T, G> map = new HashMap<>();
map.put(key, value);
map.put(key2, value2);
map.put(key3, value3);
map.put(key4, value4);
map.put(key5, value5);
map.put(key6, value6);
map.put(key7, value7);
map.put(key8, value8);
map.put(key9, value9);
return map;
}

@NotNull
public static <T, G> Map<T, G> mapOf(@NotNull T key, @NotNull G value, @NotNull T key2, @NotNull G value2, @NotNull T key3, @NotNull G value3, @NotNull T key4, @NotNull G value4, @NotNull T key5, @NotNull G value5, @NotNull T key6, @NotNull G value6, @NotNull T key7, @NotNull G value7, @NotNull T key8, @NotNull G value8, @NotNull T key9, @NotNull G value9, @NotNull T key10, @NotNull G value10) {
final Map<T, G> map = new HashMap<>();
map.put(key, value);
map.put(key2, value2);
map.put(key3, value3);
map.put(key4, value4);
map.put(key5, value5);
map.put(key6, value6);
map.put(key7, value7);
map.put(key8, value8);
map.put(key9, value9);
map.put(key10, value10);
return map;
}
}

0 comments on commit 1404dd7

Please sign in to comment.