Skip to content

Commit

Permalink
Change-log SimplyStatus 1.7.3-beta.1
Browse files Browse the repository at this point in the history
- Добавлена поддержка музыки из KelUtls
- Немного переписана поддержка Music Player Fabric
- Обновлены библиотеки
- Была сделана поддержка YetAnotherConfigLib, в будущем возможно будет заменой Cloth Config  [Мб сделаю выбор]
-  Изменена локализация статистики #6
  • Loading branch information
Kel committed Aug 1, 2023
1 parent f45524c commit 8394f50
Show file tree
Hide file tree
Showing 36 changed files with 1,840 additions and 835 deletions.
11 changes: 10 additions & 1 deletion build.gradle
Expand Up @@ -13,6 +13,8 @@ repositories {
// See https://docs.gradle.org/current/userguide/declaring_repositories.html
// for more information about repositories.
jcenter()
mavenCentral()
maven { url = "https://oss.sonatype.org/content/repositories/snapshots" }
maven {
url = "https://jitpack.io/"
}
Expand All @@ -21,6 +23,11 @@ repositories {
url = "https://api.modrinth.com/maven"
}
maven { url = "https://repo.u-team.info" }
maven { url = "https://maven.terraformersmc.com/releases" }
maven {
name 'Xander Maven'
url 'https://maven.isxander.dev/releases'
}
}

