Часть функционала 1.21 fabric подсказки для чата при .

Начинающий
Статус
Оффлайн
Регистрация
16 Сен 2023
Сообщения
103
Реакции[?]
4
Поинты[?]
5K
Выберите загрузчик игры
Fabric

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

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

Спасибо!

хз насколько говнокод, но вот так вот:

код:
import com.mojang.brigadier.context.StringRange;
import com.mojang.brigadier.suggestion.Suggestion;
import com.mojang.brigadier.suggestion.Suggestions;
import net.minecraft.client.gui.screen.ChatInputSuggestor;
import net.minecraft.client.gui.widget.TextFieldWidget;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CompletableFuture;

@Mixin(ChatInputSuggestor.class)
public class CommandSuggestorMixin {

    [USER=8455]@Shadow[/USER] [USER=346354]@FINAL[/USER]
    TextFieldWidget textField;

    [USER=8455]@Shadow[/USER] private CompletableFuture<Suggestions> pendingSuggestions;

    @Inject(method = "refresh", at = @At("HEAD"), cancellable = true)
    private void onRefresh(CallbackInfo ci) {
        String text = textField.getText();
        
        if (text.startsWith(".")) {
            List<Suggestion> suggestions = new ArrayList<>();
            StringRange range = StringRange.at(text.length());
            
            if (text.equals(".")) {
                suggestions.add(new Suggestion(range, "gps off"));
                suggestions.add(new Suggestion(range, "gps <x> <z>"));
            }
            
            if (!suggestions.isEmpty()) {
                this.pendingSuggestions = CompletableFuture.completedFuture(
                    new Suggestions(range, suggestions)
                );
                ((ChatInputSuggestor)(Object)this).show(true);
                ci.cancel();
            }
        }
    }
}
1740055896977.png
кстати это 1 тема с fabric после очищения всего
 
Danq Client
Начинающий
Статус
Оффлайн
Регистрация
23 Апр 2024
Сообщения
559
Реакции[?]
2
Поинты[?]
2K
хз насколько говнокод, но вот так вот:

код:
import com.mojang.brigadier.context.StringRange;
import com.mojang.brigadier.suggestion.Suggestion;
import com.mojang.brigadier.suggestion.Suggestions;
import net.minecraft.client.gui.screen.ChatInputSuggestor;
import net.minecraft.client.gui.widget.TextFieldWidget;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CompletableFuture;

@Mixin(ChatInputSuggestor.class)
public class CommandSuggestorMixin {

    [USER=8455]@Shadow[/USER] [USER=346354]@FINAL[/USER]
    TextFieldWidget textField;

    [USER=8455]@Shadow[/USER] private CompletableFuture<Suggestions> pendingSuggestions;

    @Inject(method = "refresh", at = @At("HEAD"), cancellable = true)
    private void onRefresh(CallbackInfo ci) {
        String text = textField.getText();
       
        if (text.startsWith(".")) {
            List<Suggestion> suggestions = new ArrayList<>();
            StringRange range = StringRange.at(text.length());
           
            if (text.equals(".")) {
                suggestions.add(new Suggestion(range, "gps off"));
                suggestions.add(new Suggestion(range, "gps <x> <z>"));
            }
           
            if (!suggestions.isEmpty()) {
                this.pendingSuggestions = CompletableFuture.completedFuture(
                    new Suggestions(range, suggestions)
                );
                ((ChatInputSuggestor)(Object)this).show(true);
                ci.cancel();
            }
        }
    }
}
Посмотреть вложение 299080
кстати это 1 тема с fabric после очищения всего
легко, но полезно
 
Начинающий
Статус
Оффлайн
Регистрация
3 Май 2023
Сообщения
682
Реакции[?]
4
Поинты[?]
4K
хз насколько говнокод, но вот так вот:

код:
import com.mojang.brigadier.context.StringRange;
import com.mojang.brigadier.suggestion.Suggestion;
import com.mojang.brigadier.suggestion.Suggestions;
import net.minecraft.client.gui.screen.ChatInputSuggestor;
import net.minecraft.client.gui.widget.TextFieldWidget;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CompletableFuture;

@Mixin(ChatInputSuggestor.class)
public class CommandSuggestorMixin {

    [USER=8455]@Shadow[/USER] [USER=346354]@FINAL[/USER]
    TextFieldWidget textField;

    [USER=8455]@Shadow[/USER] private CompletableFuture<Suggestions> pendingSuggestions;

