Skip to content

Commit

Permalink
upload 1.20.1 v0.4.5
Browse files Browse the repository at this point in the history
  • Loading branch information
FengLiuFeseliud committed Jul 5, 2023
1 parent c3fed23 commit e073c1c
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 54 deletions.
16 changes: 8 additions & 8 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,21 @@ org.gradle.jvmargs=-Xmx1G
org.gradle.parallel=true

# Fabric Properties
minecraft_version=1.19.4
yarn_mappings=1.19.4+build.1
loader_version=0.14.18
minecraft_version=1.20.1
yarn_mappings=1.20.1+build.9
loader_version=0.14.21

#Fabric api
fabric_version=0.76.0+1.19.4
fabric_version=0.85.0+1.20.1

# Mod Properties
mod_version = 0.4.4
mod_version = 0.4.5
maven_group = fengliu.cloudmusic
archives_base_name = cloudmusic-mod

minecraft_version_out=1.19.4
minecraft_version_out=1.20.1

# Required malilib version
malilib_version=0.15.4
malilib_version = 0.16.0

modmenu_version=6.2.2
modmenu_version = 7.0.1
64 changes: 24 additions & 40 deletions src/main/java/fengliu/cloudmusic/mixin/MixinInGameHub.java
Original file line number Diff line number Diff line change
@@ -1,46 +1,34 @@
package fengliu.cloudmusic.mixin;

import fengliu.cloudmusic.CloudMusicClient;
import com.google.gson.JsonElement;
import com.mojang.blaze3d.systems.RenderSystem;
import fengliu.cloudmusic.command.MusicCommand;
import fengliu.cloudmusic.config.Configs;
import fengliu.cloudmusic.music163.data.DjMusic;
import fengliu.cloudmusic.music163.IMusic;
import fengliu.cloudmusic.music163.data.DjMusic;
import fengliu.cloudmusic.music163.data.Music;
import fengliu.cloudmusic.render.MusicIconTexture;
import fengliu.cloudmusic.util.MusicPlayer;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.DrawableHelper;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.hud.InGameHud;
import net.minecraft.client.render.GameRenderer;
import net.minecraft.client.util.math.MatrixStack;

import net.minecraft.text.Text;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

import com.google.gson.JsonElement;
import com.mojang.blaze3d.systems.RenderSystem;

import fengliu.cloudmusic.command.MusicCommand;
import fengliu.cloudmusic.render.MusicIconTexture;
import fengliu.cloudmusic.music163.data.Music;