dependencies {
Expand All @@ -35,10 +42,11 @@ dependencies {
include(implementation "org.json:json:${project.JSON}")
include(implementation "club.minnced:discord-rpc-release:v3.4.0")
include(implementation "com.github.MinnDevelopment:java-discord-rpc:v2.0.2")
modImplementation "maven.modrinth:modmenu:${project.modmenu_version}"
modImplementation "com.terraformersmc:modmenu:${project.modmenu_version}"
modApi("me.shedaniel.cloth:cloth-config-fabric:${project.cloth_config}") {
exclude(group: "net.fabricmc.fabric-api")
}
modImplementation("dev.isxander.yacl:yet-another-config-lib-fabric:3.1.0+1.20")
// Support ReplayMod
modImplementation "maven.modrinth:replaymod:${project.replaymod}"
// Support Music Player for FabricMC
Expand All @@ -49,6 +57,7 @@ dependencies {
modImplementation "maven.modrinth:simple-voice-chat:${project.svc}"
// Support Fast Load
modImplementation "maven.modrinth:fastload:${project.fastload}"
modImplementation(files("C:/Users/Kel/Проекты/KelUtils/build/libs/KelUtils-1.1.0-alpha.jar"))
}

processResources {
Expand Down
22 changes: 11 additions & 11 deletions gradle.properties
@@ -1,28 +1,28 @@
# Done to increase the memory available to gradle.
org.gradle.jvmargs=-Xmx1G
org.gradle.jvmargs=-Xmx2G
# Fabric Properties
# check these on https://modmuss50.me/fabric.html
minecraft_version=1.20-rc1
yarn_mappings=1.20-rc1+build.2
minecraft_version=1.20.1
yarn_mappings=1.20.1+build.10
loader_version=0.14.21

# Mod Properties
mod_version=1.7.2
mod_version=1.7.3-beta.1
maven_group=ru.simplykel
archives_base_name=simplystatus
# Dependencies
# check this on https://modmuss50.me/fabric.html

#Fabric api
fabric_version=0.83.0+1.20
fabric_version=0.86.1+1.20.1
# Mods
modmenu_version=7.0.0-beta.2
cloth_config=11.0.98
modmenu_version=7.2.1
cloth_config=11.1.106
musicplayer=1.19.4:2.6.0.206
replaymod=1.19.4-2.6.12
plasmovoice=fabric-1.19.4-2.0.3
svc=fabric-1.20-pre6-2.4.8
replaymod=1.20.1-2.6.13
plasmovoice=fabric-1.20.1-2.0.6
svc=fabric-1.20.1-2.4.16
fastload=3.4.0
# Not Minecraft Libs
JSON=20230227
JSON=20230618

2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
13 changes: 10 additions & 3 deletions src/main/java/ru/simplykel/simplystatus/Client.java
Expand Up @@ -21,7 +21,8 @@
import ru.simplykel.simplystatus.config.AssetsConfig;
import ru.simplykel.simplystatus.config.ModConfig;
import ru.simplykel.simplystatus.config.UserConfig;
import ru.simplykel.simplystatus.config.gui.ConfigScreen;
import ru.simplykel.simplystatus.config.gui.cloth.ConfigScreen;
import ru.simplykel.simplystatus.config.gui.yacl.YACLConfigScreen;
import ru.simplykel.simplystatus.info.Game;
import ru.simplykel.simplystatus.presences.MainMenu;
import ru.simplykel.simplystatus.presences.ReplayMod;
Expand Down Expand Up @@ -70,12 +71,18 @@ public void onInitializeClient() {
ClientTickEvents.END_CLIENT_TICK.register(client -> {
assert client.player != null;
while (openConfigKeyBind.wasPressed()) {
if(!Main.clothConfig){
if(!Main.clothConfig && !Main.yetAnotherConfigLibV3){
client.player.sendMessage(Text.translatable(("simplystatus.message.clothConfigNotFound")), true);
return;
}
final Screen current = client.currentScreen;
Screen configScreen = ConfigScreen.buildScreen(current);
Screen configScreen ;
if(Main.clothConfig && !(UserConfig.USE_YACL_CONFIGURATION && Main.yetAnotherConfigLibV3)) {
configScreen = ConfigScreen.buildScreen(current);
} else {
configScreen = YACLConfigScreen.buildScreen(current);
}

client.setScreen(configScreen);
}
});
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/ru/simplykel/simplystatus/Main.java
Expand Up @@ -18,7 +18,9 @@ public class Main implements ModInitializer {
public static boolean clothConfig = FabricLoader.getInstance().getModContainer("cloth-config").isPresent();
public static Boolean replayMod = FabricLoader.getInstance().getModContainer("replaymod").isPresent();
public static Boolean musicPlayer = FabricLoader.getInstance().getModContainer("musicplayer").isPresent();
public static Boolean kelUtils = FabricLoader.getInstance().getModContainer("kelutils").isPresent();
public static Boolean svc = FabricLoader.getInstance().getModContainer("voicechat").isPresent();
public static Boolean yetAnotherConfigLibV3 = FabricLoader.getInstance().getModContainer("yet_another_config_lib_v3").isPresent();
public static Boolean plasmo = FabricLoader.getInstance().getModContainer("plasmovoice").isPresent();
public static Boolean fastload = FabricLoader.getInstance().getModContainer("fastload").isPresent();
public static Boolean isVoiceModsEnable = (svc || plasmo);
Expand Down
19 changes: 15 additions & 4 deletions src/main/java/ru/simplykel/simplystatus/config/Localization.java
Expand Up @@ -9,11 +9,8 @@
import ru.simplykel.simplystatus.Main;
import ru.simplykel.simplystatus.info.Game;
import ru.simplykel.simplystatus.info.Player;
import ru.simplykel.simplystatus.mods.MusicPlayer;
import ru.simplykel.simplystatus.mods.PlasmoVoice;
import ru.simplykel.simplystatus.mods.ReplayMod;
import ru.simplykel.simplystatus.mods.*;
import ru.simplykel.simplystatus.mixin.MinecraftClientAccess;
import ru.simplykel.simplystatus.mods.SVC;

import java.io.File;
import java.io.IOException;
Expand Down Expand Up @@ -141,6 +138,20 @@ public static String getParsedText(String text){
else parsedText = parsedText.replace("%title%", music.title);
}
}

if(Main.kelUtils){
KelUtils music = new KelUtils();
if(!music.paused){
parsedText = parsedText.replace("%music%", getLocalization("mod.music.format", false));
if(music.artistIsNull) parsedText = parsedText.replace("%artist%", "");
else {
parsedText = parsedText.replace("%artist%", getLocalization("mod.music.format.artist", false));
parsedText = parsedText.replace("%artist_name%", music.artist);
}
if(music.useFile) parsedText = parsedText.replace("%title%", music.file);
else parsedText = parsedText.replace("%title%", music.title);
}
}
if(CLIENT.world != null && CLIENT.player != null){
parsedText = parsedText.replace("%item%", Localization.getLocalization("item.format", false));
parsedText = parsedText.replace("%item_name%", Player.getItemName()+"");
Expand Down
Expand Up @@ -26,6 +26,7 @@ public class UserConfig {
public static boolean ENABLE_TIME_CYCLE = true;
public static boolean ENABLE_WORLD = true;
public static boolean USE_CUSTOM_APP_ID = false;
public static boolean USE_YACL_CONFIGURATION = false;
public static String CUSTOM_APP_ID = ModConfig.baseID;

/**
Expand All @@ -52,6 +53,7 @@ public static void save(){
.put("ENABLE_TIME_CYCLE", ENABLE_TIME_CYCLE)
.put("ENABLE_WORLD", ENABLE_WORLD)
.put("USE_CUSTOM_APP_ID", USE_CUSTOM_APP_ID)
.put("USE_YACL_CONFIGURATION", USE_YACL_CONFIGURATION)
.put("CUSTOM_APP_ID", CUSTOM_APP_ID);
try {
Files.createDirectories(configFile.getParent());
Expand Down Expand Up @@ -80,7 +82,7 @@ public static void load(){

if(!jsonConfig.isNull("VIEW_ITEM_OFF_HAND")) VIEW_ITEM_OFF_HAND = jsonConfig.getBoolean("VIEW_ITEM_OFF_HAND");
else VIEW_ITEM_OFF_HAND = false;
if(!jsonConfig.isNull("VIEW_MUSIC_LISTENER") && Main.musicPlayer) VIEW_MUSIC_LISTENER = jsonConfig.getBoolean("VIEW_MUSIC_LISTENER");
if(!jsonConfig.isNull("VIEW_MUSIC_LISTENER") && (Main.musicPlayer || Main.kelUtils)) VIEW_MUSIC_LISTENER = jsonConfig.getBoolean("VIEW_MUSIC_LISTENER");
else VIEW_MUSIC_LISTENER = false;
if(!jsonConfig.isNull("VIEW_STATISTICS")) VIEW_STATISTICS = jsonConfig.getBoolean("VIEW_STATISTICS");
else VIEW_STATISTICS = true;
Expand Down Expand Up @@ -109,6 +111,8 @@ public static void load(){

if(!jsonConfig.isNull("USE_CUSTOM_APP_ID")) USE_CUSTOM_APP_ID = jsonConfig.getBoolean("USE_CUSTOM_APP_ID");
else USE_CUSTOM_APP_ID = false;
if(!jsonConfig.isNull("USE_YACL_CONFIGURATION") && Main.yetAnotherConfigLibV3) USE_YACL_CONFIGURATION = jsonConfig.getBoolean("USE_YACL_CONFIGURATION");
else USE_YACL_CONFIGURATION = false;
if(!jsonConfig.isNull("CUSTOM_APP_ID")) CUSTOM_APP_ID = jsonConfig.getString("CUSTOM_APP_ID");
else CUSTOM_APP_ID = ModConfig.baseID;

Expand Down
Expand Up @@ -5,14 +5,19 @@
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import ru.simplykel.simplystatus.Main;
import ru.simplykel.simplystatus.config.UserConfig;
import ru.simplykel.simplystatus.config.gui.cloth.ConfigScreen;
import ru.simplykel.simplystatus.config.gui.yacl.YACLConfigScreen;

@Environment(EnvType.CLIENT)
public class ModMenuIntegration implements ModMenuApi {

@Override
public ConfigScreenFactory<?> getModConfigScreenFactory() {
if(Main.clothConfig) {
if(Main.clothConfig && !(UserConfig.USE_YACL_CONFIGURATION && Main.yetAnotherConfigLibV3)) {
return ConfigScreen::buildScreen;
} else if(Main.yetAnotherConfigLibV3){
return YACLConfigScreen::buildScreen;
} else {
return null;
}
Expand Down
@@ -1,76 +1,76 @@
package ru.simplykel.simplystatus.config.gui;

import me.shedaniel.clothconfig2.api.ConfigBuilder;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.Screen;
import ru.simplykel.simplystatus.Client;
import ru.simplykel.simplystatus.Main;
import ru.simplykel.simplystatus.config.Localization;
import ru.simplykel.simplystatus.config.ModConfig;
import ru.simplykel.simplystatus.config.ServerConfig;
import ru.simplykel.simplystatus.config.UserConfig;
import ru.simplykel.simplystatus.config.gui.category.*;

public class ConfigScreen {
public static Screen buildScreen (Screen currentScreen) {
MinecraftClient CLIENT = MinecraftClient.getInstance();
ConfigBuilder builder = ConfigBuilder.create()
.setParentScreen(currentScreen)
.setTitle(Localization.getText("simplystatus.name"))
.setTransparentBackground(true)
.setSavingRunnable(ConfigScreen::save);
new MainConfigs().getCategory(builder);
new LocalizationsConfig().getCategory(builder);
if(UserConfig.USE_CUSTOM_ASSETS || UserConfig.USE_CUSTOM_APP_ID) new AssetsConfigs().getCategory(builder);
new AddonsConfigs().getCategory(builder);
if(!CLIENT.isInSingleplayer() && CLIENT.getCurrentServerEntry() != null) {
new ServerConfigs().getCategory(builder);
}
if(Main.replayMod && UserConfig.VIEW_REPLAY_MOD){
new ReplayModConfigs().getCategory(builder);
}
if(Main.isVoiceModsEnable && UserConfig.VIEW_VOICE_SPEAK){
new VoiceConfigs().getCategory(builder);
}
if(Main.musicPlayer && UserConfig.VIEW_MUSIC_LISTENER){
new MusicPlayerConfigs().getCategory(builder);
}
if(Main.isBetaBuild || Main.isDevBuild){
new DevConfigs().getCategory(builder);
}
return builder.build();
}
private static void save(){
MinecraftClient CLIENT = MinecraftClient.getInstance();
Client.LOG.info(Main.prefixLog+"Save user configs...");
Client.ASSETS.saveUserAssets();
if(UserConfig.USE_CUSTOM_APP_ID && !Main.customID.equals(UserConfig.CUSTOM_APP_ID)){
Main.useCustomID = true;
String APPLICATION_ID = UserConfig.CUSTOM_APP_ID;
if(APPLICATION_ID.isBlank()){
APPLICATION_ID = ModConfig.baseID;
UserConfig.CUSTOM_APP_ID = APPLICATION_ID;
}
if(!Main.customID.equals(APPLICATION_ID)) {
Main.customID = APPLICATION_ID;
Client.LIB.Discord_Shutdown();
Client.LIB.Discord_Initialize(APPLICATION_ID, Client.HANDLERS, Client.AUTO_REGISTER, Client.STEAM_ID);
}
} else if((Main.useAnotherID != UserConfig.USE_ANOTHER_ID) || (Main.useCustomID != UserConfig.USE_CUSTOM_APP_ID)){
Main.useAnotherID = UserConfig.USE_ANOTHER_ID;
Main.useCustomID = UserConfig.USE_CUSTOM_APP_ID;
Main.customID = "";
String APPLICATION_ID = "";
if(UserConfig.USE_ANOTHER_ID) APPLICATION_ID = ModConfig.mineID;
else APPLICATION_ID = ModConfig.baseID;

Client.LIB.Discord_Shutdown();
Client.LIB.Discord_Initialize(APPLICATION_ID, Client.HANDLERS, Client.AUTO_REGISTER, Client.STEAM_ID);
}
UserConfig.save();
if(!CLIENT.isInSingleplayer() && CLIENT.getCurrentServerEntry() != null){
Client.LOG.info(Main.prefixLog+"Save server configs...");
ServerConfig.save();
}
}
}
package ru.simplykel.simplystatus.config.gui.cloth;

import me.shedaniel.clothconfig2.api.ConfigBuilder;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.Screen;
import ru.simplykel.simplystatus.Client;
import ru.simplykel.simplystatus.Main;
import ru.simplykel.simplystatus.config.Localization;
import ru.simplykel.simplystatus.config.ModConfig;
import ru.simplykel.simplystatus.config.ServerConfig;
import ru.simplykel.simplystatus.config.UserConfig;
import ru.simplykel.simplystatus.config.gui.cloth.category.*;

public class ConfigScreen {
public static Screen buildScreen (Screen currentScreen) {
MinecraftClient CLIENT = MinecraftClient.getInstance();
ConfigBuilder builder = ConfigBuilder.create()
.setParentScreen(currentScreen)
.setTitle(Localization.getText("simplystatus.name"))
.setTransparentBackground(true)
.setSavingRunnable(ConfigScreen::save);
new MainConfigs().getCategory(builder);
new LocalizationsConfig().getCategory(builder);
if(UserConfig.USE_CUSTOM_ASSETS || UserConfig.USE_CUSTOM_APP_ID) new AssetsConfigs().getCategory(builder);
new AddonsConfigs().getCategory(builder);
if(!CLIENT.isInSingleplayer() && CLIENT.getCurrentServerEntry() != null) {
new ServerConfigs().getCategory(builder);
}
if(Main.replayMod && UserConfig.VIEW_REPLAY_MOD){
new ReplayModConfigs().getCategory(builder);
}
if(Main.isVoiceModsEnable && UserConfig.VIEW_VOICE_SPEAK){
new VoiceConfigs().getCategory(builder);
}
if((Main.musicPlayer || Main.kelUtils) && UserConfig.VIEW_MUSIC_LISTENER){
new MusicPlayerConfigs().getCategory(builder);
}
if(Main.isBetaBuild || Main.isDevBuild){
new DevConfigs().getCategory(builder);
}
return builder.build();
}
private static void save(){
MinecraftClient CLIENT = MinecraftClient.getInstance();
Client.LOG.info(Main.prefixLog+"Save user configs...");
Client.ASSETS.saveUserAssets();
if(UserConfig.USE_CUSTOM_APP_ID && !Main.customID.equals(UserConfig.CUSTOM_APP_ID)){
Main.useCustomID = true;
String APPLICATION_ID = UserConfig.CUSTOM_APP_ID;
if(APPLICATION_ID.isBlank()){
APPLICATION_ID = ModConfig.baseID;
UserConfig.CUSTOM_APP_ID = APPLICATION_ID;
}
if(!Main.customID.equals(APPLICATION_ID)) {
Main.customID = APPLICATION_ID;
Client.LIB.Discord_Shutdown();
Client.LIB.Discord_Initialize(APPLICATION_ID, Client.HANDLERS, Client.AUTO_REGISTER, Client.STEAM_ID);
}
} else if((Main.useAnotherID != UserConfig.USE_ANOTHER_ID) || (Main.useCustomID != UserConfig.USE_CUSTOM_APP_ID)){
Main.useAnotherID = UserConfig.USE_ANOTHER_ID;
Main.useCustomID = UserConfig.USE_CUSTOM_APP_ID;
Main.customID = "";
String APPLICATION_ID = "";
if(UserConfig.USE_ANOTHER_ID) APPLICATION_ID = ModConfig.mineID;
else APPLICATION_ID = ModConfig.baseID;

Client.LIB.Discord_Shutdown();
Client.LIB.Discord_Initialize(APPLICATION_ID, Client.HANDLERS, Client.AUTO_REGISTER, Client.STEAM_ID);
}
UserConfig.save();
if(!CLIENT.isInSingleplayer() && CLIENT.getCurrentServerEntry() != null){
Client.LOG.info(Main.prefixLog+"Save server configs...");
ServerConfig.save();
}
}
}

0 comments on commit 8394f50

Please sign in to comment.