Skip to content

Commit b1ae322

Browse files
committed
add translation key to tracks, and add the now playing ui
1 parent 2b1da8b commit b1ae322

File tree

6 files changed

+33
-11
lines changed

6 files changed

+33
-11
lines changed

src/client/java/fn10/musicexpansion/MusicExpandedClient.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
public class MusicExpandedClient implements ClientModInitializer {
2525

2626
public static HashMap<Integer, SoundInstance> TRACK_INSTANCES = new HashMap<>();
27-
27+
2828
@Override
2929
public void onInitializeClient() {
3030
ClientPlayNetworking.registerGlobalReceiver(ClientBoundCDTrackPlayPayload.ID, (payload, contxt) -> {
@@ -33,7 +33,9 @@ public void onInitializeClient() {
3333
SoundEvent event = optionalEvent.orElseThrow();
3434
SoundInstance instance = SimpleSoundInstance.forJukeboxSong(event, payload.pos().getCenter());
3535
client.getSoundManager().play(instance);
36-
client.gui.setNowPlaying(Component.translatable("text.compactdiscs.now-playing"));
36+
37+
client.gui.setNowPlaying(Component.translatable("text.compactdiscs.now-playing").append(" ")
38+
.append(Component.translatable(payload.translationKey())));
3739

3840
TRACK_INSTANCES.put(payload.id(), instance);
3941
});

src/client/java/fn10/musicexpansion/providers/MusicExpandedTranslationProviderENG.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,20 @@ public void generateTranslations(Provider registryLookup, TranslationBuilder tra
2121
translationBuilder.add(MusicExpandedItems.CD, "Compact-Disc");
2222
translationBuilder.add(MusicExpandedBlocks.DISC_BURNER_BLOCK, "Disc Burner");
2323
translationBuilder.add(MusicExpandedBlocks.STEREO_BLOCK, "Stereo");
24+
2425
translationBuilder.add("menu.container.disc_burner", "Disc Burner");
2526
translationBuilder.add("menu.container.stereo", "Stereo");
27+
2628
translationBuilder.add("itemGroup.compactdiscs", "Compact Discs");
29+
2730
translationBuilder.add("text.cd.tooltip.nosongs", "No Songs");
2831
translationBuilder.add("text.cd.tooltip.cdrw", "CD-RW");
32+
2933
translationBuilder.add("subtitle.compactdiscs.block.discburner", "Disc Burner Starts...");
34+
35+
translationBuilder.add("song.compactdiscs.c418.cat", "C418 - Cat");
36+
translationBuilder.add("song.compactdiscs.c418.13", "C418 - 13");
37+
translationBuilder.add("song.compactdiscs.c418.11", "C418 - 11");
3038
}
3139

3240
}

src/main/java/fn10/musicexpansion/items/CompactDiscItem.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import java.util.ArrayList;
44
import java.util.List;
55

6+
import fn10.musicexpansion.music.CDTrack;
7+
import fn10.musicexpansion.music.CDTracks;
68
import fn10.musicexpansion.reg.MusicExpandedItemComponents;
79
import net.minecraft.network.chat.Component;
810
import net.minecraft.network.chat.MutableComponent;
@@ -50,9 +52,9 @@ public static List<Component> getTooltip(TooltipContext context, ItemStack stack
5052
if (stack.has(MusicExpandedItemComponents.CD_SONGS)) {
5153
list.add(Component.translatable("text.cd.tooltip.cdrw").withColor(0xAAAAAA));
5254
for (String song : stack.get(MusicExpandedItemComponents.CD_SONGS)) {
53-
list.add(addToFront("- ", Component.translatable("cd.song." + song)).withColor(0xAAAAAA));
55+
CDTrack track = CDTracks.getTrackFromId(song);
56+
list.add(addToFront("- ", track.getTranslation()).withColor(0xAAAAAA));
5457
}
55-
//list.set(0, ((MutableComponent)list.get(0)).withColor(0xff58ff));
5658
} else {
5759
list.add(Component.translatable("text.cd.tooltip.nosongs").withColor(0xAAAAAA));
5860
}

src/main/java/fn10/musicexpansion/music/CDTrack.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
55
import net.minecraft.core.BlockPos;
66
import net.minecraft.core.Holder;
7+
import net.minecraft.network.chat.Component;
78
import net.minecraft.server.level.ServerLevel;
89
import net.minecraft.server.level.ServerPlayer;
910
import net.minecraft.sounds.SoundEvent;
@@ -12,9 +13,11 @@
1213
public class CDTrack {
1314

1415
private final SoundEvent event;
16+
private final String translation;
1517

16-
public CDTrack(SoundEvent sound) {
18+
public CDTrack(SoundEvent sound, String translationString) {
1719
this.event = sound;
20+
this.translation = translationString;
1821
}
1922

2023
/**
@@ -33,7 +36,7 @@ public Integer play(Level level, BlockPos pos) {
3336
Integer id = CDTracks.createNewCDTrackId();
3437
for (ServerPlayer plr : ((ServerLevel) level).players()) {
3538
ClientBoundCDTrackPlayPayload payload = new ClientBoundCDTrackPlayPayload(pos, Holder.direct(event),
36-
id);
39+
id, translation);
3740
ServerPlayNetworking.send(plr, payload);
3841
}
3942
CDTracks.ACTIVE_CD_TRACK_IDS.add(id);
@@ -44,6 +47,10 @@ public Integer play(Level level, BlockPos pos) {
4447
}
4548
}
4649

50+
public Component getTranslation() {
51+
return Component.translatable(translation);
52+
}
53+
4754
public boolean equals(CDTrack other) {
4855
return event.location().toString().equals(other.event.location().toString());
4956
}

src/main/java/fn10/musicexpansion/music/CDTracks.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010

1111
public class CDTracks {
1212

13-
public static final CDTrack C418_CAT = new CDTrack(SoundEvents.MUSIC_DISC_CAT.value());
14-
public static final CDTrack C418_13 = new CDTrack(SoundEvents.MUSIC_DISC_13.value());
15-
public static final CDTrack C418_11 = new CDTrack(SoundEvents.MUSIC_DISC_11.value());
13+
public static final CDTrack C418_CAT = new CDTrack(SoundEvents.MUSIC_DISC_CAT.value(), "song.compactdiscs.c418.cat");
14+
public static final CDTrack C418_13 = new CDTrack(SoundEvents.MUSIC_DISC_13.value(), "song.compactdiscs.c418.13");
15+
public static final CDTrack C418_11 = new CDTrack(SoundEvents.MUSIC_DISC_11.value(), "song.compactdiscs.c418.11");
1616

1717
private static final Map<String, CDTrack> TRACK_IDS = Map.of(
1818
"cat", C418_CAT,

src/main/java/fn10/musicexpansion/music/network/ClientBoundCDTrackPlayPayload.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,17 @@
1010
import net.minecraft.resources.Identifier;
1111
import net.minecraft.sounds.SoundEvent;
1212

13-
public record ClientBoundCDTrackPlayPayload(BlockPos pos, Holder<SoundEvent> event, Integer id) implements CustomPacketPayload {
13+
public record ClientBoundCDTrackPlayPayload(BlockPos pos, Holder<SoundEvent> event, Integer id, String translationKey)
14+
implements CustomPacketPayload {
1415
public static final Identifier CDTRACK_PLAY_PAYLOAD_ID = Identifier.fromNamespaceAndPath(MusicExpanded.MOD_ID,
1516
"play_cd_track");
1617
public static final CustomPacketPayload.Type<ClientBoundCDTrackPlayPayload> ID = new CustomPacketPayload.Type<>(
1718
CDTRACK_PLAY_PAYLOAD_ID);
1819
public static final StreamCodec<RegistryFriendlyByteBuf, ClientBoundCDTrackPlayPayload> CODEC = StreamCodec
1920
.composite(BlockPos.STREAM_CODEC, ClientBoundCDTrackPlayPayload::pos, SoundEvent.STREAM_CODEC,
20-
ClientBoundCDTrackPlayPayload::event, ByteBufCodecs.INT, ClientBoundCDTrackPlayPayload::id, ClientBoundCDTrackPlayPayload::new);
21+
ClientBoundCDTrackPlayPayload::event, ByteBufCodecs.INT, ClientBoundCDTrackPlayPayload::id,
22+
ByteBufCodecs.STRING_UTF8, ClientBoundCDTrackPlayPayload::translationKey,
23+
ClientBoundCDTrackPlayPayload::new);
2124

2225
@Override
2326
public Type<? extends CustomPacketPayload> type() {

0 commit comments

Comments
 (0)