From 4b464f0a51f5f7836c656942ff0bde9bf9038935 Mon Sep 17 00:00:00 2001 From: kirillsaint Date: Sun, 31 Dec 2023 17:07:54 +0600 Subject: [PATCH] Sounds Mod & Better Perspective --- .../java/net/silentclient/client/Client.java | 1 + .../client/mods/ModInstances.java | 7 +-- .../client/mods/player/PerspectiveMod.java | 38 +++++++++++- .../client/mods/render/ItemSizeMod.java | 17 ++++++ .../client/mods/world/SoundsMod.java | 57 ++++++++++++++++++ .../silentclient/icons/mods/itemsize.png | Bin 0 -> 11282 bytes .../silentclient/icons/mods/soundsmod.png | Bin 0 -> 3418 bytes 7 files changed, 115 insertions(+), 5 deletions(-) create mode 100644 src/main/java/net/silentclient/client/mods/render/ItemSizeMod.java create mode 100644 src/main/java/net/silentclient/client/mods/world/SoundsMod.java create mode 100755 src/main/resources/assets/minecraft/silentclient/icons/mods/itemsize.png create mode 100755 src/main/resources/assets/minecraft/silentclient/icons/mods/soundsmod.png diff --git a/src/main/java/net/silentclient/client/Client.java b/src/main/java/net/silentclient/client/Client.java index dbc247d..4f8f9c1 100644 --- a/src/main/java/net/silentclient/client/Client.java +++ b/src/main/java/net/silentclient/client/Client.java @@ -235,6 +235,7 @@ public class Client { } globalSettings.configsMigrated = true; globalSettings.save(); + new File(Minecraft.getMinecraft().mcDataDir, "SilentClient").delete(); } logger.info("STARTING > config-manager"); configManager = new ConfigManager(); diff --git a/src/main/java/net/silentclient/client/mods/ModInstances.java b/src/main/java/net/silentclient/client/mods/ModInstances.java index 16b47f3..f59c718 100644 --- a/src/main/java/net/silentclient/client/mods/ModInstances.java +++ b/src/main/java/net/silentclient/client/mods/ModInstances.java @@ -17,10 +17,7 @@ import net.silentclient.client.mods.staff.DebugNpcMod; import net.silentclient.client.mods.staff.FPSSpoofer; import net.silentclient.client.mods.staff.HitDelayFixMod; import net.silentclient.client.mods.staff.TestMod; -import net.silentclient.client.mods.world.FullBrightMod; -import net.silentclient.client.mods.world.PlayerCounterMod; -import net.silentclient.client.mods.world.TimeChangerMod; -import net.silentclient.client.mods.world.WeatherChangerMod; +import net.silentclient.client.mods.world.*; import java.util.ArrayList; import java.util.Collections; @@ -188,6 +185,8 @@ public class ModInstances { mods.add(new DonationsAlertsMod()); } mods.add(new QuickPlayMod()); + mods.add(new SoundsMod()); +// mods.add(new ItemSizeMod()); } public void postInit() { diff --git a/src/main/java/net/silentclient/client/mods/player/PerspectiveMod.java b/src/main/java/net/silentclient/client/mods/player/PerspectiveMod.java index 2587c8a..a9bbd20 100644 --- a/src/main/java/net/silentclient/client/mods/player/PerspectiveMod.java +++ b/src/main/java/net/silentclient/client/mods/player/PerspectiveMod.java @@ -7,6 +7,7 @@ import net.silentclient.client.event.EventTarget; import net.silentclient.client.event.impl.ClientTickEvent; import net.silentclient.client.event.impl.EventCameraRotation; import net.silentclient.client.event.impl.EventPlayerHeadRotation; +import net.silentclient.client.event.impl.KeyEvent; import net.silentclient.client.mods.Mod; import net.silentclient.client.mods.ModCategory; import net.silentclient.client.mods.util.Server; @@ -27,6 +28,8 @@ public class PerspectiveMod extends Mod { public void setup() { super.setup(); this.addKeybindSetting("Keybind", this, Keyboard.KEY_LMENU); + this.addBooleanSetting("Smooth Camera", this, false); + this.addBooleanSetting("Toggle Perspective", this, false); } @Override @@ -39,16 +42,47 @@ public class PerspectiveMod extends Mod { @EventTarget public void updateEvent(ClientTickEvent event) { - if(!isForceDisabled()) { + if(!isForceDisabled() && !Client.getInstance().getSettingsManager().getSettingByName(this, "Toggle Perspective").getValBoolean()) { if(Client.getInstance().getSettingsManager().getSettingByName(this, "Keybind").isKeyDown()) { start(); mc.gameSettings.thirdPersonView = 3; + if(Client.getInstance().getSettingsManager().getSettingByName(this, "Smooth Camera").getValBoolean()) { + mc.gameSettings.smoothCamera = true; + } } else { + if(Client.getInstance().getSettingsManager().getSettingByName(this, "Smooth Camera").getValBoolean()) { + mc.gameSettings.smoothCamera = false; + } stop(); } } } + + boolean toggleAllowed = false; + + @EventTarget + public void onKey(KeyEvent event) { + if(!isForceDisabled() && Client.getInstance().getSettingsManager().getSettingByName(this, "Toggle Perspective").getValBoolean()) { + if(event.getKey() == Client.getInstance().getSettingsManager().getSettingByName(this, "Keybind").getKeybind()) { + toggleAllowed = !toggleAllowed; + if(toggleAllowed) { + if(active) { + if(Client.getInstance().getSettingsManager().getSettingByName(this, "Smooth Camera").getValBoolean()) { + mc.gameSettings.smoothCamera = false; + } + stop(); + } else { + start(); + mc.gameSettings.thirdPersonView = 3; + if(Client.getInstance().getSettingsManager().getSettingByName(this, "Smooth Camera").getValBoolean()) { + mc.gameSettings.smoothCamera = true; + } + } + } + } + } + } public boolean isActive() { return this.isEnabled() && !isForceDisabled() && active; @@ -79,6 +113,7 @@ public class PerspectiveMod extends Mod { private void start() { if(!active) { + Client.logger.info("perspective active"); active = true; previousPerspective = mc.gameSettings.thirdPersonView; mc.gameSettings.thirdPersonView = 3; @@ -90,6 +125,7 @@ public class PerspectiveMod extends Mod { private void stop() { if(active) { + Client.logger.info("perspective deactive"); active = false; mc.gameSettings.thirdPersonView = previousPerspective; mc.renderGlobal.setDisplayListEntitiesDirty(); diff --git a/src/main/java/net/silentclient/client/mods/render/ItemSizeMod.java b/src/main/java/net/silentclient/client/mods/render/ItemSizeMod.java new file mode 100644 index 0000000..255ac99 --- /dev/null +++ b/src/main/java/net/silentclient/client/mods/render/ItemSizeMod.java @@ -0,0 +1,17 @@ +package net.silentclient.client.mods.render; + +import net.silentclient.client.mods.Mod; +import net.silentclient.client.mods.ModCategory; + +public class ItemSizeMod extends Mod { + public ItemSizeMod() { + super("Item Size", ModCategory.MODS, "silentclient/icons/mods/itemsize.png"); + } + + @Override + public void setup() { + this.addSliderSetting("X", this, 0.75, -1, 1, false); + this.addSliderSetting("Y", this, -0.15, -1, 1, false); + this.addSliderSetting("Z", this, -1, -1, 1, false); + } +} diff --git a/src/main/java/net/silentclient/client/mods/world/SoundsMod.java b/src/main/java/net/silentclient/client/mods/world/SoundsMod.java new file mode 100644 index 0000000..3b0cad6 --- /dev/null +++ b/src/main/java/net/silentclient/client/mods/world/SoundsMod.java @@ -0,0 +1,57 @@ +package net.silentclient.client.mods.world; + +import net.silentclient.client.Client; +import net.silentclient.client.event.EventTarget; +import net.silentclient.client.event.impl.EventPlaySound; +import net.silentclient.client.mods.Mod; +import net.silentclient.client.mods.ModCategory; + +public class SoundsMod extends Mod { + public SoundsMod() { + super("Sounds", ModCategory.MODS, "silentclient/icons/mods/soundsmod.png"); + } + + @Override + public void setup() { + this.addSliderSetting("Note", this, 100, 0, 100, true); + this.addSliderSetting("Mobs", this, 100, 0, 100, true); + this.addSliderSetting("Portal", this, 100, 0, 100, true); + this.addSliderSetting("Records", this, 100, 0, 100, true); + this.addSliderSetting("Step", this, 100, 0, 100, true); + this.addSliderSetting("TNT", this, 100, 0, 100, true); + } + + @EventTarget + public void onPlaySound(EventPlaySound event) { + float noteVolume = Client.getInstance().getSettingsManager().getSettingByName(this, "Note").getValFloat(); + float mobsVolume = Client.getInstance().getSettingsManager().getSettingByName(this, "Mobs").getValFloat(); + float recordsVolume = Client.getInstance().getSettingsManager().getSettingByName(this, "Records").getValFloat(); + float portalVolume = Client.getInstance().getSettingsManager().getSettingByName(this, "Portal").getValFloat(); + float stepVolume = Client.getInstance().getSettingsManager().getSettingByName(this, "Step").getValFloat(); + float tntVolume = Client.getInstance().getSettingsManager().getSettingByName(this, "TNT").getValFloat(); + + if(event.getSoundName().startsWith("note")) { + event.setVolume(noteVolume / 100F); + } + + if(event.getSoundName().equals("game.tnt.primed") || event.getSoundName().equals("random.explode") || event.getSoundName().equals("creeper.primed")) { + event.setVolume(tntVolume / 100F); + } + + if(event.getSoundName().contains("mob")) { + event.setVolume(mobsVolume / 100F); + } + + if(event.getSoundName().startsWith("records")) { + event.setVolume(recordsVolume / 100F); + } + + if(event.getSoundName().startsWith("step")) { + event.setVolume(stepVolume / 100F); + } + + if(event.getSoundName().startsWith("portal")) { + event.setVolume(portalVolume / 100F); + } + } +} diff --git a/src/main/resources/assets/minecraft/silentclient/icons/mods/itemsize.png b/src/main/resources/assets/minecraft/silentclient/icons/mods/itemsize.png new file mode 100755 index 0000000000000000000000000000000000000000..efd105901f99fe363bf3efa8af0cca0f9965429f GIT binary patch literal 11282 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 T_1!S--;cJYp2kNtYux_ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/minecraft/silentclient/icons/mods/soundsmod.png b/src/main/resources/assets/minecraft/silentclient/icons/mods/soundsmod.png new file mode 100755 index 0000000000000000000000000000000000000000..3c50ceaed003b9d48600730304683854d9d6e42a GIT binary patch literal 3418 zcmcImdss~C8voYJG&4&xO@pXOO{S2T42Fow>ZY4&lzDW@Wu(naM3l~!*lVg&LQWCI zF0EX)5hb+gXy=q%Dr}>hL@vA1RXizdWjkv&%{Ttr&widW&$DJd>wCZV_WOSC`+g}> zKM(dO-Y5V7+so4}fPCZHhe;>@E1lNdAzx^u=RcwVFdVIYklL1A!{la`mz(pl@3TXP zKYw0SX=|E?t5gWN_w(maUg{8+Wol|levzL%Utnz}5{drCSE8z1{!gn%I?JS~4;2(T zot{w9i|qkaDs{v|31Zvd$~fDqrs(@^s@T0dj@+(I2Y~^xqK0`#RS|eqIWUWA`smLEcxt*UE zj-je(a^FO60%t=)_7Y59zWVh2_ZQ1r&PU#vFAf9<)&n!m482BqO+VrT6S}?y@>UJ zh8INDiNi;3P+|T`6kB6Vijnv|J#WRGTjPg47LqxAjoPaf6ix8(n&~qYG`uwsM^lw+ zDP#y=rBhKkVa>01VYJ7Fn+%o!wa{5l7e(b(*8IkT6Sq4B3hC}*WE%9^7lEtx#7QL_ zUPY<@?Y!@#gDyPi_18(|n7dQni;!UaU(y9$ROqpgv?<^(yPqIXJ(aMeZ3i93-qk_8 zAH|=hbMiZ!xv%}F49TBQ6#rJ8s}9vAvnc|nDLx;yOy`(iGiZ1_urE%!_PnujNkSY1 z+HVp@i4I6y6{8a5HnuoMi@4!4+&6&d5NvxCU-iWc_S)T=k+&-jlLeaTm~A8j5<%`0 zWw1A*KE_F$yfEJbl8e_piInog7>Zl_k4Z+6`G*G`Xt*+k2WeG<;*IH?y)=zjC_&UA zjH5G%V9CG7zzz8uC`yap2~W`OB)#Bs9#9(I61%5tUzocQX0ay%N5%Vw_iEe;u`==n zAYz@k!T0Ot^pkOplwi0F2p{$aijOa**Bm*wnl)boy}6| zoq`>TA5Q1gq!61d3s-pF0~FazB6b(?&Wz9&;#YEvl7WIN;i|i*w{cnCVPuFK+U@Vb z`s_``VtebXcPwY86I`X0G7{0L3NF*6L=-gzaXjns+H7t(L$Z#z{#56Dg{yS^#>A!AhghKC%u!%rvz~q2ezmV<(OzcG$wyEl@Xurg2fMhPq*1I=$7jt3Q;OeCh;4EA={(FQ{D9zvUa`Du>ref6+gj zw8Q<8{(Zg3a;&&jnwQ1;mM?9IshKe>i9r4OrrQIxmpFD#`$+NfH4x z)yM~yE@}gmSLUGLqD98-YX|g3yb!ShF`@JFCa%`Z*+Sg0!@462FPYEMKM7;3`xwyN zTSJUauWxOqkJnE!%`x{$wWY@ECGm;o`nF93QS=2F4?BpPHbg?PGrC406zX%O{xO#p z&OgTw*y{~J^#%0|;vJ$`TK#bo%{)7l*&JG-dziX?oKVq33avy5m z&0LIPdjog!9#b8=Euxzp?6Fk9%g*$Ko#L*noS|4fBuIUQ%z2_%xh%nZmh=iY1E{w- z8??i0dm})s4Mp0fIcv@c=RZkqc6jqjkEeF;>9r>uK@NR?LE%p_z#f)ug<#v2fgrD< zw4|5;*C{(YWo`+#I9O#3ajJtl`y3p9-Yw-EP10E57^HKBMeO(oL;!p4xh2ou!8=C& z!`pSOE?z-g-#Z(+FFf-4ui+_JpZO@R@=F19FMc7)vaqjqAMDsC}f<;FFjQA&N}-_y0x)N1DgRCm$p^SLe` ze2dvovOW>v$THr8W;StaqB3DIJV|r|Wd5);4A|C;5<9NHlC^ zDMJ){jq<|O3!pxNHi_n)e8~9}s$_&f<7doW=^+BVAm(^jv)QxSm|mE9^@4=XpL?^% zVtvK4)dN=DilDLZszFX&`dV#JVb_xmp=9XcZ;mnd>)lsse6Fj}H^K${&P(ymo2c$0 zMHqLkhH5tz%evUp2TP5dn)oy>>sjS-m{FGu%)(`if$SS*LC~cyP=gF6<}Q>h|Hzu4 z-!z(#vT;8eO@~WmGieT1rQb=ybfcFSK^sjcZoPQ(%gPKLH^1$v5!8KQ`riKP4E@Fm Z6