Initial commit

This commit is contained in:
2023-09-10 23:58:50 +02:00
commit 816af4d421
31 changed files with 1601 additions and 0 deletions
@@ -0,0 +1,52 @@
package com.alttd.fishingevent.util;
import com.alttd.fishingevent.objects.Rarity;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.SkullMeta;
import org.bukkit.profile.PlayerProfile;
import org.bukkit.profile.PlayerTextures;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Optional;
import java.util.UUID;
public class FishConfigHelper {
public static Optional<Rarity> getRarity(Logger logger, ConfigurationSection fishSection) {
Rarity rarity;
try {
rarity = Rarity.valueOf(fishSection.getString("rarity", "REPLACE").toUpperCase());
} catch (IllegalArgumentException e) {
logger.warning("Invalid rarity for " + fishSection.getCurrentPath());
return Optional.empty();
}
return Optional.of(rarity);
}
@SuppressWarnings("deprecation")
public static Optional<ItemStack> loadFishItem(Logger logger, ConfigurationSection fishSection) {
ConfigurationSection fishItemSection = fishSection.getConfigurationSection("item");
if (fishItemSection == null) {
logger.warning("Invalid fish item section: " + fishSection.getCurrentPath() + ".item");
return Optional.empty();
}
ItemStack skull = new ItemStack(Material.PLAYER_HEAD);
SkullMeta skullMeta = (SkullMeta) skull.getItemMeta();
PlayerProfile playerProfile = Bukkit.getOfflinePlayer(UUID.fromString(fishItemSection.getString("uuid", UUID.randomUUID().toString()))).getPlayerProfile();
PlayerTextures playerTextures = playerProfile.getTextures();
try {
playerTextures.setSkin(new URL("http://textures.minecraft.net/texture/" + fishItemSection.getString("url-texture")));
} catch (MalformedURLException e) {
e.printStackTrace();
}
playerProfile.setTextures(playerTextures);
skullMeta.setOwnerProfile(playerProfile);
skull.setItemMeta(skullMeta);
return Optional.of(skull);
}
}
@@ -0,0 +1,42 @@
package com.alttd.fishingevent.util;
import com.alttd.fishingevent.config.Config;
public class Logger {
private final java.util.logging.Logger logger;
static private final String RESET = "\u001B[0m";
static private final String GREEN = "\u001B[32m";
static private final String TEAL = "\u001B[36m";
public Logger(java.util.logging.Logger logger) {
this.logger = logger;
}
public void debug(String debug, String... variables) {
if (!Config.SETTINGS.DEBUG)
return;
logger.info(TEAL + replace(debug, variables) + RESET);
}
public void info(String info, String... variables) {
logger.info(GREEN + replace(info, variables) + RESET);
}
public void warning(String warning, String... variables) {
if (!Config.SETTINGS.WARNINGS)
return;
logger.warning(replace(warning, variables));
}
public void severe(String severe, String... variables) {
logger.severe(replace(severe, variables));
}
private String replace(String text, String... variables) {
for (String variable : variables) {
text = text.replaceFirst("%", variable);
}
return text;
}
}