-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
пастите на здоровье:
package im.expensive.functions.impl.misc;
import com.google.common.eventbus.Subscribe;
//import im.expensive.events.EventPacket;
//import im.expensive.events.EventUpdate;
//import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.utils.SoundUtils;
import net.minecraft.client.gui.screen.inventory.ChestScreen;
import net.minecraft.client.gui.screen.inventory.ContainerScreen;
import net.minecraft.inventory.container.ClickType;
import net.minecraft.network.play.client.CPlayerTryUseItemPacket;
import net.minecraft.network.play.server.SChatPacket;
import net.minecraft.network.play.server.SJoinGamePacket;
import net.minecraft.util.Hand;
import net.minecraft.util.text.TextFormatting;
import im.expensive.functions.api.Function;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.utils.client.ClientUtil;
import im.expensive.utils.client.IMinecraft;
import im.expensive.utils.JoinerUtil;
import im.expensive.utils.misc.TimerUtil;
//import im.expensive.events.Event;
import im.expensive.utils.paste.EventPacket;
import im.expensive.utils.paste.EventUpdate;
import net.minecraftforge.eventbus.api.Event;
//import im.expensive.modules.FunctionAnnotation;
//import im.expensive.modules.Type;
/**
[LIST]
[*][USER=35246]@Author[/USER] dedinside
[*][USER=30931]@since[/USER] 02.07.2023
[/LIST]
*/
@FunctionRegister(name = "RW Joiner", type = Category.Misc)
public class REJOINER extends Function {
private final SliderSetting griefSelection = new SliderSetting("Номер грифа", 1, 1, 42, 1);
private final TimerUtil timerUtil = new TimerUtil();
public REJOINER() {
addSettings(griefSelection);
}
@Override
//@Subscribe
public boolean onEnable() {
JoinerUtil.selectCompass();
IMinecraft.mc.player.connection.sendPacket(new CPlayerTryUseItemPacket(Hand.MAIN_HAND));
super.onEnable();
return false;
}
@Subscribe
public void onEvent(Event event) {
if (event instanceof EventUpdate) {
handleEventUpdate();
}
if (event instanceof EventPacket eventPacket) {
if (eventPacket.getPacket() instanceof SJoinGamePacket) {
try {
if (IMinecraft.mc.ingameGUI.getTabList().header == null) {
return;
}
String string = TextFormatting.getTextWithoutFormattingCodes(IMinecraft.mc.ingameGUI.getTabList().header.getString());
if (!string.contains("Lobby")) {
return;
}
String string2 = "Вы успешно зашли на " + griefSelection.getValue().intValue() + " гриф!";
ClientUtil.sendMesage(string2);
SoundUtils.playSound(1, 1);
this.toggle();
} catch (Exception ignored) {
}
}
if (eventPacket.getPacket() instanceof SChatPacket packet) {
String message = TextFormatting.getTextWithoutFormattingCodes(packet.getChatComponent().getString());
if (message.contains("К сожалению сервер переполнен")
|| message.contains("Подождите 20 секунд!")
|| message.contains("большой поток игроков")) {
JoinerUtil.selectCompass();
IMinecraft.mc.player.connection.sendPacket(new CPlayerTryUseItemPacket(Hand.MAIN_HAND));
}
}
}
}
private void handleEventUpdate() {
if (IMinecraft.mc.currentScreen == null) {
if (IMinecraft.mc.player.ticksExisted < 5)
IMinecraft.mc.player.connection.sendPacket(new CPlayerTryUseItemPacket(Hand.MAIN_HAND));
} else if (IMinecraft.mc.currentScreen instanceof ChestScreen) {
try {
int numberGrief = griefSelection.getValue().intValue();
ContainerScreen container = (ContainerScreen) IMinecraft.mc.currentScreen;
for (int i = 0; i < container.getContainer().inventorySlots.size(); i++) {
String s = container.getContainer().inventorySlots.get(i).getStack().getDisplayName().getString();
if (ClientUtil.isConnectedToServer("reallyworld")) {
if (s.contains("ГРИФЕРСКОЕ ВЫЖИВАНИЕ (1.16.5-1.20.4)")) {
if (timerUtil.hasTimeElapsed(50)) {
IMinecraft.mc.playerController.windowClick(IMinecraft.mc.player.openContainer.windowId, i, 0, ClickType.PICKUP, IMinecraft.mc.player);
timerUtil.reset();
}
}
}
if (s.contains("ГРИФ #" + numberGrief + " (1.16.5)")) {
if (timerUtil.hasTimeElapsed(50)) {
IMinecraft.mc.playerController.windowClick(IMinecraft.mc.player.openContainer.windowId, i, 0, ClickType.PICKUP, IMinecraft.mc.player);
timerUtil.reset();
}
}
}
} catch (Exception ignored) {
}
}
}
}
3.создаём в папке paste EventPacket и EventUpdate
EventPacket Code:
package im.expensive.utils.paste;
import net.minecraft.network.IPacket;
import net.minecraftforge.eventbus.api.Event;
//import im.shield.events.Event;
public class EventPacket extends Event {
private IPacket packet;
private final PacketType packetType;
public EventPacket(IPacket packet, PacketType packetType) {
this.packet = packet;
this.packetType = packetType;
}
public IPacket getPacket() {
return packet;
}
public void setPacket(IPacket packet) {
this.packet = packet;
}
public boolean isReceivePacket() {
return this.packetType == PacketType.RECEIVE;
}
public boolean isSendPacket() {
return this.packetType == PacketType.SEND;
}
public enum PacketType {
SEND, RECEIVE
}
}
EventUpdate Code:
package im.expensive.utils.paste;
//import ru.shield.events.Event;
//import static net.optifine.reflect.Reflector.Event;
import net.minecraftforge.eventbus.api.Event;
public class EventUpdate extends Event {
}
JoinerUtil CODE:
package im.expensive.utils;
import im.expensive.utils.client.IMinecraft;
import net.minecraft.item.Items;
import net.minecraft.network.play.client.CHeldItemChangePacket;
import im.expensive.utils.player.InventoryUtil;
/**
[LIST]
[*][USER=35246]@Author[/USER] dedinside
[*][USER=30931]@since[/USER] 02.07.2023
[/LIST]
*/
public class JoinerUtil implements IMinecraft {
public static void selectCompass() {
int slot = InventoryUtil.getHotBarSlot(Items.COMPASS);
if (slot == -1) {
return;
}
mc.player.inventory.currentItem = slot;
mc.player.connection.sendPacket(new CHeldItemChangePacket(slot));
}
}
TimerUtil CODE:
package im.expensive.utils.misc;
public class TimerUtil {
public long lastMS = System.currentTimeMillis();
public void reset() {
lastMS = System.currentTimeMillis();
}
public boolean hasTimeElapsed(long time, boolean reset) {
if (System.currentTimeMillis() - lastMS > time) {
if (reset) reset();
return true;
}
return false;
}
public long getLastMS() {
return this.lastMS;
}
public void setLastMC() {
lastMS = System.currentTimeMillis();
}
public boolean hasTimeElapsed(long time) {
return System.currentTimeMillis() - lastMS > time;
}
public long getTime() {
return System.currentTimeMillis() - lastMS;
}
public void setTime(long time) {
lastMS = time;
}
}
Event Code:
package im.expensive.events;
public class Event {
public boolean isCancel;
public boolean isCancel() {
return isCancel;
}
public void setCancel(boolean cancel) {
this.isCancel = cancel;
}
}
SoundUtils CODE;):
package im.expensive.utils;
import im.expensive.utils.client.IMinecraft;
import net.minecraft.util.SoundEvents;
/**
[LIST]
[*][USER=35246]@Author[/USER] dedinside
[*][USER=30931]@since[/USER] 27.06.2023
[/LIST]
*/
public class SoundUtils implements IMinecraft {
public static void playSound(float pitch, float volume) {
if (mc.player == null)
return;
mc.player.playSound(SoundEvents.BLOCK_NOTE_BLOCK_PLING, volume, pitch);
}
}
по вопросам дс: recode.class
меняю тему уже 10 раз
Последнее редактирование: