Исходник AuctionHelper FunTime exp 3.1 ready

Начинающий
Статус
Оффлайн
Регистрация
26 Янв 2024
Сообщения
73
Реакции[?]
1
Поинты[?]
1K

Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:

  • бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
  • маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
  • приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
  • обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.

Спасибо!

Функция очень даже прикольная, но не в одной фришке не видал, так что решил сделать
Пожалуйста, авторизуйтесь для просмотра ссылки.

Java:
/**
*@author Ieo117
*@created 02.06.2024
*/
@ Getter
@ Setter
/* Ес чо вместо Util используйте Misc или что вам надо */
@FunctionRegister(name = "AuctionHelper", type = Category.Util)
public class AhHelper extends Function {

public BooleanSetting three = new BooleanSetting("Подсвечивать 3 слота", true );

public AhHelper(){
addSettings(three);
}
float x = 0;
float y = 0;
float x2 = 0;
float y2 = 0;
float x3 = 0;
float y3 = 0;
@Subscribe
public void onUpdate(EventUpdate update){
if(mc.currentScreen instanceof ChestScreen e) {
if (e.getTitle().getString().contains("Аукцион") || e.getTitle().getString().contains("Поиск:")) {

Container container = e.getContainer();
Slot slot1 = null;
Slot slot2 = null;
Slot slot3 = null;
int fsPrice = Integer.MAX_VALUE;
int medPrice = Integer.MAX_VALUE;
int thPrice = Integer.MAX_VALUE;

boolean b = false;
for (Slot slot : container.inventorySlots) {
if (slot.slotNumber > 44) {
continue;
}
int currentPrice = extractPriceFromStack(slot.getStack());
if (currentPrice != - 1 && currentPrice < fsPrice) {
fsPrice = currentPrice;
slot1 = slot;

}
if(three.get()) {
if (currentPrice != - 1 && currentPrice < medPrice && currentPrice > fsPrice) {
medPrice = currentPrice;
slot2 = slot;
}
if (currentPrice != - 1 && currentPrice < thPrice && currentPrice > medPrice) {
thPrice = currentPrice;
slot3 = slot;
}
} else {
setX2(0);
setX3(0);
}

}

if (slot1 != null) {
setX(slot1.xPos);
setY(slot1.yPos);
}
if (slot2 != null) {
setX2(slot2.xPos);
setY2(slot2.yPos);
}
if (slot3 != null) {
setX3(slot3.xPos);
setY3(slot3.yPos);
}
}
else {
setX(0);
setX2(0);
setX3(0);
}
}
else{
setX(0);
setX2(0);
setX3(0);
}
}

protected int extractPriceFromStack(ItemStack stack) {
CompoundNBT tag = stack.getTag();

if (tag != null && tag.contains("display", 10)) {
CompoundNBT display = tag.getCompound("display");

if (display.contains("Lore", 9)) {
ListNBT lore = display.getList("Lore", 8);

for (int j = 0; j < lore.size(); ++j) {
JsonObject object = JsonParser.parseString(lore.getString(j)).getAsJsonObject();

if (object.has("extra")) {
JsonArray array = object.getAsJsonArray("extra");

if (array.size() > 2) {
JsonObject title = array.get(1).getAsJsonObject();

if (title.get("text").getAsString().trim().toLowerCase().contains("ценa")) {
String line = array.get(2).getAsJsonObject().get("text").getAsString().trim().substring(1).replaceAll(" ", "");

return Integer.parseInt(line);
}
}
}
}
}
}

return -1;
}
}
потом идёте в класс ContainerScreen по директории net.minecraft.client.gui.screen.inventory

