Fire Gem
This commit is contained in:
@@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)));
|
||||||
|
}
|
||||||
|
}
|
||||||
15
src/main/java/me/trouper/ultrabliss/data/Config.java
Normal file
15
src/main/java/me/trouper/ultrabliss/data/Config.java
Normal 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";
|
||||||
|
}
|
||||||
45
src/main/java/me/trouper/ultrabliss/server/gems/FireGem.java
Normal file
45
src/main/java/me/trouper/ultrabliss/server/gems/FireGem.java
Normal 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
|
||||||
|
}
|
||||||
50
src/main/java/me/trouper/ultrabliss/utils/Text.java
Normal file
50
src/main/java/me/trouper/ultrabliss/utils/Text.java
Normal 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();
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user