-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Всех приветствую видел сливали под 3.1 ну, а кто все еще сидит на 2.0 держите
После этого кода нам надо добавить еще один в ContainerScreen по пути net.minecraft.client.gui.screen.inventory
Этот код вставляйте примерно на 260-270 строку
Как вы все сделали можете радоваться у вас в крутой пасте есть AuctionHelper
AuctionHelper:
package wtf.flash.modules.impl.util;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import java.util.Iterator;
import net.minecraft.client.gui.screen.Screen;
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;
import wtf.flash.events.Event;
import wtf.flash.modules.Function;
import wtf.flash.modules.FunctionAnnotation;
import wtf.flash.modules.Type;
import wtf.flash.modules.settings.Setting;
import wtf.flash.modules.settings.imp.BooleanOption;
@FunctionAnnotation(
name = "AuctionHelper",
type = Type.Util
)
public class AuctionHelper extends Function {
public BooleanOption three = new BooleanOption("Подсвечивать слоты", false);
float x = 0.0F;
float y = 0.0F;
float x2 = 0.0F;
float y2 = 0.0F;
float x3 = 0.0F;
float y3 = 0.0F;
public AuctionHelper() {
this.addSettings(new Setting[]{this.three});
}
public boolean onEvent(Event event) {
Screen var3 = mc.currentScreen;
if (var3 instanceof ChestScreen e) {
if (!e.getTitle().getString().contains("Аукцион") && !e.getTitle().getString().contains("Поиск:")) {
this.setX(0.0F);
this.setX2(0.0F);
this.setX3(0.0F);
} else {
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;
Iterator var11 = container.inventorySlots.iterator();
while(var11.hasNext()) {
Slot slot = (Slot)var11.next();
if (slot.slotNumber <= 44) {
int currentPrice = this.extractPriceFromStack(slot.getStack());
if (currentPrice != -1 && currentPrice < fsPrice) {
fsPrice = currentPrice;
slot1 = slot;
}
if (this.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 {
this.setX2(0.0F);
this.setX3(0.0F);
}
}
}
if (slot1 != null) {
this.setX((float)slot1.xPos);
this.setY((float)slot1.yPos);
}
if (slot2 != null) {
this.setX2((float)slot2.xPos);
this.setY2((float)slot2.yPos);
}
if (slot3 != null) {
this.setX3((float)slot3.xPos);
this.setY3((float)slot3.yPos);
}
}
} else {
this.setX(0.0F);
this.setX2(0.0F);
this.setX3(0.0F);
}
return false;
}
protected int extractPriceFromStack(ItemStack stack) {
CompoundNBT tag = stack.getTag();
JsonParser pis = new JsonParser();
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 = pis.parse(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;
}
public BooleanOption getThree() {
return this.three;
}
public float getX() {
return this.x;
}
public float getY() {
return this.y;
}
public float getX2() {
return this.x2;
}
public float getY2() {
return this.y2;
}
public float getX3() {
return this.x3;
}
public float getY3() {
return this.y3;
}
public void setThree(BooleanOption three) {
this.three = three;
}
public void setX(float x) {
this.x = x;
}
public void setY(float y) {
this.y = y;
}
public void setX2(float x2) {
this.x2 = x2;
}
public void setY2(float y2) {
this.y2 = y2;
}
public void setX3(float x3) {
this.x3 = x3;
}
public void setY3(float y3) {
this.y3 = y3;
}
}
ContainerScreen:
AuctionHelper helper = Managment.FUNCTION_MANAGER.auctionHelper;
if (helper.isState() && helper.three.get() && helper.getX() != 0.0F) {
int x = (int)helper.getX();
int y = (int)helper.getY();
fill(matrixStack, x, y, x + 16, y + 16, ColorUtil.rgba(64, 255, 64, 3));
int x3;
int y3;
if (helper.getX2() != 0.0F) {
x3 = (int)helper.getX2();
y3 = (int)helper.getY2();
fill(matrixStack, x3, y3, x3 + 16, y3 + 16, ColorUtil.rgba(255, 255, 64, 3));
}
if (helper.getX3() != 0.0F) {
x3 = (int)helper.getX3();
y3 = (int)helper.getY3();
fill(matrixStack, x3, y3, x3 + 16, y3 + 16, ColorUtil.rgba(255, 64, 64, 3));
}
}
Как вы все сделали можете радоваться у вас в крутой пасте есть AuctionHelper