@Mixin(InGameHud.class)
public class MixinInGameHub {
private final MinecraftClient client = MinecraftClient.getInstance();

@Inject(method = "render", at = @At("HEAD"))
public void render(MatrixStack matrices, float tickDelta, CallbackInfo info){
public void render(DrawContext context, float tickDelta, CallbackInfo ci){
if(MusicCommand.loadQRCode){
int width = this.client.getWindow().getScaledWidth();

RenderSystem.setShader(GameRenderer::getPositionProgram);
RenderSystem.setShaderColor(1.0f, 1.0f, 1.0f, 1.0f);
RenderSystem.setShaderTexture(0, MusicIconTexture.QR_CODE_ID);

MatrixStack imgMatrices =new MatrixStack();
imgMatrices.translate(width - 64, 74, 0);
imgMatrices.scale(0.50f,0.50f,0.50f);
DrawableHelper.drawTexture(imgMatrices, 0, 0, 0, 0, 128, 128, 128, 128);
context.drawTexture(MusicIconTexture.QR_CODE_ID, this.client.getWindow().getScaledWidth() - 64, 72, 64, 64, 0, 0, 128, 128, 128, 128);
}

MusicPlayer player = MusicCommand.getPlayer();
Expand All @@ -63,7 +51,7 @@ public void render(MatrixStack matrices, float tickDelta, CallbackInfo info){
for(String lyric: MusicCommand.getPlayer().getLyric()){
MatrixStack lyricMatrices =new MatrixStack();
lyricMatrices.scale(lyricScale, lyricScale, lyricScale);
client.textRenderer.draw(lyricMatrices, lyric, lyricX, lyricY, lyricColor);
this.client.textRenderer.draw(lyric, lyricX, lyricY, lyricColor, true, lyricMatrices.peek().getPositionMatrix(), context.getVertexConsumers(), TextRenderer.TextLayerType.NORMAL, 0, 15728880, this.client.textRenderer.isRightToLeft());
lyricY += 10;
}
}
Expand All @@ -75,45 +63,41 @@ public void render(MatrixStack matrices, float tickDelta, CallbackInfo info){
int y = Configs.GUI.MUSIC_INFO_Y.getIntegerValue();
int x = Configs.GUI.MUSIC_INFO_X.getIntegerValue();

DrawableHelper.fill(matrices, width - 175 - x, y, width - x, 48 + y, Configs.GUI.MUSIC_INFO_COLOR.getIntegerValue());
DrawableHelper.fill(matrices, width - 145 - x, 40 + y, width - 30 - x, 43 + y, Configs.GUI.MUSIC_PROGRESS_BAR_COLOR.getIntegerValue());
context.fill(width - 175 - x, y, width - x, 48 + y, Configs.GUI.MUSIC_INFO_COLOR.getIntegerValue());
context.fill(width - 145 - x, 40 + y, width - 30 - x, 43 + y, Configs.GUI.MUSIC_PROGRESS_BAR_COLOR.getIntegerValue());
int progress = Math.round((115 / (float) playingMusic.getDurationSecond()) * player.getPlayingProgressSecond());
if (progress > 115){
progress = 115;
}
DrawableHelper.fill(matrices, width - 145 - x, 40 + y, width - 145 + progress - x, 43 + y, Configs.GUI.MUSIC_PLAYED_PROGRESS_BAR_COLOR.getIntegerValue());
RenderSystem.setShaderTexture(0, MusicIconTexture.MUSIC_ICON_ID);
context.fill(width - 145 - x, 40 + y, width - 145 + progress - x, 43 + y, Configs.GUI.MUSIC_PLAYED_PROGRESS_BAR_COLOR.getIntegerValue());

MatrixStack imgMatrices =new MatrixStack();
imgMatrices.translate(width - 172 - x, 2.5f + y, 0);
imgMatrices.scale(0.25f,0.25f,0.25f);
DrawableHelper.drawTexture(imgMatrices, 0, 0, 0, 0, 128, 128, 128, 128);
client.textRenderer.draw(matrices, playingMusic.getName().length() > 16 ? playingMusic.getName().substring(0, 16) + "...": playingMusic.getName(), width - 135 - x, 4 + y, Configs.GUI.MUSIC_INFO_TITLE_FONT_COLOR.getIntegerValue());
context.drawTexture(MusicIconTexture.MUSIC_ICON_ID, width - 172 - x, (int) (2.5f + y), 32, 32, 0, 0, 128, 128, 128, 128);
context.drawText(this.client.textRenderer, playingMusic.getName().length() > 16 ? playingMusic.getName().substring(0, 16) + "...": playingMusic.getName(), width - 135 - x, 4 + y, Configs.GUI.MUSIC_INFO_TITLE_FONT_COLOR.getIntegerValue(), true);

int progressFontColor = Configs.GUI.MUSIC_PROGRESS_FONT_COLOR.getIntegerValue();
client.textRenderer.draw(matrices, player.getPlayingProgressToString(), width - 172 - x, 38 + y, progressFontColor);
client.textRenderer.draw(matrices, playingMusic.getDurationToString(), width - 28 - x, 38 + y, progressFontColor);
context.drawText(this.client.textRenderer, player.getPlayingProgressToString(), width - 172 - x, 38 + y, progressFontColor, true);
context.drawText(this.client.textRenderer, playingMusic.getDurationToString(), width - 28 - x, 38 + y, progressFontColor, true);
int musicFontColor = Configs.GUI.MUSIC_INFO_FONT_COLOR.getIntegerValue();
if (playingMusic instanceof DjMusic music){
client.textRenderer.draw(matrices, Text.translatable("cloudmusic.info.dj.creator", music.dj.get("nickname").getAsString()), width - 135 - x, 14 + y, musicFontColor);
client.textRenderer.draw(matrices, Text.translatable("cloudmusic.info.dj.music.count", music.listenerCount, music.likedCount), width - 135 - x, 24 + y, musicFontColor);
context.drawText(this.client.textRenderer, Text.translatable("cloudmusic.info.dj.creator", music.dj.get("nickname").getAsString()), width - 135 - x, 14 + y, musicFontColor, true);
context.drawText(this.client.textRenderer, Text.translatable("cloudmusic.info.dj.music.count", music.listenerCount, music.likedCount), width - 135 - x, 24 + y, musicFontColor, true);
return;
}

Music music = (Music) playingMusic;
if(!music.aliasName.isEmpty()){
client.textRenderer.draw(matrices, music.aliasName.length() > 16 ? music.aliasName.substring(0, 16) + "...": music.aliasName, width - 135 - x, 14 + y, musicFontColor);
context.drawText(this.client.textRenderer, music.aliasName.length() > 16 ? music.aliasName.substring(0, 16) + "...": music.aliasName, width - 135 - x, 14 + y, musicFontColor, true);
}else{
String album = music.album.get("name").getAsString();
client.textRenderer.draw(matrices, album.length() > 16 ? album.substring(0, 16) + "...": album, width - 135 - x, 14 + y, musicFontColor);
context.drawText(this.client.textRenderer, album.length() > 16 ? album.substring(0, 16) + "...": album, width - 135 - x, 14 + y, musicFontColor, true);
}

StringBuilder artist = new StringBuilder();
for (JsonElement artistData : music.artists.asList()) {
artist.append(artistData.getAsJsonObject().get("name").getAsString()).append("/");
}
artist = new StringBuilder(artist.substring(0, artist.length() - 1));
client.textRenderer.draw(matrices, artist.length() > 16 ? artist.substring(0, 16) + "...": artist.toString(), width - 135 - x, 24 + y, musicFontColor);
context.drawText(this.client.textRenderer, artist.length() > 16 ? artist.substring(0, 16) + "...": artist.toString(), width - 135 - x, 24 + y, musicFontColor, true);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

public class MusicIconTexture {
private static final MinecraftClient client = MinecraftClient.getInstance();
public static Identifier MUSIC_ICON_ID = new Identifier(CloudMusicClient.MOD_ID, "music.icon");
public static Identifier MUSIC_ICON_ID = new Identifier(CloudMusicClient.MOD_ID, "music_icon.png");
public static Identifier QR_CODE_ID = new Identifier(CloudMusicClient.MOD_ID, "qr.code");
private static boolean canUseIcon = false;

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 5 additions & 5 deletions src/main/resources/fabric.mod.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
{
"schemaVersion": 1,
"id": "cloudmusic",
"version": "0.4.4",
"version": "0.4.5",

"name": "CloudMusic",
"description": "Use Netease Cloud Music in MC !!!",
"authors": [
"FengLiuFeseliud"
],

"contact": {
"homepage": "https://github.com/FengLiuFeseliud/CloudMusic-Mod",
"sources": "https://github.com/FengLiuFeseliud/CloudMusic-Mod",
Expand All @@ -26,14 +27,13 @@
"fengliu.cloudmusic.compat.ModMenu"
]
},

"mixins": [
"cloudmusic.mixins.json"
],

"depends": {
"fabricloader": ">=0.14.11"
},
"suggests": {
"another-mod": "*"
"minecraft": "1.20.x",
"malilib": "0.16.x"
}
}

0 comments on commit e073c1c

Please sign in to comment.