From 2813ff6949fad920dc89bca677e9a75c7294c3d9 Mon Sep 17 00:00:00 2001 From: Xiao-MoMi <70987828+Xiao-MoMi@users.noreply.github.com> Date: Wed, 5 Apr 2023 22:00:39 +0800 Subject: [PATCH] 2.2.0.4 --- build.gradle | 2 +- .../customnameplates/CustomNameplates.java | 4 +- .../bungeecord/BungeeConfigManager.java | 4 +- .../bungeecord/BungeeEventListener.java | 4 +- ...sBungeeCord.java => CustomNameplates.java} | 6 +-- .../helper/VersionHelper.java | 31 +++++++++++++- .../manager/ResourceManager.java | 40 ++++++++++++++++-- src/main/resources/ResourcePack/pack.mcmeta | 1 + src/main/resources/bungee.yml | 4 +- src/main/resources/contents/images/clock.png | Bin 214 -> 954 bytes src/main/resources/contents/images/coin.png | Bin 211 -> 213 bytes .../resources/contents/images/compass.png | Bin 209 -> 236 bytes .../resources/contents/nameplates/cat.yml | 4 +- .../contents/nameplates/cat_left.png | Bin 538 -> 396 bytes .../contents/nameplates/cat_right.png | Bin 1218 -> 391 bytes .../resources/contents/nameplates/wither.yml | 4 +- .../contents/nameplates/wither_left.png | Bin 1160 -> 1150 bytes .../contents/nameplates/wither_right.png | Bin 1160 -> 1146 bytes 18 files changed, 83 insertions(+), 21 deletions(-) rename src/main/java/net/momirealms/customnameplates/bungeecord/{NameplatesBungeeCord.java => CustomNameplates.java} (91%) create mode 100644 src/main/resources/ResourcePack/pack.mcmeta diff --git a/build.gradle b/build.gradle index 5992a35..a46bccb 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ plugins { } group = 'net.momirealms' -version = '2.2.0.3-hotfix' +version = '2.2.0.4' repositories { mavenCentral() diff --git a/src/main/java/net/momirealms/customnameplates/CustomNameplates.java b/src/main/java/net/momirealms/customnameplates/CustomNameplates.java index 3fdc485..4c1695f 100644 --- a/src/main/java/net/momirealms/customnameplates/CustomNameplates.java +++ b/src/main/java/net/momirealms/customnameplates/CustomNameplates.java @@ -152,10 +152,10 @@ public final class CustomNameplates extends JavaPlugin { configManager.load(); messageManager.load(); dataManager.load(); - // image manager must before font manager + // image manager must load before font manager imageManager.load(); fontManager.load(); - // team manager must before nameplates manager + // team manager must load before nameplates manager teamManager.load(); nameplateManager.load(); chatBubblesManager.load(); diff --git a/src/main/java/net/momirealms/customnameplates/bungeecord/BungeeConfigManager.java b/src/main/java/net/momirealms/customnameplates/bungeecord/BungeeConfigManager.java index 2337881..98c423d 100644 --- a/src/main/java/net/momirealms/customnameplates/bungeecord/BungeeConfigManager.java +++ b/src/main/java/net/momirealms/customnameplates/bungeecord/BungeeConfigManager.java @@ -19,9 +19,9 @@ package net.momirealms.customnameplates.bungeecord; public class BungeeConfigManager { - private final NameplatesBungeeCord plugin; + private final CustomNameplates plugin; - public BungeeConfigManager(NameplatesBungeeCord plugin) { + public BungeeConfigManager(CustomNameplates plugin) { this.plugin = plugin; } diff --git a/src/main/java/net/momirealms/customnameplates/bungeecord/BungeeEventListener.java b/src/main/java/net/momirealms/customnameplates/bungeecord/BungeeEventListener.java index 6d9ba2f..b6219af 100644 --- a/src/main/java/net/momirealms/customnameplates/bungeecord/BungeeEventListener.java +++ b/src/main/java/net/momirealms/customnameplates/bungeecord/BungeeEventListener.java @@ -30,9 +30,9 @@ import java.util.Objects; public class BungeeEventListener implements Listener { - private final NameplatesBungeeCord plugin; + private final CustomNameplates plugin; - public BungeeEventListener (NameplatesBungeeCord plugin) { + public BungeeEventListener (CustomNameplates plugin) { this.plugin = plugin; } diff --git a/src/main/java/net/momirealms/customnameplates/bungeecord/NameplatesBungeeCord.java b/src/main/java/net/momirealms/customnameplates/bungeecord/CustomNameplates.java similarity index 91% rename from src/main/java/net/momirealms/customnameplates/bungeecord/NameplatesBungeeCord.java rename to src/main/java/net/momirealms/customnameplates/bungeecord/CustomNameplates.java index de66765..d5b689b 100644 --- a/src/main/java/net/momirealms/customnameplates/bungeecord/NameplatesBungeeCord.java +++ b/src/main/java/net/momirealms/customnameplates/bungeecord/CustomNameplates.java @@ -19,9 +19,9 @@ package net.momirealms.customnameplates.bungeecord; import net.md_5.bungee.api.plugin.Plugin; -public class NameplatesBungeeCord extends Plugin { +public class CustomNameplates extends Plugin { - public static NameplatesBungeeCord bungeePlugin; + public static CustomNameplates bungeePlugin; private BungeeEventListener bungeeEventListener; private BungeeConfigManager bungeeConfigManager; @@ -45,7 +45,7 @@ public class NameplatesBungeeCord extends Plugin { return bungeeConfigManager; } - public static NameplatesBungeeCord getPlugin() { + public static CustomNameplates getPlugin() { return bungeePlugin; } } diff --git a/src/main/java/net/momirealms/customnameplates/helper/VersionHelper.java b/src/main/java/net/momirealms/customnameplates/helper/VersionHelper.java index f48687a..dfc7f95 100644 --- a/src/main/java/net/momirealms/customnameplates/helper/VersionHelper.java +++ b/src/main/java/net/momirealms/customnameplates/helper/VersionHelper.java @@ -23,6 +23,7 @@ import net.momirealms.customnameplates.utils.AdventureUtils; import org.bukkit.Bukkit; import java.io.BufferedReader; +import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URL; @@ -35,10 +36,13 @@ public class VersionHelper { private final CustomNameplates plugin; private final String pluginVersion; private boolean isLatest; + private final int pack_format; public VersionHelper(CustomNameplates plugin) { this.plugin = plugin; this.pluginVersion = plugin.getDescription().getVersion(); + this.isVersionNewerThan1_19_R2(); + this.pack_format = getPack_format(serverVersion); } public boolean isVersionNewerThan1_19_R2() { @@ -80,12 +84,33 @@ public class VersionHelper { AdventureUtils.consoleMessage("[CustomNameplates] Latest version: " + newest); AdventureUtils.consoleMessage("[CustomNameplates] Update is available: https://polymart.org/resource/customnameplates.2543"); } - } catch (Exception exception) { + } catch (IOException e) { + isLatest = true; Log.warn("Error occurred when checking update"); } }); } + private int getPack_format(String version) { + switch (version) { + case "v1_19_R3" -> { + return 13; + } + case "v1_19_R2" -> { + return 12; + } + case "v1_19_R1" -> { + return 9; + } + case "v1_18_R1", "v1_18_R2" -> { + return 8; + } + default -> { + return 7; + } + } + } + private boolean compareVer(String newV, String currentV) { if (newV == null || currentV == null || newV.isEmpty() || currentV.isEmpty()) { return false; @@ -141,4 +166,8 @@ public class VersionHelper { public boolean isLatest() { return isLatest || !ConfigManager.checkUpdate; } + + public int getPack_format() { + return pack_format; + } } diff --git a/src/main/java/net/momirealms/customnameplates/manager/ResourceManager.java b/src/main/java/net/momirealms/customnameplates/manager/ResourceManager.java index 896d460..128990d 100644 --- a/src/main/java/net/momirealms/customnameplates/manager/ResourceManager.java +++ b/src/main/java/net/momirealms/customnameplates/manager/ResourceManager.java @@ -17,8 +17,12 @@ package net.momirealms.customnameplates.manager; -import com.google.gson.*; -import com.google.gson.stream.JsonReader; +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; +import com.google.gson.JsonPrimitive; +import io.th0rgal.oraxen.config.Settings; +import io.th0rgal.oraxen.utils.VirtualFile; +import io.th0rgal.oraxen.utils.ZipUtils; import net.momirealms.customnameplates.CustomNameplates; import net.momirealms.customnameplates.object.SimpleChar; import net.momirealms.customnameplates.object.background.BackGroundConfig; @@ -31,10 +35,16 @@ import org.apache.commons.lang.StringUtils; import org.bukkit.Bukkit; import java.io.*; +import java.math.BigInteger; import java.nio.charset.StandardCharsets; +import java.nio.file.attribute.FileTime; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; import java.util.Objects; +import java.util.zip.Deflater; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; public class ResourceManager { @@ -175,6 +185,28 @@ public class ResourceManager { String path = "ResourcePack" + File.separator + "assets" + File.separator + "minecraft" + File.separator + "textures" + File.separator + "gui" + File.separator; plugin.saveResource(path + "bars.png", true); } + setPackFormat(); + } + + private void setPackFormat() { + plugin.saveResource("ResourcePack" + File.separator + "pack.mcmeta", false); + File format_file = new File(plugin.getDataFolder(), "ResourcePack" + File.separator + "pack.mcmeta"); + String line; + StringBuilder sb = new StringBuilder(); + try (BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(format_file), StandardCharsets.UTF_8))) { + while ((line = reader.readLine()) != null) { + sb.append(line).append(System.lineSeparator()); + } + } catch (IOException e) { + e.printStackTrace(); + } + try (BufferedWriter writer = new BufferedWriter( + new OutputStreamWriter(new FileOutputStream(new File(plugin.getDataFolder(), + "ResourcePack" + File.separator + "pack.mcmeta")), StandardCharsets.UTF_8))) { + writer.write(sb.toString().replace("%version%", String.valueOf(plugin.getVersionHelper().getPack_format()))); + } catch (IOException e) { + e.printStackTrace(); + } } private void saveOffsets() { @@ -284,7 +316,7 @@ public class ResourceManager { private void hookCopy(File resourcePack_folder) { if (ConfigManager.itemsAdderHook){ try { - FileUtils.copyDirectory(resourcePack_folder, new File(Objects.requireNonNull(Bukkit.getPluginManager().getPlugin("ItemsAdder")).getDataFolder() + File.separator + "contents" + File.separator + "nameplates" + File.separator + "resourcepack") ); + FileUtils.copyDirectory(new File(resourcePack_folder, "assets"), new File(Objects.requireNonNull(Bukkit.getPluginManager().getPlugin("ItemsAdder")).getDataFolder() + File.separator + "contents" + File.separator + "nameplates" + File.separator + "resourcepack" + File.separator + "assets") ); } catch (IOException e){ e.printStackTrace(); @@ -301,4 +333,4 @@ public class ResourceManager { } } } -} +} \ No newline at end of file diff --git a/src/main/resources/ResourcePack/pack.mcmeta b/src/main/resources/ResourcePack/pack.mcmeta new file mode 100644 index 0000000..623a8a1 --- /dev/null +++ b/src/main/resources/ResourcePack/pack.mcmeta @@ -0,0 +1 @@ +{"pack":{"pack_format":%version%,"description":"CustomNameplates"}} \ No newline at end of file diff --git a/src/main/resources/bungee.yml b/src/main/resources/bungee.yml index fbf2ea5..810bd81 100644 --- a/src/main/resources/bungee.yml +++ b/src/main/resources/bungee.yml @@ -1,5 +1,5 @@ name: CustomNameplates -main: net.momirealms.customnameplates.bungeecord.Main -version: '2.0' +main: net.momirealms.customnameplates.bungeecord.CustomNameplates +version: '2.2.0.4' author: XiaoMoMi softDepends: [TAB, BungeeTabListPlus] \ No newline at end of file diff --git a/src/main/resources/contents/images/clock.png b/src/main/resources/contents/images/clock.png index 866f92405436d98be935ea5649901156d7b4f29c..1e9823971fad94590700da572ed6ad9920bba1a0 100644 GIT binary patch literal 954 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2VGmzZ%#=aj&NtU=qlmzFem6RtIr7}3CrWBycJ9RrK3_V@_T-G@y GGywoWEl!*O delta 125 zcmdnRevNU02NQ$zL@$|w|NsBD5z`(#+666;QU`ad!!pM delta 89 zcmV-f0H*)d0n-7Hfl@t5L_t(|+CjS22b@_|=a7sE v!>}bh40Yq52|qlAA&xD;4c_JV;tDVTE$jf!IYd~h00000NkvXXu0mjfz|JJ+ diff --git a/src/main/resources/contents/images/compass.png b/src/main/resources/contents/images/compass.png index 2046679971f52388fc15d19e5c4f3e4c43d30265..3eb72b4218fe1893e5e74942e4082d4cdec53150 100644 GIT binary patch delta 171 zcmcb}_=a(UXT5rWPlzi61B0HP-u?Uc{d|1fTwRwfTc)9*(b?H~_3G9B{{CI8tj|nL z{{R1PB2jjv*Dde9l@jH5hQP1}b?o?EGITd-;XQ zo>$7oMUVPY;#iKvayrK@(Lep@`0m}pdEF`b6h3pMjYnER1p8oY$52 QfyOa-y85}Sb4q9e0QMY9=Kufz delta 144 zcmaFEc#&~}XT3y#Pl)R?6O+~K>{qW|)zj1S^YK}>Y#9Rs!~g&PW%Y0509hO*L4LtN zE(kE(Yu+0P6tnhpaSW-r6?4{+k3oTh`QV}{|Nb8rvzf7DIVUH>N;S?^rc)D^Za#ZQ uZ}y%is!C1wr|fkLE_P@({6LwjslJ0WbkzLb6Mw<&;$UHEERLtq-B6ufrA-Hnq|Kzn5d{xZx-Ma;`;yZkEb)u zq=Y4yXFO$I`s3f*eNHyE|Gr#(^5_Y3|IKe-f#6+Pamuf6{|d6A&z;<{bjhs$|NqZ1 zl$HRRBvcaQ7YyX00)|KX_X`1K&w08yhE&|zbLlN#vjPw6g`g}!`)xn}>F=Hvpn!-A9Z}i*BZ2{PhEs* z<(1WoC$6-5XJJxYJ|$88lahp@YUqV!pYrZh$cRsCOxna5aY33qw<^1K>|5w9 zw|J!q%7IIE86UkdVT(iBE~Wim4Hbcw&*nV+Czil)^Q=Ubi{<1jpx+ogUHx3vIVCg! E0ArV_y#N3J delta 510 zcmeBSp2ecr8Q|y6%O%Cdz`(%k>ERLtq!mDzgBeJ=Ea^HnQBk8lA;2fZmAU^W^U@zX zw{B;i@$~E0clYMFmKCR5pOg0Q%hi9EXD(eb>)+dbx31m(_VsH)R`joL|86ZwS~+9M zwRz3YHq_1R>^*mK$N4_5CDZ3R+1P%(edfudC(q9>mlBqEI@9d`-ycBBe(kcm1+uv$ z$S?Rm3aCfnfjA5?G16}t7#LMNT^vIyZXLPwHm^lNfHffC1M}*jNX=IV_Wh48TW~}6 zOy2B&uX;NZpS=*6a<`uIH$OuFQ^O{v(?M%ynjK?!yInkC=@fp(d%u@1ZSs7-)U<%D zQKxY~OZ&3Tx(GkVYbgd1%O9!YlHDgS-Xg6Yr;hHC;+rq9J6 z*l`KS$GZl+<7O#%EFBQg$S_0d!16RhKZaL_MIW@i%gbKFKu1x{)PjZ5B5B(ERLtq-B6ufrA-Hnq|Kzn5d{;&tMkd6XN>+?~kW5 z&7_1Sm}fj?Ui#zT+kH+pw*S6dee&oDbN|h6UxDCVS#ip*Z~qFiqR*Y&v2@9-|NsBb zF_e}78YNT`3%6`-9+{il*zX5AJvTkTq=e3?YTnv3)Ntb}{Vn5iY-KJ?UGY>-95Y8+unNCMB{s*B$z@VJ>f^ z`_#&{9j9dr4?`dSMu-6Ouer!(hnU5;@jBE@wkrGwcIN28gy~W_^>gTe~DWM4f-Vduj literal 1218 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m>B|mLR^{qZ!$0av2*Ko<{3}Fetmauj%!(Q%Jn&E|Gr%P zcX{U0CA0p$-FNHS?QdVd7Gy>L`u6YElBAV0mRy_H{A@$r%+B6(CwH9h^I9@}u9J=J z$J=L~JbLo{{BkK_iKjEo{{Q^}bjc_f4S~TN0_QjC{s+2Gp(MyJ_&lo^y*qZ_-ZPyB_@;`n6LVx^~?2VLVW*e*URv z!o<5tbBiTEoOP`0j5sx~E%ij>wI|^V^m#8zewby{(EMeA=#P0%eil!b`EgoshTF=_ zFLkpRI%E0D_RW0Y?o)VX^?KfdMbAwu(>Lz!nzx|xMEgUV`Ab;-%vpZiwr}rySGFJQ zJq`Uz!MZG>4W7DPNp&m9R{8nSiM6tADZ coEsP!j!sLuEq8ZCEhr6my85}Sb4q9e0B?E`m;e9( diff --git a/src/main/resources/contents/nameplates/wither.yml b/src/main/resources/contents/nameplates/wither.yml index d12d40e..eda71a3 100644 --- a/src/main/resources/contents/nameplates/wither.yml +++ b/src/main/resources/contents/nameplates/wither.yml @@ -4,7 +4,7 @@ left: image: wither_left height: 16 ascent: 12 - width: 16 + width: 13 middle: image: wither_middle height: 16 @@ -14,4 +14,4 @@ right: image: wither_right height: 16 ascent: 12 - width: 16 \ No newline at end of file + width: 13 \ No newline at end of file diff --git a/src/main/resources/contents/nameplates/wither_left.png b/src/main/resources/contents/nameplates/wither_left.png index 4e7c30ebc650a6ff2631aae494575cf7a3793b12..4fc4e15c0423ea13e6eb0d268e056a8802af37c7 100644 GIT binary patch delta 321 zcmV-H0lxl-3H}HniBL{Q4GJ0x0000DNk~Le0000Q0000W2m=5B06TS3R52MUI9VB>dL}HRj$#RM|n#c_E3fH6XjW|22sefG5C-X3N$N6x7U#HCm8+yO4&DKFe74pDKg^j8W z&Z%U1&^{5T;xv$lPZb-cb!A34PE<1^%Z!Kzx?9OOY-(!(F1XAuFUENjb;w}N#hdKd zNP|O0p)S8Jv#o_vMuM)D0S(%FNMX_1CT-%eqU;272OrxzbNB_}&%eW4fEED&kBFMo Tdu_Pv00000NkvXXu0mjfXd{YZ delta 331 zcmV-R0kr=92#5(GiBL{Q4GJ0x0000DNk~Le0000W0000W2m=5B07RsU#<3wu1AhSs zNklCX#f9%T|2W~V5CY_qj?ySg9#>S-@iorR{)ChZv&L`2+vAk zU;$tjkvD<915D*bVDww!0>Z;6;hqlW@wEcXnGrHX^H{g2E@^Px; z0y^|u@`3%*u>!ISvKrNHA1%}Frq;SPcQq`=)s)X%P^6fnqk(;JSSRM0*dT#*tQG)& d8r~lP1^}Jlsk}___4WV&002ovPDHLkV1hXrkOKe! diff --git a/src/main/resources/contents/nameplates/wither_right.png b/src/main/resources/contents/nameplates/wither_right.png index f92ac66d3c2d0916220549b84f757db06433c15d..d78f9cd75ae212a18da1a531d207fabebf47a976 100644 GIT binary patch delta 317 zcmV-D0mA->3Hk^jiBL{Q4GJ0x0000DNk~Le0000Q0000W2m=5B06TS4kAHfGw6W&1%fQN%T5t-ivTZ|wBy&dKMo5)wE;)u9 zwKW$ysOh8SRJr^~+#ZPDYksWKK9J(D$bsGQiFhTWO1KfL(L6MEuXQMd&|PLhDP2C-Zsb1cM2f)Y_O9f(Yd8=NkKcD5_|xz37GMC+WD=Xq;VtRA P00000NkvXXu0mjf{hEq? delta 331 zcmV-R0kr=52#5(GiBL{Q4GJ0x0000DNk~Le0000W0000W2m=5B07RsU#<3wu1AhSs zNkl5U>QyaS7{u6$+TGBS+idgKHtv$!#XlCp)sKe7#w{HRKLA03i7eeYl&z dPnY*4zyN?or~DYYglqr+002ovPDHLkV1n;5h~5AI