From fdd29d0c9d066d7fc9d6dc196793bbfabd336756 Mon Sep 17 00:00:00 2001 From: akanyan Date: Tue, 17 Dec 2024 18:25:49 +0000 Subject: [PATCH] feat: implement Blacklist --- Blacklist/Blacklist.csproj | 7 +++++++ Blacklist/MU3.User/patch_UserManager.cs | 28 +++++++++++++++++++++++++ InfiniteGP/MU3/patch_UICredit.cs | 3 +-- 3 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 Blacklist/Blacklist.csproj create mode 100644 Blacklist/MU3.User/patch_UserManager.cs diff --git a/Blacklist/Blacklist.csproj b/Blacklist/Blacklist.csproj new file mode 100644 index 0000000..f16b24e --- /dev/null +++ b/Blacklist/Blacklist.csproj @@ -0,0 +1,7 @@ + + + Assembly-CSharp.Blacklist.mm + Block custom charts from being uploaded + + + \ No newline at end of file diff --git a/Blacklist/MU3.User/patch_UserManager.cs b/Blacklist/MU3.User/patch_UserManager.cs new file mode 100644 index 0000000..981c144 --- /dev/null +++ b/Blacklist/MU3.User/patch_UserManager.cs @@ -0,0 +1,28 @@ +using MU3.DataStudio; + +namespace MU3.User; +class patch_UserManager: UserManager { + private bool _loadedBlacklistData = false; + private int _blacklistMin = -1; + private int _blacklistMax = -1; + public extern UserFumen orig_getUserFumen(int musicId, FumenDifficulty difficulty, bool create); + public new UserFumen getUserFumen(int musicId, FumenDifficulty difficulty, bool create) { + if(!_loadedBlacklistData) { + loadBlacklistData(); + } + if(musicId >= _blacklistMin && musicId <= _blacklistMax) { + return null; + } else { + return orig_getUserFumen(musicId, difficulty, create); + } + } + + private void loadBlacklistData() { + using IniFile iniFile = new("mu3.ini"); + + _blacklistMin = iniFile.getIntValue("Extra", "BlacklistMin", 10000); + _blacklistMax = iniFile.getIntValue("Extra", "BlacklistMax", 19999); + + _loadedBlacklistData = true; + } +} diff --git a/InfiniteGP/MU3/patch_UICredit.cs b/InfiniteGP/MU3/patch_UICredit.cs index c643653..32b431d 100644 --- a/InfiniteGP/MU3/patch_UICredit.cs +++ b/InfiniteGP/MU3/patch_UICredit.cs @@ -53,8 +53,7 @@ class patch_UICredit: UICredit { groupIcon_.image.rectTransform.pivot = new Vector2(0f, 0.5f); } - if (iniFile.getValue("Extra", "HideVersion", true)) - { + if(iniFile.getValue("Extra", "HideVersion", true)) { version_.transform.localScale = new Vector3(0, 0, 0); } }