и на 297 строчке вставляете это
под конец войда moveItems
Java:
/* Вместо FullMyst свой основной класс (к примеру Expensive)*/
FunctionRegistry functionRegistry = FullMyst.getInstance().getFunctionRegistry();
AhHelper helper = functionRegistry.getAhHelper();
if(helper.isState()) {
if (helper.getX() != 0) {
int x = (int) helper.getX();
int y = (int) helper.getY();
/* Самый дешёвый*/
fill(matrixStack, x, y, x + 16, y + 16, ColorUtils.rgba(64, 255, 64, (int)3.75f));
/* Второй по цене*/
if (helper.getX2() != 0) {
int x2 = (int) helper.getX2();
int y2 = (int) helper.getY2();
fill(matrixStack, x2, y2, x2 + 16, y2 + 16, ColorUtils.rgba(255, 255, 64, (int) 3.75f));
}
/* и ластовый красный */
if (helper.getX3() != 0) {
int x3 = (int) helper.getX3();
int y3 = (int) helper.getY3();
fill(matrixStack, x3, y3, x3 + 16, y3 + 16, ColorUtils.rgba(255, 64, 64, (int) 3.75f));
}
}
}
(перед Getter и Setter уберите пробелы:)
 
Последнее редактирование:
Начинающий
Статус
Онлайн
Регистрация
29 Апр 2023
Сообщения
731
Реакции[?]
4
Поинты[?]
5K
Функция очень даже прикольная, но не в одной фришке не видал, так что решил сделать
Пожалуйста, авторизуйтесь для просмотра ссылки.

Java:
/**
*@author Ieo117
*@created 02.06.2024
*/
@ Getter
@ Setter
/* Ес чо вместо Util используйте Misc или что вам надо */
@FunctionRegister(name = "AuctionHelper", type = Category.Util)
public class AhHelper extends Function {

public BooleanSetting three = new BooleanSetting("Подсвечивать 3 слота", true );

public AhHelper(){
addSettings(three);
}
float x = 0;
float y = 0;
float x2 = 0;
float y2 = 0;
float x3 = 0;
float y3 = 0;
@Subscribe
public void onUpdate(EventUpdate update){
if(mc.currentScreen instanceof ChestScreen e) {
if (e.getTitle().getString().contains("Аукцион") || e.getTitle().getString().contains("Поиск:")) {

Container container = e.getContainer();
Slot slot1 = null;
Slot slot2 = null;
Slot slot3 = null;
int fsPrice = Integer.MAX_VALUE;
int medPrice = Integer.MAX_VALUE;
int thPrice = Integer.MAX_VALUE;

boolean b = false;
for (Slot slot : container.inventorySlots) {
if (slot.slotNumber > 44) {
continue;
}
int currentPrice = extractPriceFromStack(slot.getStack());
if (currentPrice != - 1 && currentPrice < fsPrice) {
fsPrice = currentPrice;
slot1 = slot;

}
if(three.get()) {
if (currentPrice != - 1 && currentPrice < medPrice && currentPrice > fsPrice) {
medPrice = currentPrice;
slot2 = slot;
}
if (currentPrice != - 1 && currentPrice < thPrice && currentPrice > medPrice) {
thPrice = currentPrice;
slot3 = slot;
}
} else {
setX2(0);
setX3(0);
}

}

if (slot1 != null) {
setX(slot1.xPos);
setY(slot1.yPos);
}
if (slot2 != null) {
setX2(slot2.xPos);
setY2(slot2.yPos);
}
if (slot3 != null) {
setX3(slot3.xPos);
setY3(slot3.yPos);
}
}
else {
setX(0);
setX2(0);
setX3(0);
}
}
else{
setX(0);
setX2(0);
setX3(0);
}
}

protected int extractPriceFromStack(ItemStack stack) {
CompoundNBT tag = stack.getTag();

if (tag != null && tag.contains("display", 10)) {
CompoundNBT display = tag.getCompound("display");

if (display.contains("Lore", 9)) {
ListNBT lore = display.getList("Lore", 8);

for (int j = 0; j < lore.size(); ++j) {
JsonObject object = JsonParser.parseString(lore.getString(j)).getAsJsonObject();

if (object.has("extra")) {
JsonArray array = object.getAsJsonArray("extra");

if (array.size() > 2) {
JsonObject title = array.get(1).getAsJsonObject();

if (title.get("text").getAsString().trim().toLowerCase().contains("ценa")) {
String line = array.get(2).getAsJsonObject().get("text").getAsString().trim().substring(1).replaceAll(" ", "");

return Integer.parseInt(line);
}
}
}
}
}
}

return -1;
}
}
потом идёте в класс ContainerScreen по директории net.minecraft.client.gui.screen.inventory

