This commit is contained in:
2024-09-04 15:55:01 -07:00
parent 41b73a786f
commit 4018d78716
5 changed files with 155 additions and 1 deletions

View File

@@ -2,6 +2,7 @@ package me.trouper.ultrabliss;
import io.github.itzispyder.pdk.PDK; import io.github.itzispyder.pdk.PDK;
import io.github.itzispyder.pdk.utils.misc.config.JsonSerializable; import io.github.itzispyder.pdk.utils.misc.config.JsonSerializable;
import me.trouper.ultrabliss.data.Config;
import me.trouper.ultrabliss.data.GemStorage; import me.trouper.ultrabliss.data.GemStorage;
import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.plugin.java.JavaPlugin;
@@ -11,6 +12,8 @@ public final class UltraBliss extends JavaPlugin {
public static File gemStorageFile = new File("plugins/UltraBliss/gemStorage.json"); public static File gemStorageFile = new File("plugins/UltraBliss/gemStorage.json");
public static GemStorage gemStorage = JsonSerializable.load(gemStorageFile,GemStorage.class,new GemStorage()); public static GemStorage gemStorage = JsonSerializable.load(gemStorageFile,GemStorage.class,new GemStorage());
public static File configFile = new File("plugins/UltraBliss/config.json");
public static Config config = JsonSerializable.load(configFile,Config.class,new Config());
private static UltraBliss instance; private static UltraBliss instance;
@Override @Override
@@ -31,7 +34,8 @@ public final class UltraBliss extends JavaPlugin {
private void initStorage() { private void initStorage() {
gemStorage = JsonSerializable.load(gemStorageFile,GemStorage.class,new GemStorage()); gemStorage = JsonSerializable.load(gemStorageFile,GemStorage.class,new GemStorage());
gemStorage.save(); gemStorage.save();
config = JsonSerializable.load(configFile,Config.class,new Config());
config.save();
} }
} }

View File

@@ -0,0 +1,40 @@
package me.trouper.ultrabliss.commands;
import io.github.itzispyder.pdk.commands.Args;
import io.github.itzispyder.pdk.commands.CustomCommand;
import io.github.itzispyder.pdk.commands.completions.CompletionBuilder;
import me.trouper.ultrabliss.UltraBliss;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import java.awt.*;
public class AdminCommand implements CustomCommand {
@Override
public void dispatchCommand(CommandSender commandSender, Command command, String s, Args args) {
}
@Override
public void dispatchCompletions(CommandSender commandSender, Command command, String s, CompletionBuilder b) {
}
private void handleGiveGemCommand(Player p, Args args) {
if (args.getSize() < 3) return;
String gemType = args.get(2).toString();
switch (gemType) {
case "fire" -> p.getInventory().setItemInOffHand(Gems.FIRE_GEM.item());
case "life" -> p.getInventory().setItemInOffHand(Gems.LIFE_GEM.item());
case "puff" -> p.getInventory().setItemInOffHand(Gems.PUFF_GEM.item());
case "speed" -> p.getInventory().setItemInOffHand(Gems.SPEED_GEM.item());
case "wealth" -> p.getInventory().setItemInOffHand(Gems.WEALTH_GEM.item());
case "strength" -> p.getInventory().setItemInOffHand(Gems.STRENGTH_GEM.item());
case "astra" -> p.getInventory().setItemInOffHand(Gems.ASTRA_GEM.item());
}
p.sendMessage(color(UltraBliss.config.prefix + "Given you a &a%s&7 gem!".formatted(gemType)));
}
}

View File

@@ -0,0 +1,15 @@
package me.trouper.ultrabliss.data;
import io.github.itzispyder.pdk.utils.misc.config.JsonSerializable;
import me.trouper.ultrabliss.UltraBliss;
import java.io.File;
public class Config implements JsonSerializable<Config> {
@Override
public File getFile() {
return UltraBliss.configFile;
}
public String prefix = "&9UltraBliss> &7";
}

View File

@@ -0,0 +1,45 @@
package me.trouper.ultrabliss.server.gems;
import io.github.itzispyder.pdk.plugin.builders.ItemBuilder;
import me.trouper.ultrabliss.server.GemData;
import me.trouper.ultrabliss.utils.Text;
import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.ItemFlag;
import org.bukkit.inventory.ItemStack;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import java.util.List;
public class FireGem {
private static final ItemStack FIRE_GEM = ItemBuilder.create()
.material(Material.MAGMA_CREAM)
.name(Text.color("&c&lFire Gem"))
.lore(Text.color("&8➥ &7Fire Resistance"))
.enchant(Enchantment.MENDING,1)
.flag(ItemFlag.HIDE_ENCHANTS)
.build();
private static final ItemStack FIRE_GEM_UPGRADE = ItemBuilder.create()
.material(Material.MAGMA_CREAM)
.name(Text.color("&c&lFire Gem &6\uD83E\uDC45"))
.lore(Text.color("&8➥ &7Fire Resistance"))
.lore(Text.color(""))
.lore(Text.color("&e★ &fShoot Fireball"))
.lore(Text.color(""))
.lore(Text.color("&7Press &n(Swap-Hands)&r&7 to use &e★&7 ability"))
.enchant(Enchantment.MENDING,1)
.flag(ItemFlag.HIDE_ENCHANTS)
.build();
public static GemData gem = new GemData.Builder(1000)
.setPassive(List.of(
new PotionEffect(PotionEffectType.FIRE_RESISTANCE,20*5,1)
))
.setItem(FIRE_GEM)
.build();
public static GemData
}

View File

@@ -0,0 +1,50 @@
package me.trouper.ultrabliss.utils;
import me.trouper.ultrabliss.UltraBliss;
public class Text {
public static final char SECTION_SYMBOL = (char)167;
public static String color(String msg) {
return msg.replace('&', SECTION_SYMBOL);
}
public static String prefix(String text) {
String prefix = UltraBliss.config.prefix;
return color(prefix + text);
}
public static String cleanName(String type) {
return type.replace('_', ' ').toLowerCase();
}
public static String removeFirstColor(String input) {
if (input.startsWith("\u00a7")) {
if (input.length() > 2) {
return input.substring(2);
} else {
return "";
}
} else {
return input;
}
}
public static String replaceRepeatingLetters(String message) {
StringBuilder result = new StringBuilder();
char prevChar = '\0';
int count = 0;
for (char c : message.toCharArray()) {
if (c == prevChar) {
count++;
if (count <= 3) {
result.append(c);
}
} else {
prevChar = c;
count = 1;
result.append(c);
}
}
return result.toString();
}
}