mirror of
https://github.com/SPAWNRYS-ban/FUCK-CustomDiscs.git
synced 2025-12-11 05:49:43 +05:00
Seemless Update Request #6
This commit is contained in:
@@ -75,7 +75,7 @@ public final class CustomDiscs extends JavaPlugin {
|
|||||||
|
|
||||||
if (!jukebox.getRecord().hasItemMeta()) return;
|
if (!jukebox.getRecord().hasItemMeta()) return;
|
||||||
|
|
||||||
if (jukebox.getRecord().getItemMeta().getPersistentDataContainer().has(new NamespacedKey(String.valueOf(this), "customdisc"), PersistentDataType.STRING)) {
|
if (jukebox.getRecord().getItemMeta().getPersistentDataContainer().has(new NamespacedKey(CustomDiscs.getInstance(), "customdisc"), PersistentDataType.STRING)) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -54,8 +54,7 @@ public class HopperManager implements Listener {
|
|||||||
hopper.getInventory().removeItem(event.getItem());
|
hopper.getInventory().removeItem(event.getItem());
|
||||||
}, 1L);
|
}, 1L);
|
||||||
|
|
||||||
Component soundFileNameComponent = Objects.requireNonNull(event.getItem().getItemMeta().lore()).get(1).asComponent();
|
String soundFileName = event.getItem().getItemMeta().getPersistentDataContainer().get(new NamespacedKey(CustomDiscs.getInstance(), "customdisc"), PersistentDataType.STRING);
|
||||||
String soundFileName = PlainTextComponentSerializer.plainText().serialize(soundFileNameComponent);
|
|
||||||
|
|
||||||
Path soundFilePath = Path.of(CustomDiscs.getInstance().getDataFolder().getPath(), "musicdata", soundFileName);
|
Path soundFilePath = Path.of(CustomDiscs.getInstance().getDataFolder().getPath(), "musicdata", soundFileName);
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ public class CommandManager implements CommandExecutor {
|
|||||||
} else {
|
} else {
|
||||||
player.sendMessage(ChatColor.AQUA + "---[ Custom Discs ]---");
|
player.sendMessage(ChatColor.AQUA + "---[ Custom Discs ]---");
|
||||||
for (int i = 0; i < getSubCommands().size(); i++) {
|
for (int i = 0; i < getSubCommands().size(); i++) {
|
||||||
player.sendMessage(getSubCommands().get(i).getSyntax() + ChatColor.DARK_GRAY + "-" + getSubCommands().get(i).getDescription());
|
player.sendMessage(getSubCommands().get(i).getSyntax() + ChatColor.DARK_GRAY + " - " + getSubCommands().get(i).getDescription());
|
||||||
}
|
}
|
||||||
player.sendMessage(ChatColor.AQUA + "----------------------");
|
player.sendMessage(ChatColor.AQUA + "----------------------");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import org.bukkit.inventory.meta.ItemMeta;
|
|||||||
import org.bukkit.persistence.PersistentDataContainer;
|
import org.bukkit.persistence.PersistentDataContainer;
|
||||||
import org.bukkit.persistence.PersistentDataType;
|
import org.bukkit.persistence.PersistentDataType;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.List;
|
||||||
|
|
||||||
public class ConvertCommand extends SubCommand {
|
public class ConvertCommand extends SubCommand {
|
||||||
|
|
||||||
@@ -39,14 +39,17 @@ public class ConvertCommand extends SubCommand {
|
|||||||
if (isOldCustomMusicDisc(player.getInventory().getItemInMainHand())) {
|
if (isOldCustomMusicDisc(player.getInventory().getItemInMainHand())) {
|
||||||
ItemMeta customDiscMeta = player.getInventory().getItemInMainHand().getItemMeta();
|
ItemMeta customDiscMeta = player.getInventory().getItemInMainHand().getItemMeta();
|
||||||
|
|
||||||
Component soundFileNameComponent = Objects.requireNonNull(customDiscMeta.lore()).get(1).asComponent();
|
Component soundFileNameComponent = customDiscMeta.lore().get(1).asComponent();
|
||||||
String soundFileName = PlainTextComponentSerializer.plainText().serialize(soundFileNameComponent);
|
String soundFileName = PlainTextComponentSerializer.plainText().serialize(soundFileNameComponent);
|
||||||
|
List<Component> songName = customDiscMeta.lore();
|
||||||
|
|
||||||
PersistentDataContainer data = customDiscMeta.getPersistentDataContainer();
|
PersistentDataContainer data = customDiscMeta.getPersistentDataContainer();
|
||||||
data.set(new NamespacedKey(CustomDiscs.getInstance(), "customdisc"), PersistentDataType.STRING, soundFileName);
|
data.set(new NamespacedKey(CustomDiscs.getInstance(), "customdisc"), PersistentDataType.STRING, soundFileName);
|
||||||
|
|
||||||
customDiscMeta.lore().remove(1);
|
songName.remove(1);
|
||||||
customDiscMeta.removeItemFlags(ItemFlag.values());
|
|
||||||
|
customDiscMeta.lore(songName);
|
||||||
|
|
||||||
customDiscMeta.removeItemFlags(ItemFlag.HIDE_ENCHANTS);
|
customDiscMeta.removeItemFlags(ItemFlag.HIDE_ENCHANTS);
|
||||||
|
|
||||||
player.getInventory().getItemInMainHand().setItemMeta(customDiscMeta);
|
player.getInventory().getItemInMainHand().setItemMeta(customDiscMeta);
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import org.bukkit.ChatColor;
|
|||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.NamespacedKey;
|
import org.bukkit.NamespacedKey;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.inventory.ItemFlag;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
import org.bukkit.persistence.PersistentDataContainer;
|
import org.bukkit.persistence.PersistentDataContainer;
|
||||||
@@ -34,7 +35,7 @@ public class CreateCommand extends SubCommand {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getSyntax() {
|
public String getSyntax() {
|
||||||
return ChatColor.GREEN + "/customdisc create <filename> \"Custom Lore\".";
|
return ChatColor.GREEN + "/customdisc create <filename> \"Custom Lore\"";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -47,6 +48,11 @@ public class CreateCommand extends SubCommand {
|
|||||||
String songname = "";
|
String songname = "";
|
||||||
String filename = args[1];
|
String filename = args[1];
|
||||||
|
|
||||||
|
if (customName(readQuotes(args)).equalsIgnoreCase("")) {
|
||||||
|
player.sendMessage(ChatColor.RED + "You must provide a name for your disc.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
File getDirectory = new File(CustomDiscs.getInstance().getDataFolder(), "musicdata");
|
File getDirectory = new File(CustomDiscs.getInstance().getDataFolder(), "musicdata");
|
||||||
File songFile = new File(getDirectory.getPath(), filename);
|
File songFile = new File(getDirectory.getPath(), filename);
|
||||||
if (songFile.exists()) {
|
if (songFile.exists()) {
|
||||||
@@ -71,6 +77,7 @@ public class CreateCommand extends SubCommand {
|
|||||||
.color(NamedTextColor.GRAY)
|
.color(NamedTextColor.GRAY)
|
||||||
.build();
|
.build();
|
||||||
itemLore.add(customLoreSong);
|
itemLore.add(customLoreSong);
|
||||||
|
meta.addItemFlags(ItemFlag.values());
|
||||||
meta.lore(itemLore);
|
meta.lore(itemLore);
|
||||||
|
|
||||||
PersistentDataContainer data = meta.getPersistentDataContainer();
|
PersistentDataContainer data = meta.getPersistentDataContainer();
|
||||||
|
|||||||
Reference in New Issue
Block a user