и на 340 строчке вставляете это
Java:
/* Вместо FullMyst свой основной класс (к примеру Expensive)*/
FunctionRegistry functionRegistry = FullMyst.getInstance().getFunctionRegistry();
AhHelper helper = functionRegistry.getAhHelper();
if(helper.isState()) {
if (helper.getX() != 0) {
int x = (int) helper.getX();
int y = (int) helper.getY();
/* Самый дешёвый*/
fill(matrixStack, x, y, x + 16, y + 16, ColorUtils.rgba(64, 255, 64, (int)3.75f));
/* Второй по цене*/
if (helper.getX2() != 0) {
int x2 = (int) helper.getX2();
int y2 = (int) helper.getY2();
fill(matrixStack, x2, y2, x2 + 16, y2 + 16, ColorUtils.rgba(255, 255, 64, (int) 3.75f));
}
/* и ластовый красный */
if (helper.getX3() != 0) {
int x3 = (int) helper.getX3();
int y3 = (int) helper.getY3();
fill(matrixStack, x3, y3, x3 + 16, y3 + 16, ColorUtils.rgba(255, 64, 64, (int) 3.75f));
}
}
}
(перед Getter и Setter уберите пробелы:)
харош,была бы у меня роль пользователь,влепил бы лайк
 
Начинающий
Статус
Онлайн
Регистрация
8 Мар 2024
Сообщения
638
Реакции[?]
2
Поинты[?]
2K
Функция очень даже прикольная, но не в одной фришке не видал, так что решил сделать
Пожалуйста, авторизуйтесь для просмотра ссылки.

Java:
/**
*@author Ieo117
*@created 02.06.2024
*/
@ Getter
@ Setter
/* Ес чо вместо Util используйте Misc или что вам надо */
@FunctionRegister(name = "AuctionHelper", type = Category.Util)
public class AhHelper extends Function {

public BooleanSetting three = new BooleanSetting("Подсвечивать 3 слота", true );

public AhHelper(){
addSettings(three);
}
float x = 0;
float y = 0;
float x2 = 0;
float y2 = 0;
float x3 = 0;
float y3 = 0;
@Subscribe
public void onUpdate(EventUpdate update){
if(mc.currentScreen instanceof ChestScreen e) {
if (e.getTitle().getString().contains("Аукцион") || e.getTitle().getString().contains("Поиск:")) {

Container container = e.getContainer();
Slot slot1 = null;
Slot slot2 = null;
Slot slot3 = null;
int fsPrice = Integer.MAX_VALUE;
int medPrice = Integer.MAX_VALUE;
int thPrice = Integer.MAX_VALUE;

boolean b = false;
for (Slot slot : container.inventorySlots) {
if (slot.slotNumber > 44) {
continue;
}
int currentPrice = extractPriceFromStack(slot.getStack());
if (currentPrice != - 1 && currentPrice < fsPrice) {
fsPrice = currentPrice;
slot1 = slot;

}
if(three.get()) {
if (currentPrice != - 1 && currentPrice < medPrice && currentPrice > fsPrice) {
medPrice = currentPrice;
slot2 = slot;
}
if (currentPrice != - 1 && currentPrice < thPrice && currentPrice > medPrice) {
thPrice = currentPrice;
slot3 = slot;
}
} else {
setX2(0);
setX3(0);
}

}

if (slot1 != null) {
setX(slot1.xPos);
setY(slot1.yPos);
}
if (slot2 != null) {
setX2(slot2.xPos);
setY2(slot2.yPos);
}
if (slot3 != null) {
setX3(slot3.xPos);
setY3(slot3.yPos);
}
}
else {
setX(0);
setX2(0);
setX3(0);
}
}
else{
setX(0);
setX2(0);
setX3(0);
}
}

protected int extractPriceFromStack(ItemStack stack) {
CompoundNBT tag = stack.getTag();

if (tag != null && tag.contains("display", 10)) {
CompoundNBT display = tag.getCompound("display");

if (display.contains("Lore", 9)) {
ListNBT lore = display.getList("Lore", 8);

for (int j = 0; j < lore.size(); ++j) {
JsonObject object = JsonParser.parseString(lore.getString(j)).getAsJsonObject();

if (object.has("extra")) {
JsonArray array = object.getAsJsonArray("extra");

if (array.size() > 2) {
JsonObject title = array.get(1).getAsJsonObject();

if (title.get("text").getAsString().trim().toLowerCase().contains("ценa")) {
String line = array.get(2).getAsJsonObject().get("text").getAsString().trim().substring(1).replaceAll(" ", "");

return Integer.parseInt(line);
}
}
}
}
}
}

return -1;
}
}
потом идёте в класс ContainerScreen по директории net.minecraft.client.gui.screen.inventory

