1.21 Update

This commit is contained in:
Navoei
2024-07-21 22:45:41 -05:00
parent 9d6441203e
commit 61edfa299a
6 changed files with 31 additions and 6 deletions

View File

@@ -5,12 +5,12 @@ java_version=21
mp3spi_version=1.9.5.4
bukkit_api_version=1.20
bukkit_version=1.20.6-R0.1-SNAPSHOT
bukkit_version=1.21-R0.1-SNAPSHOT
mod_id=customdiscsplugin
# Target an older API to make it compatible with older versions of Simple Voice Chat
voicechat_api_version=2.5.0
plugin_version=2.7
plugin_version=3.0
maven_group=me.Navoei.customdiscsplugin
archives_base_name=custom-discs

View File

@@ -17,6 +17,8 @@ import org.bukkit.event.inventory.InventoryMoveItemEvent;
import org.bukkit.event.inventory.InventoryType;
import org.bukkit.event.world.ChunkLoadEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.inventory.meta.components.JukeboxPlayableComponent;
import org.bukkit.persistence.PersistentDataType;
import java.nio.file.Path;
@@ -39,7 +41,14 @@ public class HopperManager implements Listener {
String songName = PlainTextComponentSerializer.plainText().serialize(songNameComponent);
Component customActionBarSongPlaying = LegacyComponentSerializer.legacyAmpersand().deserialize(Lang.NOW_PLAYING.toString().replace("%song_name%", songName));
String soundFileName = event.getItem().getItemMeta().getPersistentDataContainer().get(new NamespacedKey(customDiscs, "customdisc"), PersistentDataType.STRING);
ItemMeta discMeta = event.getItem().getItemMeta();
String soundFileName = discMeta.getPersistentDataContainer().get(new NamespacedKey(customDiscs, "customdisc"), PersistentDataType.STRING);
if (discMeta.getJukeboxPlayable().isShowInTooltip()) {
JukeboxPlayableComponent jpc = discMeta.getJukeboxPlayable();
jpc.setShowInTooltip(false);
discMeta.setJukeboxPlayable(jpc);
event.getItem().setItemMeta(discMeta);
}
Path soundFilePath = Path.of(customDiscs.getDataFolder().getPath(), "musicdata", soundFileName);
assert VoicePlugin.voicechatServerApi != null;

View File

@@ -15,6 +15,7 @@ import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemFlag;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.inventory.meta.components.JukeboxPlayableComponent;
import org.bukkit.persistence.PersistentDataContainer;
import org.bukkit.persistence.PersistentDataType;
import org.jetbrains.annotations.Nullable;
@@ -94,8 +95,10 @@ public class CreateCommand extends SubCommand {
.color(NamedTextColor.GRAY)
.build();
itemLore.add(customLoreSong);
meta.addItemFlags(ItemFlag.values());
meta.lore(itemLore);
JukeboxPlayableComponent jpc = meta.getJukeboxPlayable();
jpc.setShowInTooltip(false);
meta.setJukeboxPlayable(jpc);
PersistentDataContainer data = meta.getPersistentDataContainer();
data.set(new NamespacedKey(CustomDiscs.getInstance(), "customdisc"), PersistentDataType.STRING, filename);

View File

@@ -24,6 +24,8 @@ import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.entity.EntityExplodeEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.inventory.meta.components.JukeboxPlayableComponent;
import org.bukkit.persistence.PersistentDataType;
import java.io.FileNotFoundException;
@@ -47,7 +49,16 @@ public class JukeBox implements Listener{
if (isCustomMusicDisc(event) && !jukeboxContainsDisc(block)) {
String soundFileName = event.getItem().getItemMeta().getPersistentDataContainer().get(new NamespacedKey(customDiscs, "customdisc"), PersistentDataType.STRING);
ItemMeta discMeta = event.getItem().getItemMeta();
String soundFileName = discMeta.getPersistentDataContainer().get(new NamespacedKey(customDiscs, "customdisc"), PersistentDataType.STRING);
if (discMeta.getJukeboxPlayable().isShowInTooltip()) {
JukeboxPlayableComponent jpc = discMeta.getJukeboxPlayable();
jpc.setShowInTooltip(false);
discMeta.setJukeboxPlayable(jpc);
event.getItem().setItemMeta(discMeta);
Component textComponent = LegacyComponentSerializer.legacyAmpersand().deserialize(Lang.PREFIX + Lang.DISC_CONVERTED.toString());
player.sendMessage(textComponent);
}
Path soundFilePath = Path.of(customDiscs.getDataFolder().getPath(), "musicdata", soundFileName);

View File

@@ -19,7 +19,8 @@ public enum Lang {
SUCCESSFUL_DOWNLOAD("successful-download", "&aFile successfully downloaded to &7%file_path%&a."),
CREATE_DISC("create-disc", "&aCreate a disc by doing &7/cd create filename.extension \"Custom Lore\"&a."),
DOWNLOAD_ERROR("download-error", "&rAn error has occurred while downloading."),
NOW_PLAYING("now-playing","&6Now playing: %song_name%");
NOW_PLAYING("now-playing","&6Now playing: %song_name%"),
DISC_CONVERTED("disc-converted", "&aConverted disc to new format! &fThis is due to changes in newer Minecraft versions which introduced &7JukeboxPlayableComponent&f.");
private final String path;
private final String def;

View File

@@ -14,3 +14,4 @@ successful-download: "&aFile successfully downloaded to &7%file_path%&a."
create-disc: "&aCreate a disc by doing &7/cd create %filename% \"Custom Lore\"&a."
download-error: "&cAn error has occurred while downloading."
now-playing: "&6Now playing: %song_name%"
disc-converted: "&aConverted disc to new format! &fThis is due to changes in newer Minecraft versions which introduced &7JukeboxPlayableComponent&f."