Skip to content

Commit

Permalink
new code!1
Browse files Browse the repository at this point in the history
  • Loading branch information
Mjaucher committed Apr 8, 2022
1 parent 18d41a8 commit f115fba
Show file tree
Hide file tree
Showing 30 changed files with 238 additions and 97 deletions.
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,5 @@ __Credits:__ https://en.wikipedia.org/wiki/Trollface
- __Multi Task__ Allows you to eat while breaking a block.
- __No Interact__ Disable _Interaction_ with interactive blocks.
- __NoSwing__ Removes all hand _Swings_.
- __ScreenWalk__ Allows you to perform actions when you are dead or in sleep _Screen_.
- __Prefix__ Custom Meteor Client _Prefix_ with more customizations.
- __Tick Shift__ Timer = 2.0 frfrfr
7 changes: 6 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
plugins {
id 'fabric-loom' version '0.10-SNAPSHOT'
id 'org.jetbrains.kotlin.jvm' version '1.6.10'
id 'org.jetbrains.kotlin.jvm' version '1.6.20'
}

repositories {
Expand All @@ -25,6 +25,11 @@ dependencies {
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
modImplementation "net.fabricmc:fabric-language-kotlin:${project.kotlin_fabric}"
modImplementation "meteordevelopment:meteor-client:${project.meteor_version}"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:${project.kotlinx_coroutines}"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:${project.kotlinx_coroutines}"
implementation "org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:${project.kotlinx_serialization}"
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:${project.kotlinx_serialization}"
implementation "org.jetbrains.kotlinx:kotlinx-serialization-cbor-jvm:${project.kotlinx_serialization}"
implementation "org.jetbrains.kotlin:kotlin-reflect:${project.kotlin_jetbrains}"
implementation "org.jetbrains.kotlin:kotlin-stdlib:${project.kotlin_jetbrains}"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:${project.kotlin_jetbrains}"
Expand Down
6 changes: 4 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,7 @@ archives_base_name=Silivia
mod_version=V1
meteor_version=0.4.7
maven_group=dummy.package
kotlin_fabric=1.7.1+kotlin.1.6.10
kotlin_jetbrains=1.6.10
kotlin_fabric=1.7.2+kotlin.1.6.20
kotlin_jetbrains=1.6.20
kotlinx_coroutines=1.6.0
kotlinx_serialization=1.3.2
2 changes: 1 addition & 1 deletion src/main/java/me/meowcher/silivia/mixins/RenderTick.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@
@Inject(method = "beginRenderTick", at = @At(value = "FIELD", target = "Lnet/minecraft/client/render/RenderTickCounter;prevTimeMillis:J"))
public void beginRenderTick(long timeMillis, CallbackInfoReturnable<Integer> CIReturnable)
{
lastFrameDuration *= URender.Companion.getTick();
lastFrameDuration *= URender.Companion.getTimer();
}
}
22 changes: 22 additions & 0 deletions src/main/kotlin/me/meowcher/silivia/core/Global.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package me.meowcher.silivia.core

import net.minecraft.client.MinecraftClient
import net.minecraft.client.gui.hud.InGameHud
import net.minecraft.client.network.ClientPlayNetworkHandler
import net.minecraft.client.network.ClientPlayerEntity
import net.minecraft.client.network.ClientPlayerInteractionManager
import net.minecraft.client.option.GameOptions
import net.minecraft.client.world.ClientWorld
import net.minecraft.entity.player.PlayerInventory

interface Global
{
val minecraft : MinecraftClient get() = MinecraftClient.getInstance()
val player : ClientPlayerEntity? get() = minecraft.player
val world : ClientWorld? get() = minecraft.world
val options: GameOptions get() = minecraft.options
val network : ClientPlayNetworkHandler? get() = minecraft.networkHandler
val inventory : PlayerInventory? get() = player?.inventory
val hud : InGameHud get() = minecraft.inGameHud
val interaction: ClientPlayerInteractionManager? get() = minecraft.interactionManager
}
20 changes: 16 additions & 4 deletions src/main/kotlin/me/meowcher/silivia/core/Implements.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package me.meowcher.silivia.core

import me.meowcher.silivia.impl.autokit.AutoKit
import me.meowcher.silivia.impl.autologin.AutoLogin
import me.meowcher.silivia.impl.changer.Changer
import me.meowcher.silivia.impl.fakekick.FakeKick
import me.meowcher.silivia.impl.killeffects.KillEffects
import me.meowcher.silivia.impl.multitask.MultiTask
Expand All @@ -18,17 +19,28 @@ class Implements
{
companion object
{
private fun modInitialize(vararg Features : Module?)
private fun modsInitialize(vararg Features : Module?)
{
for (modules in Features)
{
Modules.get().add(modules)
}
}
fun modules()
fun modsInitialize()
{
modInitialize(KillEffects(), NoInteract(), NightMode(), AutoLogin(), NoSwing(),
MultiTask(), TickShift(), FakeKick(), AutoKit(), Prefix(), ScreenWalk()
modsInitialize(
KillEffects(),
ScreenWalk(),
NoInteract(),
NightMode(),
AutoLogin(),
MultiTask(),
TickShift(),
FakeKick(),
NoSwing(),
Changer(),
AutoKit(),
Prefix(),
)
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/main/kotlin/me/meowcher/silivia/core/Initializer.kt
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class Initializer : MeteorAddon()
MeteorClient.EVENT_BUS.registerLambdaFactory("me.meowcher.silivia") { lookupInMethod : Method, klass :
Class<*>? -> lookupInMethod.invoke(null, klass, MethodHandles.lookup()) as MethodHandles.Lookup }

Implements.modules()
Implements.modsInitialize()
}
override fun onRegisterCategories()
{
Expand Down
6 changes: 3 additions & 3 deletions src/main/kotlin/me/meowcher/silivia/impl/autokit/AutoKit.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package me.meowcher.silivia.impl.autokit

import me.meowcher.silivia.core.Global
import me.meowcher.silivia.core.Initializer
import me.meowcher.silivia.utils.chat.UMessages
import meteordevelopment.meteorclient.events.packets.PacketEvent.Receive
Expand All @@ -8,15 +9,14 @@ import meteordevelopment.meteorclient.settings.*
import meteordevelopment.orbit.EventHandler
import net.minecraft.network.packet.s2c.play.PlayerRespawnS2CPacket

class AutoKit : Module(Initializer.Category, "auto-kit", "Takes Kit after your death.")
class AutoKit : Global, Module(Initializer.Category, "auto-kit", "Takes Kit after your death.")
{
private val group = settings.defaultGroup
private val kitName = group.add(StringSetting.Builder().name("kit-name").defaultValue("").build())

@EventHandler private fun onPacketReceiveEvent(Event : Receive)
{
if (Event.packet is PlayerRespawnS2CPacket
&& mc.player!!.health == 0f)
if (Event.packet is PlayerRespawnS2CPacket && player!!.health == 0f)
{
UMessages.doSend("/kit " + kitName.get())
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
package me.meowcher.silivia.impl.autologin

import me.meowcher.silivia.core.Global
import me.meowcher.silivia.core.Initializer
import me.meowcher.silivia.utils.chat.UMessages
import meteordevelopment.meteorclient.events.world.TickEvent.Post
import meteordevelopment.meteorclient.settings.*
import meteordevelopment.meteorclient.systems.modules.Module
import meteordevelopment.orbit.EventHandler

class AutoLogin : Module(Initializer.Category, "auto-login", "Enters password after logging in to server.")
class AutoLogin : Global, Module(Initializer.Category, "auto-login", "Enters password after logging in to server.")
{
private val group = settings.defaultGroup
private val password : Setting<String> = group.add(StringSetting.Builder().name("Password").defaultValue("").build())
private val password = group.add(StringSetting.Builder().name("Password").defaultValue("").build())
private var num = 0 // 😳😳😳

override fun onActivate()
Expand All @@ -20,7 +21,7 @@ class AutoLogin : Module(Initializer.Category, "auto-login", "Enters password af

@EventHandler private fun onTickPostEvent(Event : Post)
{
if (mc.world != null && num == 1)
if (world != null && num == 1)
{
UMessages.doSend("/login " + password.get())
num = 0
Expand Down
76 changes: 76 additions & 0 deletions src/main/kotlin/me/meowcher/silivia/impl/changer/Changer.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
package me.meowcher.silivia.impl.changer

import me.meowcher.silivia.core.Global
import me.meowcher.silivia.core.Initializer
import meteordevelopment.meteorclient.events.world.TickEvent.Post
import meteordevelopment.meteorclient.settings.BoolSetting
import meteordevelopment.meteorclient.settings.DoubleSetting
import meteordevelopment.meteorclient.settings.EnumSetting
import meteordevelopment.meteorclient.settings.IntSetting
import meteordevelopment.meteorclient.systems.modules.Module
import meteordevelopment.orbit.EventHandler


class Changer : Global, Module(Initializer.Category, "changer", "Enters password after logging in to server.")
{
private val defaultGroup = settings.defaultGroup
private var fpsMax = defaultGroup.add(IntSetting.Builder().name("fps-max").defaultValue(120).sliderRange(0, 180).build())
private var fovValue = defaultGroup.add(DoubleSetting.Builder().name("fov-value").defaultValue(120.0).min(0.0).sliderMax(360.0).build())
private var gammaValue = defaultGroup.add(DoubleSetting.Builder().name("gamma").defaultValue(666.0).min(0.0).sliderMax(999.0).build())
private var experienceGroup = settings.createGroup("Experience Bar Settings")
private var experience = experienceGroup.add(BoolSetting.Builder().name("experience-bar").defaultValue(false).build())
private var levelNumber = experienceGroup.add(IntSetting.Builder().name("level").defaultValue(99).sliderRange(0, 250).visible{experience.get()}.build())
private var progressBar = experienceGroup.add(DoubleSetting.Builder().name("progress").defaultValue(1.0).min(0.0).sliderMax(1.0).visible{experience.get()}.build())
private var weatherGroup = settings.createGroup("Weather Settings")
private var weather = weatherGroup.add(BoolSetting.Builder().name("weather").defaultValue(false).build())
private var weatherChoice = weatherGroup.add(EnumSetting.Builder().name("weather-choice").defaultValue(WeatherEnum.Clear).visible{weather.get()}.build())
private var gradientValue = weatherGroup.add(DoubleSetting.Builder().name("gradient-value").defaultValue(0.0).min(0.0).sliderMax(4.0).visible{weather.get()}.build())

private var fps = 0
private var level = 0
private var fov = 0.0
private var progress = 0F
private var gamma = 0.0

override fun onActivate()
{
fov = options.fov
fps = options.maxFps
gamma = options.gamma
level = player!!.experienceLevel
progress = player!!.experienceProgress
}

override fun onDeactivate()
{
options.fov = fov
options.maxFps = fps
options.gamma = gamma
player!!.experienceLevel = level
player!!.experienceProgress = progress
}

@EventHandler private fun onTickPostEvent(Event : Post)
{
if (options.fov != fovValue.get()) options.fov = fovValue.get()
if (options.maxFps != fpsMax.get()) options.maxFps = fpsMax.get()
if (options.gamma != gammaValue.get()) options.gamma = gammaValue.get()

player!!.setExperience(progressBar.get().toFloat(), 0, levelNumber.get())

if (weather.get())
{
val gradient = if (weatherChoice.get() == WeatherEnum.Rain) gradientValue.get().toFloat() else 0F

world?.levelProperties?.isRaining = (gradient > 0F)
world?.setRainGradient(gradient)
world?.setThunderGradient(0F)
}
}

enum class WeatherEnum
{
Rain,
Clear
}
}
5 changes: 3 additions & 2 deletions src/main/kotlin/me/meowcher/silivia/impl/fakekick/FakeKick.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package me.meowcher.silivia.impl.fakekick

import me.meowcher.silivia.core.Global
import me.meowcher.silivia.core.Initializer
import meteordevelopment.meteorclient.events.world.TickEvent.Post
import meteordevelopment.meteorclient.settings.*
Expand All @@ -8,7 +9,7 @@ import meteordevelopment.orbit.EventHandler
import net.minecraft.network.packet.s2c.play.DisconnectS2CPacket
import net.minecraft.text.LiteralText

class FakeKick : Module(Initializer.Category, "fake-kick", "Automatic disconnect with Fake reason.")
class FakeKick : Global, Module(Initializer.Category, "fake-kick", "Automatic disconnect with Fake reason.")
{
private val group = settings.defaultGroup
private var disconnectReason = group.add(EnumSetting.Builder().name("message").description("Disconnect message.").defaultValue(KickEnum.Intex).build())
Expand Down Expand Up @@ -36,7 +37,7 @@ class FakeKick : Module(Initializer.Category, "fake-kick", "Automatic disconnect
else -> customMessage.get()
}

mc.player?.networkHandler?.onDisconnect(DisconnectS2CPacket(LiteralText(disconnectMessage)))
network?.onDisconnect(DisconnectS2CPacket(LiteralText(disconnectMessage)))
if (autoToggle.get()) toggle()
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package me.meowcher.silivia.impl.killeffects

import me.meowcher.silivia.core.Global
import me.meowcher.silivia.core.Initializer
import me.meowcher.silivia.utils.world.USpawn
import meteordevelopment.meteorclient.events.world.TickEvent.Post
Expand All @@ -11,7 +12,7 @@ import net.minecraft.entity.LightningEntity
import net.minecraft.entity.player.PlayerEntity
import net.minecraft.particle.ParticleTypes

class KillEffects : Module(Initializer.Category, "kill-effects", "Shows Effects after Death.")
class KillEffects : Global, Module(Initializer.Category, "kill-effects", "Shows Effects after Death.")
{
private var group = settings.defaultGroup
private var thunderGroup = settings.createGroup("Thunder Settings")
Expand All @@ -32,9 +33,9 @@ class KillEffects : Module(Initializer.Category, "kill-effects", "Shows Effects

@EventHandler private fun onTickPostEvent(Event : Post)
{
for (entity in mc.world!!.entities)
for (entity in world!!.entities)
{
if (entity is PlayerEntity && mc.player!!.distanceTo(entity) < range.get())
if (entity is PlayerEntity && player!!.distanceTo(entity) < range.get())
{
if (0 < entity.health) spawnEffectsEnd = true
if (spawnEffectsEnd && entity.health <= 0F) addEffects(entity.x, entity.y, entity.z)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
package me.meowcher.silivia.impl.multitask

import me.meowcher.silivia.core.Global
import me.meowcher.silivia.core.Initializer
import me.meowcher.silivia.events.BreakingBlock
import me.meowcher.silivia.events.UsingItem
import meteordevelopment.meteorclient.systems.modules.Module
import meteordevelopment.orbit.EventHandler

class MultiTask : Module(Initializer.Category, "multi-task", "Allows you to eat while breaking a block.")
class MultiTask : Global, Module(Initializer.Category, "multi-task", "Allows you to eat while breaking a block.")
{
private var yes = false // deception

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package me.meowcher.silivia.impl.nightmode

import me.meowcher.silivia.core.Global
import me.meowcher.silivia.core.Initializer
import me.meowcher.silivia.utils.world.UAmbience
import net.minecraft.network.packet.s2c.play.WorldTimeUpdateS2CPacket
Expand All @@ -9,7 +10,7 @@ import meteordevelopment.meteorclient.systems.modules.Module
import meteordevelopment.meteorclient.settings.*
import meteordevelopment.orbit.EventHandler

class NightMode : Module(Initializer.Category, "night-mode", "Allows you to switch Game Time.")
class NightMode : Global, Module(Initializer.Category, "night-mode", "Allows you to switch Game Time.")
{
private val group = settings.defaultGroup
private var status = group.add(EnumSetting.Builder().name("status").defaultValue(StatusEnum.Static).build())
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package me.meowcher.silivia.impl.nointeract

import me.meowcher.silivia.core.Global
import me.meowcher.silivia.core.Initializer
import me.meowcher.silivia.utils.world.UBlock
import meteordevelopment.meteorclient.events.packets.PacketEvent.Send
Expand All @@ -12,7 +13,7 @@ import net.minecraft.block.ShulkerBoxBlock
import net.minecraft.network.packet.c2s.play.PlayerInteractBlockC2SPacket
import net.minecraft.util.math.BlockPos

class NoInteract : Module(Initializer.Category, "no-interact", "Clicks disabler.")
class NoInteract : Global, Module(Initializer.Category, "no-interact", "Clicks disabler.")
{
// rewrite soon
private var miscellaneousGroup = settings.createGroup("Miscellaneous Settings")
Expand Down
12 changes: 6 additions & 6 deletions src/main/kotlin/me/meowcher/silivia/impl/noswing/NoSwing.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package me.meowcher.silivia.impl.noswing

import me.meowcher.silivia.core.Global
import me.meowcher.silivia.core.Initializer
import meteordevelopment.meteorclient.events.packets.PacketEvent.Receive
import meteordevelopment.meteorclient.events.world.TickEvent.Post
Expand All @@ -8,7 +9,7 @@ import meteordevelopment.meteorclient.systems.modules.Module
import meteordevelopment.orbit.EventHandler
import net.minecraft.network.packet.s2c.play.EntityAnimationS2CPacket

class NoSwing : Module(Initializer.Category, "no-swing", "Removes all hand Swings.")
class NoSwing : Global, Module(Initializer.Category, "no-swing", "Removes all hand Swings.")
{
private val group = settings.defaultGroup
private var noServerSwing = group.add(BoolSetting.Builder().name("no-server")
Expand All @@ -24,10 +25,9 @@ class NoSwing : Module(Initializer.Category, "no-swing", "Removes all hand Swing

@EventHandler private fun onTickPostEvent(Event : Post)
{
val pl = mc.player!!
pl.handSwinging = false
pl.handSwingProgress = 0F
pl.lastHandSwingProgress = 0F
pl.handSwingTicks = 0
player!!.handSwinging = false
player!!.handSwingProgress = 0F
player!!.lastHandSwingProgress = 0F
player!!.handSwingTicks = 0
}
}
3 changes: 2 additions & 1 deletion src/main/kotlin/me/meowcher/silivia/impl/prefix/Prefix.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package me.meowcher.silivia.impl.prefix

import me.meowcher.silivia.core.Global
import me.meowcher.silivia.core.Initializer
import me.meowcher.silivia.core.Reference
import meteordevelopment.meteorclient.settings.*
Expand All @@ -9,7 +10,7 @@ import net.minecraft.text.LiteralText
import net.minecraft.text.TextColor
import net.minecraft.util.Formatting.*

class Prefix : Module(Initializer.Category, "prefix", "Custom Meteor Client Prefix with more customizations.")
class Prefix : Global, Module(Initializer.Category, "prefix", "Custom Meteor Client Prefix with more customizations.")
{
private val group = settings.defaultGroup
private var colorGroup = settings.createGroup("Color Settings")
Expand Down
Loading

0 comments on commit f115fba

Please sign in to comment.