и на 297 строчке вставляете это
под конец войда moveItems
Java:
/* Вместо FullMyst свой основной класс (к примеру Expensive)*/
FunctionRegistry functionRegistry = FullMyst.getInstance().getFunctionRegistry();
AhHelper helper = functionRegistry.getAhHelper();
if(helper.isState()) {
if (helper.getX() != 0) {
int x = (int) helper.getX();
int y = (int) helper.getY();
/* Самый дешёвый*/
fill(matrixStack, x, y, x + 16, y + 16, ColorUtils.rgba(64, 255, 64, (int)3.75f));
/* Второй по цене*/
if (helper.getX2() != 0) {
int x2 = (int) helper.getX2();
int y2 = (int) helper.getY2();
fill(matrixStack, x2, y2, x2 + 16, y2 + 16, ColorUtils.rgba(255, 255, 64, (int) 3.75f));
}
/* и ластовый красный */
if (helper.getX3() != 0) {
int x3 = (int) helper.getX3();
int y3 = (int) helper.getY3();
fill(matrixStack, x3, y3, x3 + 16, y3 + 16, ColorUtils.rgba(255, 64, 64, (int) 3.75f));
}
}
}
(перед Getter и Setter уберите пробелы:)
+rep ,всё отлично робит
 
Начинающий
Статус
Оффлайн
Регистрация
7 Мар 2024
Сообщения
294
Реакции[?]
6
Поинты[?]
4K
Java:
 public void setX(float value) {
        this.x = value;
    }

    public void setY(float value) {
        this.y = value;
    }

    public void setX2(float value) {
        this.x2 = value;
    }

    public void setY2(float value) {
        this.y2 = value;
    }

    public void setX3(float value) {
        this.x3 = value;
    }

    public void setY3(float value) {
        this.y3 = value;
    }

    public float getX() {
        return x;
    }

    public float getY() {
        return y;
    }

    public float getX2() {
        return x2;
    }

    public float getY2() {
        return y2;
    }

    public float getX3() {
        
        return x3;
    }

    public float getY3() {
        
        return y3;
    }
:roflanEbalo:
 
Начинающий
Статус
Оффлайн
Регистрация
8 Фев 2024
Сообщения
126
Реакции[?]
0
Поинты[?]
0
Java:
 public void setX(float value) {
        this.x = value;
    }

    public void setY(float value) {
        this.y = value;
    }

    public void setX2(float value) {
        this.x2 = value;
    }

    public void setY2(float value) {
        this.y2 = value;
    }

    public void setX3(float value) {
        this.x3 = value;
    }

    public void setY3(float value) {
        this.y3 = value;
    }

    public float getX() {
        return x;
    }

    public float getY() {
        return y;
    }

    public float getX2() {
        return x2;
    }

    public float getY2() {
        return y2;
    }

    public float getX3() {
       
        return x3;
    }

    public float getY3() {
       
        return y3;
    }
:roflanEbalo:
лучший
 
Забаненный
Статус
Оффлайн
Регистрация
10 Май 2023
Сообщения
827
Реакции[?]
9
Поинты[?]
3K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
package fun.ellant.functions.impl.player;

import com.google.common.eventbus.Subscribe;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import fun.ellant.events.EventUpdate;
import fun.ellant.functions.api.Category;
import fun.ellant.functions.api.Function;
import fun.ellant.functions.api.FunctionRegister;
import fun.ellant.functions.settings.impl.BooleanSetting;
import lombok.Getter;
import lombok.Setter;
import net.minecraft.client.gui.screen.inventory.ChestScreen;
import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.container.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.nbt.ListNBT;
 
Похожие темы
Сверху Снизу