    @Inject(method = "refresh", at = @At("HEAD"), cancellable = true)
    private void onRefresh(CallbackInfo ci) {
        String text = textField.getText();
       
        if (text.startsWith(".")) {
            List<Suggestion> suggestions = new ArrayList<>();
            StringRange range = StringRange.at(text.length());
           
            if (text.equals(".")) {
                suggestions.add(new Suggestion(range, "gps off"));
                suggestions.add(new Suggestion(range, "gps <x> <z>"));
            }
           
            if (!suggestions.isEmpty()) {
                this.pendingSuggestions = CompletableFuture.completedFuture(
                    new Suggestions(range, suggestions)
                );
                ((ChatInputSuggestor)(Object)this).show(true);
                ci.cancel();
            }
        }
    }
}
Посмотреть вложение 299080
кстати это 1 тема с fabric после очищения всего
не сложно делается но для пастеров на фабрике будет шикардос
 
Начинающий
Статус
Онлайн
Регистрация
10 Ноя 2023
Сообщения
231
Реакции[?]
0
Поинты[?]
1K
хз насколько говнокод, но вот так вот:

код:
import com.mojang.brigadier.context.StringRange;
import com.mojang.brigadier.suggestion.Suggestion;
import com.mojang.brigadier.suggestion.Suggestions;
import net.minecraft.client.gui.screen.ChatInputSuggestor;
import net.minecraft.client.gui.widget.TextFieldWidget;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CompletableFuture;

@Mixin(ChatInputSuggestor.class)
public class CommandSuggestorMixin {

    [USER=8455]@Shadow[/USER] [USER=346354]@FINAL[/USER]
    TextFieldWidget textField;

    [USER=8455]@Shadow[/USER] private CompletableFuture<Suggestions> pendingSuggestions;

    @Inject(method = "refresh", at = @At("HEAD"), cancellable = true)
    private void onRefresh(CallbackInfo ci) {
        String text = textField.getText();
       
        if (text.startsWith(".")) {
            List<Suggestion> suggestions = new ArrayList<>();
            StringRange range = StringRange.at(text.length());
           
            if (text.equals(".")) {
                suggestions.add(new Suggestion(range, "gps off"));
                suggestions.add(new Suggestion(range, "gps <x> <z>"));
            }
           
            if (!suggestions.isEmpty()) {
                this.pendingSuggestions = CompletableFuture.completedFuture(
                    new Suggestions(range, suggestions)
                );
                ((ChatInputSuggestor)(Object)this).show(true);
                ci.cancel();
            }
        }
    }
}
Посмотреть вложение 299080
кстати это 1 тема с fabric после очищения всего
мне заплатили эвелон и рома не вообще так то годна
 
Начинающий
Статус
Оффлайн
Регистрация
8 Май 2024
Сообщения
33
Реакции[?]
0
Поинты[?]
0
хз насколько говнокод, но вот так вот:

код:
import com.mojang.brigadier.context.StringRange;
import com.mojang.brigadier.suggestion.Suggestion;
import com.mojang.brigadier.suggestion.Suggestions;
import net.minecraft.client.gui.screen.ChatInputSuggestor;
import net.minecraft.client.gui.widget.TextFieldWidget;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CompletableFuture;

@Mixin(ChatInputSuggestor.class)
public class CommandSuggestorMixin {

    [USER=8455]@Shadow[/USER] [USER=346354]@FINAL[/USER]
    TextFieldWidget textField;

    [USER=8455]@Shadow[/USER] private CompletableFuture<Suggestions> pendingSuggestions;

    @Inject(method = "refresh", at = @At("HEAD"), cancellable = true)
    private void onRefresh(CallbackInfo ci) {
        String text = textField.getText();
       
        if (text.startsWith(".")) {
            List<Suggestion> suggestions = new ArrayList<>();
            StringRange range = StringRange.at(text.length());
           
            if (text.equals(".")) {
                suggestions.add(new Suggestion(range, "gps off"));
                suggestions.add(new Suggestion(range, "gps <x> <z>"));
            }
           
            if (!suggestions.isEmpty()) {
                this.pendingSuggestions = CompletableFuture.completedFuture(
                    new Suggestions(range, suggestions)
                );
                ((ChatInputSuggestor)(Object)this).show(true);
                ci.cancel();
            }
        }
    }
}
Посмотреть вложение 299080
кстати это 1 тема с fabric после очищения всего
какая есть база на 1.21.1 фабрик?
 
Сверху Снизу