forked from RepoMirrors/kami-blue
Merge pull request #617 from S-B99/feature/master
Update combat improvements
This commit is contained in:
commit
b4b4678933
|
@ -8,7 +8,7 @@ import me.zeroeightsix.kami.module.modules.misc.DiscordSettings;
|
|||
|
||||
import static me.zeroeightsix.kami.KamiMod.APP_ID;
|
||||
|
||||
/***
|
||||
/**
|
||||
* @author S-B99
|
||||
* Updated by S-B99 on 13/01/20
|
||||
*/
|
||||
|
|
|
@ -17,13 +17,6 @@ import me.zeroeightsix.kami.gui.rgui.util.ContainerHelper;
|
|||
import me.zeroeightsix.kami.gui.rgui.util.Docking;
|
||||
import me.zeroeightsix.kami.module.Module;
|
||||
import me.zeroeightsix.kami.module.ModuleManager;
|
||||
import me.zeroeightsix.kami.module.modules.capes.Capes;
|
||||
import me.zeroeightsix.kami.module.modules.chat.CustomChat;
|
||||
import me.zeroeightsix.kami.module.modules.gui.CleanGUI;
|
||||
import me.zeroeightsix.kami.module.modules.gui.PrefixChat;
|
||||
import me.zeroeightsix.kami.module.modules.hidden.FixGui;
|
||||
import me.zeroeightsix.kami.module.modules.misc.DiscordSettings;
|
||||
import me.zeroeightsix.kami.module.modules.render.TabFriends;
|
||||
import me.zeroeightsix.kami.setting.Setting;
|
||||
import me.zeroeightsix.kami.setting.Settings;
|
||||
import me.zeroeightsix.kami.setting.SettingsRegister;
|
||||
|
@ -199,31 +192,7 @@ public class KamiMod {
|
|||
|
||||
|
||||
try { // load modules that are on by default // autoenable
|
||||
ModuleManager.getModuleByName("InfoOverlay").setEnabled(true);
|
||||
ModuleManager.getModuleByName("InventoryViewer").setEnabled(true);
|
||||
ModuleManager.getModuleByName("ActiveModules").setEnabled(true);
|
||||
|
||||
if (((Capes) ModuleManager.getModuleByName("Capes")).startupGlobal.getValue()) {
|
||||
ModuleManager.getModuleByName("Capes").setEnabled(true);
|
||||
}
|
||||
if (((DiscordSettings) ModuleManager.getModuleByName("DiscordSettings")).startupGlobal.getValue()) {
|
||||
ModuleManager.getModuleByName("DiscordSettings").setEnabled(true);
|
||||
}
|
||||
if (((FixGui) ModuleManager.getModuleByName("Hidden:FixGui")).shouldAutoEnable.getValue()) {
|
||||
ModuleManager.getModuleByName("Hidden:FixGui").setEnabled(true);
|
||||
}
|
||||
if (((TabFriends) ModuleManager.getModuleByName("TabFriends")).startupGlobal.getValue()) {
|
||||
ModuleManager.getModuleByName("TabFriends").setEnabled(true);
|
||||
}
|
||||
if (((CustomChat) ModuleManager.getModuleByName("CustomChat")).startupGlobal.getValue()) {
|
||||
ModuleManager.getModuleByName("CustomChat").setEnabled(true);
|
||||
}
|
||||
if (((CleanGUI) ModuleManager.getModuleByName("CleanGUI")).startupGlobal.getValue()) {
|
||||
ModuleManager.getModuleByName("CleanGUI").setEnabled(true);
|
||||
}
|
||||
if (((PrefixChat) ModuleManager.getModuleByName("PrefixChat")).startupGlobal.getValue()) {
|
||||
ModuleManager.getModuleByName("PrefixChat").setEnabled(true);
|
||||
}
|
||||
ModuleManager.getModuleByName("Hidden:RunConfig").setEnabled(true);
|
||||
}
|
||||
catch (NullPointerException e) {
|
||||
KamiMod.log.error("NPE in loading always enabled modules\n");
|
||||
|
|
|
@ -63,10 +63,6 @@ public abstract class Command {
|
|||
ModuleManager.getModuleByName(moduleName).enable();
|
||||
}
|
||||
|
||||
public static void sendAutoDisableMessage(String moduleName, boolean startup) {
|
||||
if (startup) sendWarningMessage("Note: The " + moduleName + " module has automatic startup enabled. If you want to keep it disabled, disable the automatic startup setting");
|
||||
}
|
||||
|
||||
public static void sendRawChatMessage(String message) {
|
||||
if (Minecraft.getMinecraft().player != null) {
|
||||
Wrapper.getPlayer().sendMessage(new ChatMessage(message));
|
||||
|
|
|
@ -9,6 +9,8 @@ import java.util.LinkedList;
|
|||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import static me.zeroeightsix.kami.util.CommandUtil.runAliases;
|
||||
|
||||
public class CommandManager {
|
||||
|
||||
private ArrayList<Command> commands;
|
||||
|
@ -43,7 +45,11 @@ public class CommandManager {
|
|||
}
|
||||
|
||||
for (Command c : commands) {
|
||||
if (c.getLabel().equalsIgnoreCase(label) || c.getAliases().stream().anyMatch(alias -> alias.equalsIgnoreCase(label))) {
|
||||
if (c.getLabel().equalsIgnoreCase(label)) {
|
||||
c.call(parts);
|
||||
runAliases(c);
|
||||
return;
|
||||
} else if (c.getAliases().stream().anyMatch(alias -> alias.equalsIgnoreCase(label))) {
|
||||
c.call(parts);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@ import me.zeroeightsix.kami.gui.UIRenderer;
|
|||
import me.zeroeightsix.kami.gui.kami.KamiGUI;
|
||||
import me.zeroeightsix.kami.gui.rgui.component.container.use.Frame;
|
||||
import me.zeroeightsix.kami.module.ModuleManager;
|
||||
import me.zeroeightsix.kami.module.modules.gui.CommandConfig;
|
||||
import me.zeroeightsix.kami.module.modules.render.BossStack;
|
||||
import me.zeroeightsix.kami.util.KamiTessellator;
|
||||
import me.zeroeightsix.kami.util.Wrapper;
|
||||
|
@ -109,7 +110,7 @@ public class ForgeEventProcessor {
|
|||
@SubscribeEvent(priority = EventPriority.NORMAL, receiveCanceled = true)
|
||||
public void onKeyInput(InputEvent.KeyInputEvent event) {
|
||||
if (!Keyboard.getEventKeyState()) return;
|
||||
if (ModuleManager.isModuleEnabled("PrefixChat") && ("" + Keyboard.getEventCharacter()).equalsIgnoreCase(Command.getCommandPrefix()) && !(Minecraft.getMinecraft().player.isSneaking())) {
|
||||
if (((CommandConfig) ModuleManager.getModuleByName("CommandConfig")).prefixChat.getValue() && ("" + Keyboard.getEventCharacter()).equalsIgnoreCase(Command.getCommandPrefix()) && !(Minecraft.getMinecraft().player.isSneaking())) {
|
||||
Minecraft.getMinecraft().displayGuiScreen(new GuiChat(Command.getCommandPrefix()));
|
||||
} else {
|
||||
ModuleManager.onBind(Keyboard.getEventKey());
|
||||
|
|
|
@ -8,7 +8,7 @@ import org.spongepowered.asm.mixin.Mixin;
|
|||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Redirect;
|
||||
|
||||
/***
|
||||
/**
|
||||
* @author 3arthqu4ke
|
||||
* Updated by S-B99 on 27/12/19
|
||||
*/
|
||||
|
|
|
@ -2,11 +2,10 @@ package me.zeroeightsix.kami.module.modules.capes;
|
|||
|
||||
import com.google.gson.Gson;
|
||||
import me.zeroeightsix.kami.KamiMod;
|
||||
import me.zeroeightsix.kami.command.Command;
|
||||
import me.zeroeightsix.kami.util.Wrapper;
|
||||
import me.zeroeightsix.kami.module.Module;
|
||||
import me.zeroeightsix.kami.setting.Setting;
|
||||
import me.zeroeightsix.kami.setting.Settings;
|
||||
import me.zeroeightsix.kami.module.Module;
|
||||
import me.zeroeightsix.kami.util.Wrapper;
|
||||
import net.minecraft.client.entity.AbstractClientPlayer;
|
||||
import net.minecraft.client.renderer.IImageBuffer;
|
||||
import net.minecraft.client.renderer.ThreadDownloadImageData;
|
||||
|
@ -22,7 +21,7 @@ import java.util.Collections;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/***
|
||||
/**
|
||||
* @author Crystallinqq
|
||||
* Updated by S-B99 on 20/12/19
|
||||
* Updated by 20kdc on 17/02/20 - changed implementation method, made a module again, made async
|
||||
|
@ -30,7 +29,6 @@ import java.util.Map;
|
|||
*/
|
||||
@Module.Info(name = "Capes", category = Module.Category.GUI, description = "Controls the display of KAMI Blue capes", showOnArray = Module.ShowOnArray.OFF)
|
||||
public class Capes extends Module {
|
||||
public Setting<Boolean> startupGlobal = register(Settings.b("Enable Automatically", true));
|
||||
|
||||
// This allows controlling if other capes (Mojang, OptiFine) should override the KAMI Blue cape.
|
||||
public Setting<Boolean> overrideOtherCapes = Settings.b("Override Mojang / Opti capes", false);
|
||||
|
@ -153,6 +151,4 @@ public class Capes extends Module {
|
|||
textureManager.loadTexture(location, textureCape);
|
||||
}
|
||||
}
|
||||
|
||||
public void onDisable() { Command.sendAutoDisableMessage(getName(), startupGlobal.getValue()); }
|
||||
}
|
||||
|
|
|
@ -17,7 +17,6 @@ import static me.zeroeightsix.kami.KamiMod.*;
|
|||
*/
|
||||
@Module.Info(name = "CustomChat", category = Module.Category.CHAT, description = "Add a custom suffix to the end of your message!", showOnArray = Module.ShowOnArray.OFF)
|
||||
public class CustomChat extends Module {
|
||||
public Setting<Boolean> startupGlobal = register(Settings.b("Enable Automatically", true));
|
||||
public Setting<TextMode> textMode = register(Settings.e("Message", TextMode.ON_TOP));
|
||||
private Setting<DecoMode> decoMode = register(Settings.e("Separator", DecoMode.NONE));
|
||||
private Setting<Boolean> commands = register(Settings.b("Commands", false));
|
||||
|
@ -76,6 +75,4 @@ public class CustomChat extends Module {
|
|||
startTime = System.currentTimeMillis();
|
||||
}
|
||||
}
|
||||
|
||||
public void onDisable() { Command.sendAutoDisableMessage(getName(), startupGlobal.getValue()); }
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ import me.zeroeightsix.kami.util.Friends;
|
|||
import net.minecraft.client.entity.EntityOtherPlayerMP;
|
||||
import net.minecraft.entity.Entity;
|
||||
|
||||
/***
|
||||
/**
|
||||
* @author Sasha
|
||||
*/
|
||||
@Module.Info(name = "AntiFriendHit", description = "Don't hit your friends", category = Module.Category.COMBAT, alwaysListening = true)
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
package me.zeroeightsix.kami.module.modules.combat;
|
||||
|
||||
import java.util.Comparator;
|
||||
|
||||
import me.zeroeightsix.kami.command.Command;
|
||||
import me.zeroeightsix.kami.module.Module;
|
||||
import me.zeroeightsix.kami.setting.Setting;
|
||||
import me.zeroeightsix.kami.setting.Settings;
|
||||
import net.minecraft.tileentity.TileEntityBed;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
|
||||
@Module.Info(name = "BedAura", category = Module.Category.COMBAT, description = "Automatically right clicks beds in range")
|
||||
public class BedAura extends Module {
|
||||
private Setting<Integer> waitTick = register(Settings.i("Tick Delay", 10));
|
||||
private Setting<Double> range = register(Settings.d("Hit Range", 4.0D));
|
||||
|
||||
private int waitCounter;
|
||||
|
||||
public void onUpdate() {
|
||||
if (mc.player == null) return;
|
||||
|
||||
if (mc.player.dimension != 0) {
|
||||
if (waitTick.getValue() > 0) {
|
||||
if (waitCounter < waitTick.getValue()) {
|
||||
++waitCounter;
|
||||
return;
|
||||
}
|
||||
waitCounter = 0;
|
||||
}
|
||||
mc.world.loadedTileEntityList.stream()
|
||||
.filter((e) -> e instanceof TileEntityBed)
|
||||
.filter((e) -> mc.player.getPosition().getDistance(e.getPos().x, e.getPos().y, e.getPos().z) <= range.getValue())
|
||||
.map((entity) -> (TileEntityBed) entity)
|
||||
.min(Comparator.comparing((e) -> mc.player.getPosition().getDistance(e.getPos().x, e.getPos().y, e.getPos().z)))
|
||||
.ifPresent(bed -> mc.playerController.processRightClickBlock(mc.player, mc.world, bed.getPos(), EnumFacing.UP, new Vec3d(bed.getPos().getX(), bed.getPos().getY(), bed.getPos().getZ()), EnumHand.MAIN_HAND));
|
||||
} else {
|
||||
Command.sendErrorMessage(getChatName() + "Exploding beds only works in the nether and in the end, disabling!");
|
||||
disable();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -9,28 +9,24 @@ import net.minecraftforge.event.entity.player.AttackEntityEvent;
|
|||
|
||||
import java.util.function.Predicate;
|
||||
|
||||
/***
|
||||
/**
|
||||
* @author S-B99
|
||||
*/
|
||||
@Module.Info(name = "Criticals", category = Module.Category.COMBAT, description = "Always do critical attacks")
|
||||
public class Criticals extends Module {
|
||||
@EventHandler
|
||||
private Listener<AttackEntityEvent> attackEntityEventListener;
|
||||
|
||||
public Criticals() {
|
||||
this.attackEntityEventListener = new Listener<AttackEntityEvent>(event -> {
|
||||
if (!Criticals.mc.player.isInWater() && !Criticals.mc.player.isInLava()) {
|
||||
if (Criticals.mc.player.onGround) {
|
||||
Criticals.mc.player.connection.sendPacket((Packet) new CPacketPlayer.Position(Criticals.mc.player.posX, Criticals.mc.player.posY + 0.1625, Criticals.mc.player.posZ, false));
|
||||
Criticals.mc.player.connection.sendPacket((Packet) new CPacketPlayer.Position(Criticals.mc.player.posX, Criticals.mc.player.posY, Criticals.mc.player.posZ, false));
|
||||
Criticals.mc.player.connection.sendPacket((Packet) new CPacketPlayer.Position(Criticals.mc.player.posX, Criticals.mc.player.posY + 4.0E-6, Criticals.mc.player.posZ, false));
|
||||
Criticals.mc.player.connection.sendPacket((Packet) new CPacketPlayer.Position(Criticals.mc.player.posX, Criticals.mc.player.posY, Criticals.mc.player.posZ, false));
|
||||
Criticals.mc.player.connection.sendPacket((Packet) new CPacketPlayer.Position(Criticals.mc.player.posX, Criticals.mc.player.posY + 1.0E-6, Criticals.mc.player.posZ, false));
|
||||
Criticals.mc.player.connection.sendPacket((Packet) new CPacketPlayer.Position(Criticals.mc.player.posX, Criticals.mc.player.posY, Criticals.mc.player.posZ, false));
|
||||
Criticals.mc.player.connection.sendPacket((Packet) new CPacketPlayer());
|
||||
Criticals.mc.player.onCriticalHit(event.getTarget());
|
||||
}
|
||||
private Listener<AttackEntityEvent> attackEntityEventListener = new Listener<>(event -> {
|
||||
if (!mc.player.isInWater() && !mc.player.isInLava()) {
|
||||
if (mc.player.onGround) {
|
||||
mc.player.connection.sendPacket(new CPacketPlayer.Position(mc.player.posX, mc.player.posY + 0.1625, mc.player.posZ, false));
|
||||
mc.player.connection.sendPacket(new CPacketPlayer.Position(mc.player.posX, mc.player.posY, mc.player.posZ, false));
|
||||
mc.player.connection.sendPacket(new CPacketPlayer.Position(mc.player.posX, mc.player.posY + 4.0E-6, mc.player.posZ, false));
|
||||
mc.player.connection.sendPacket(new CPacketPlayer.Position(mc.player.posX, mc.player.posY, mc.player.posZ, false));
|
||||
mc.player.connection.sendPacket(new CPacketPlayer.Position(mc.player.posX, mc.player.posY + 1.0E-6, mc.player.posZ, false));
|
||||
mc.player.connection.sendPacket(new CPacketPlayer.Position(mc.player.posX, mc.player.posY, mc.player.posZ, false));
|
||||
mc.player.connection.sendPacket(new CPacketPlayer());
|
||||
mc.player.onCriticalHit(event.getTarget());
|
||||
}
|
||||
}, (Predicate<AttackEntityEvent>[]) new Predicate[0]);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -1,17 +1,15 @@
|
|||
package me.zeroeightsix.kami.module.modules.gui;
|
||||
|
||||
import me.zeroeightsix.kami.command.Command;
|
||||
import me.zeroeightsix.kami.module.Module;
|
||||
import me.zeroeightsix.kami.setting.Setting;
|
||||
import me.zeroeightsix.kami.setting.Settings;
|
||||
|
||||
/***
|
||||
/**
|
||||
* @author S-B99
|
||||
* Updated by S-B99 on 27/12/19
|
||||
*/
|
||||
@Module.Info(name = "CleanGUI", category = Module.Category.GUI, showOnArray = Module.ShowOnArray.OFF, description = "Modifies parts of the GUI to be transparent")
|
||||
public class CleanGUI extends Module {
|
||||
public Setting<Boolean> startupGlobal = register(Settings.b("Enable Automatically", true));
|
||||
public Setting<Boolean> inventoryGlobal = register(Settings.b("Inventory", false));
|
||||
public static Setting<Boolean> chatGlobal = Settings.b("Chat", true);
|
||||
|
||||
|
@ -25,6 +23,4 @@ public class CleanGUI extends Module {
|
|||
public static boolean enabled() {
|
||||
return INSTANCE.isEnabled();
|
||||
}
|
||||
|
||||
public void onDisable() { Command.sendAutoDisableMessage(getName(), startupGlobal.getValue()); }
|
||||
}
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
package me.zeroeightsix.kami.module.modules.gui;
|
||||
|
||||
import me.zeroeightsix.kami.command.Command;
|
||||
import me.zeroeightsix.kami.module.Module;
|
||||
import me.zeroeightsix.kami.setting.Setting;
|
||||
import me.zeroeightsix.kami.setting.Settings;
|
||||
|
||||
/**
|
||||
* @author S-B99
|
||||
*/
|
||||
@Module.Info(name = "CommandConfig", category = Module.Category.GUI, description = "Configures options related to commands", showOnArray = Module.ShowOnArray.OFF)
|
||||
public class CommandConfig extends Module {
|
||||
public Setting<Boolean> aliasInfo = register(Settings.b("Alias Info", true));
|
||||
public Setting<Boolean> prefixChat = register(Settings.b("PrefixChat", true));
|
||||
public void onDisable() { Command.sendDisableMessage(getName()); }
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
package me.zeroeightsix.kami.module.modules.gui;
|
||||
|
||||
import me.zeroeightsix.kami.command.Command;
|
||||
import me.zeroeightsix.kami.module.Module;
|
||||
import me.zeroeightsix.kami.setting.Setting;
|
||||
import me.zeroeightsix.kami.setting.Settings;
|
||||
|
||||
@Module.Info(name = "PrefixChat", category = Module.Category.GUI, description = "Opens chat with prefix inside when prefix is pressed.", showOnArray = Module.ShowOnArray.OFF)
|
||||
public class PrefixChat extends Module {
|
||||
public Setting<Boolean> startupGlobal = register(Settings.b("Enable Automatically", true));
|
||||
|
||||
public void onDisable() { Command.sendAutoDisableMessage(getName(), startupGlobal.getValue()); }
|
||||
}
|
|
@ -4,7 +4,7 @@ import me.zeroeightsix.kami.module.Module;
|
|||
import me.zeroeightsix.kami.setting.Setting;
|
||||
import me.zeroeightsix.kami.setting.Settings;
|
||||
|
||||
/***
|
||||
/**
|
||||
* @author S-B99
|
||||
* Created by S-B99 on 20/12/19
|
||||
* Updated by S-B99 on 22/12/19
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
package me.zeroeightsix.kami.module.modules.hidden;
|
||||
|
||||
import me.zeroeightsix.kami.module.Module;
|
||||
import me.zeroeightsix.kami.module.ModuleManager;
|
||||
import me.zeroeightsix.kami.setting.Setting;
|
||||
import me.zeroeightsix.kami.setting.Settings;
|
||||
|
||||
/**
|
||||
* @author S-B99
|
||||
* Horribly designed class for uh, running things only once.
|
||||
*/
|
||||
@Module.Info(name = "Hidden:RunConfig", category = Module.Category.HIDDEN, showOnArray = Module.ShowOnArray.OFF, description = "Default manager for first runs")
|
||||
public class RunConfig extends Module {
|
||||
private Setting<Boolean> hasRunCapes = register(Settings.b("Capes", false));
|
||||
private Setting<Boolean> hasRunDiscordSettings = register(Settings.b("DiscordSettings", false));
|
||||
private Setting<Boolean> hasRunFixGui = register(Settings.b("FixGui", false));
|
||||
private Setting<Boolean> hasRunTabFriends = register(Settings.b("TabFriends", false));
|
||||
private Setting<Boolean> hasRunCustomChat = register(Settings.b("CustomChat", false));
|
||||
|
||||
public void onEnable() {
|
||||
ModuleManager.getModuleByName("InfoOverlay").setEnabled(true);
|
||||
ModuleManager.getModuleByName("ActiveModules").setEnabled(true);
|
||||
ModuleManager.getModuleByName("InventoryViewer").setEnabled(true);
|
||||
ModuleManager.getModuleByName("CommandConfig").setEnabled(true);
|
||||
|
||||
if (!hasRunCapes.getValue()) {
|
||||
ModuleManager.getModuleByName("Capes").setEnabled(true);
|
||||
hasRunCapes.setValue(true);
|
||||
}
|
||||
if (!hasRunDiscordSettings.getValue()) {
|
||||
ModuleManager.getModuleByName("DiscordSettings").setEnabled(true);
|
||||
hasRunDiscordSettings.setValue(true);
|
||||
}
|
||||
if (!hasRunFixGui.getValue()) {
|
||||
ModuleManager.getModuleByName("Hidden:FixGui").setEnabled(true);
|
||||
hasRunFixGui.setValue(true);
|
||||
}
|
||||
if (!hasRunTabFriends.getValue()) {
|
||||
ModuleManager.getModuleByName("TabFriends").setEnabled(true);
|
||||
hasRunTabFriends.setValue(true);
|
||||
}
|
||||
if (!hasRunCustomChat.getValue()) {
|
||||
ModuleManager.getModuleByName("CustomChat").setEnabled(true);
|
||||
hasRunCustomChat.setValue(true);
|
||||
}
|
||||
disable();
|
||||
}
|
||||
}
|
|
@ -14,7 +14,7 @@ import io.netty.buffer.Unpooled;
|
|||
import net.minecraft.network.PacketBuffer;
|
||||
import net.minecraft.network.play.client.CPacketCustomPayload;
|
||||
|
||||
/***
|
||||
/**
|
||||
* Created by 0x2E | PretendingToCode
|
||||
*/
|
||||
@Module.Info(name = "BeaconSelector", category = Module.Category.MISC, description = "Choose any of the 5 beacon effects regardless of beacon base height")
|
||||
|
|
|
@ -15,8 +15,6 @@ import static me.zeroeightsix.kami.util.InfoCalculator.playerDimension;
|
|||
*/
|
||||
@Module.Info(name = "DiscordSettings", category = Module.Category.MISC, description = "Discord Rich Presence")
|
||||
public class DiscordSettings extends Module {
|
||||
|
||||
public Setting<Boolean> startupGlobal = register(Settings.b("Enable Automatically", true));
|
||||
public Setting<Boolean> coordsConfirm = register(Settings.b("Coords Confirm", false));
|
||||
public Setting<LineInfo> line1Setting = register(Settings.e("Line 1 Left", LineInfo.VERSION)); // details left
|
||||
public Setting<LineInfo> line3Setting = register(Settings.e("Line 1 Right", LineInfo.USERNAME)); // details right
|
||||
|
@ -71,6 +69,4 @@ public class DiscordSettings extends Module {
|
|||
startTime = System.currentTimeMillis();
|
||||
}
|
||||
}
|
||||
|
||||
public void onDisable() { Command.sendAutoDisableMessage(getName(), startupGlobal.getValue()); }
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import me.zeroeightsix.kami.setting.Settings;
|
|||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.world.GameType;
|
||||
|
||||
/***
|
||||
/**
|
||||
* Created by @S-B99 on 20/11/19
|
||||
* Yes, this is 100% original code. Go away
|
||||
*/
|
||||
|
|
|
@ -4,18 +4,33 @@ import me.zero.alpine.listener.EventHandler;
|
|||
import me.zero.alpine.listener.Listener;
|
||||
import me.zeroeightsix.kami.event.events.PacketEvent;
|
||||
import me.zeroeightsix.kami.module.Module;
|
||||
import me.zeroeightsix.kami.setting.Setting;
|
||||
import me.zeroeightsix.kami.setting.Settings;
|
||||
import net.minecraft.network.play.client.CPacketEntityAction;
|
||||
import net.minecraft.network.play.client.CPacketPlayer;
|
||||
|
||||
import static net.minecraft.network.play.client.CPacketEntityAction.Action.START_SPRINTING;
|
||||
import static net.minecraft.network.play.client.CPacketEntityAction.Action.STOP_SPRINTING;
|
||||
|
||||
/**
|
||||
* Created by 086 on 8/04/2018.
|
||||
* Movement taken from Seppuku
|
||||
* https://github.com/seppukudevelopment/seppuku/blob/005e2da/src/main/java/me/rigamortis/seppuku/impl/module/player/NoHungerModule.java
|
||||
*/
|
||||
@Module.Info(name = "AntiHunger", category = Module.Category.MOVEMENT, description = "Reduces hunger lost when moving around")
|
||||
public class AntiHunger extends Module {
|
||||
private Setting<Boolean> cancelMovementState = register(Settings.b("Cancel Movement State", true));
|
||||
|
||||
@EventHandler
|
||||
public Listener<PacketEvent.Send> packetListener = new Listener<>(event -> {
|
||||
if (event.getPacket() instanceof CPacketEntityAction) {
|
||||
final CPacketEntityAction packet = (CPacketEntityAction) event.getPacket();
|
||||
if (cancelMovementState.getValue() && (packet.getAction() == START_SPRINTING || packet.getAction() == STOP_SPRINTING)) {
|
||||
event.cancel();
|
||||
}
|
||||
}
|
||||
if (event.getPacket() instanceof CPacketPlayer) {
|
||||
((CPacketPlayer) event.getPacket()).onGround = false;
|
||||
((CPacketPlayer) event.getPacket()).onGround = mc.player.fallDistance > 0 || mc.playerController.isHittingBlock;
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -1,17 +1,13 @@
|
|||
package me.zeroeightsix.kami.module.modules.render;
|
||||
|
||||
import me.zeroeightsix.kami.KamiMod;
|
||||
import me.zeroeightsix.kami.command.Command;
|
||||
import me.zeroeightsix.kami.module.Module;
|
||||
import me.zeroeightsix.kami.setting.Setting;
|
||||
import me.zeroeightsix.kami.setting.Settings;
|
||||
import me.zeroeightsix.kami.util.Friends;
|
||||
import net.minecraft.client.network.NetworkPlayerInfo;
|
||||
import net.minecraft.scoreboard.ScorePlayerTeam;
|
||||
|
||||
@Module.Info(name = "TabFriends", description = "Highlights friends in the tab menu", category = Module.Category.GUI, showOnArray = Module.ShowOnArray.OFF)
|
||||
public class TabFriends extends Module {
|
||||
public Setting<Boolean> startupGlobal = register(Settings.b("Enable Automatically", true));
|
||||
|
||||
public static TabFriends INSTANCE;
|
||||
|
||||
|
@ -24,6 +20,4 @@ public class TabFriends extends Module {
|
|||
if (Friends.isFriend(dname)) return String.format("%sa%s", KamiMod.colour, dname);
|
||||
return dname;
|
||||
}
|
||||
|
||||
public void onDisable() { Command.sendAutoDisableMessage(getName(), startupGlobal.getValue()); }
|
||||
}
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
package me.zeroeightsix.kami.util;
|
||||
|
||||
import me.zeroeightsix.kami.command.Command;
|
||||
import me.zeroeightsix.kami.module.ModuleManager;
|
||||
import me.zeroeightsix.kami.module.modules.gui.CommandConfig;
|
||||
|
||||
/**
|
||||
* @author S-B99
|
||||
*/
|
||||
public class CommandUtil {
|
||||
public static void runAliases(Command command) {
|
||||
if (!((CommandConfig) ModuleManager.getModuleByName("CommandConfig")).aliasInfo.getValue()) return;
|
||||
int amount = command.getAliases().size();
|
||||
if (amount > 0) {
|
||||
Command.sendChatMessage("'" + command.getLabel() + "' has " + grammar1(amount) + "alias" + grammar2(amount));
|
||||
Command.sendChatMessage(command.getAliases().toString());
|
||||
}
|
||||
}
|
||||
|
||||
private static String grammar1(int amount) {
|
||||
if (amount == 1) return "an ";
|
||||
return amount + " ";
|
||||
}
|
||||
|
||||
private static String grammar2(int amount) {
|
||||
if (amount == 1) return "!";
|
||||
return "es!";
|
||||
}
|
||||
}
|
|
@ -7,7 +7,7 @@ import javax.net.ssl.HttpsURLConnection;
|
|||
import java.io.InputStreamReader;
|
||||
import java.net.URL;
|
||||
|
||||
/***
|
||||
/**
|
||||
* @author S-B99
|
||||
*/
|
||||
public class RichPresence {
|
||||
|
|
Loading…
Reference in New Issue