Вопрос Нет метода mc.playerController | 1.16.5 ForgeGradle 6.0

Начинающий
Статус
Оффлайн
Регистрация
8 Фев 2024
Сообщения
9
Реакции[?]
0
Поинты[?]
0

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

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

Спасибо!

У меня на фордже 1.16.5 FG6.0+ в классе мс Minecraft.getInstance() нет метода playerController, как быть?

(Хотел сделать чест стиллер, джаву знаю, а вот с форджем только вчера познакомился)


Мой build.gradle:
buildscript {
    repositories {
        maven { url = 'https://maven.minecraftforge.net' }
        mavenCentral()
    }
    dependencies {
        classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '6.0+', changing: true
    }
}
apply plugin: 'net.minecraftforge.gradle'
// Only edit below this line, the above code adds and enables the necessary things for Forge to be setup.
apply plugin: 'eclipse'
apply plugin: 'maven-publish'

version = '1.0'
group = 'me.yawlick.testmodjava' // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = 'testmodjava'

java.toolchain.languageVersion = JavaLanguageVersion.of(8) // Mojang ships Java 8 to end users, so your mod should target Java 8.

println('Java: ' + System.getProperty('java.version') + ' JVM: ' + System.getProperty('java.vm.version') + '(' + System.getProperty('java.vendor') + ') Arch: ' + System.getProperty('os.arch'))
minecraft {
    mappings channel: 'official', version: '1.16.5'
 
    runs {
        client {
            workingDirectory project.file('run')

            property 'forge.logging.markers', 'REGISTRIES'

            property 'forge.logging.console.level', 'debug'

            mods {
                yawclient {
                    source sourceSets.main
                }
            }
        }

        server {
            workingDirectory project.file('run')

            property 'forge.logging.markers', 'REGISTRIES'

            property 'forge.logging.console.level', 'debug'

            mods {
                yawclient {
                    source sourceSets.main
                }
            }
        }

        data {
            workingDirectory project.file('run')
            property 'forge.logging.markers', 'REGISTRIES'

            property 'forge.logging.console.level', 'debug'

            args '--mod', 'examplemod', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')

            mods {
                examplemod {
                    source sourceSets.main
                }
            }
        }
    }
}

sourceSets.main.resources { srcDir 'src/generated/resources' }

dependencies {
    minecraft 'net.minecraftforge:forge:1.16.5-36.1.24'
}

jar {
    manifest {
        attributes([
            "Specification-Title": "testmodjava",
            "Specification-Vendor": "testmodjavasareus",
            "Specification-Version": "1", // We are version 1 of ourselves
            "Implementation-Title": project.name,
            "Implementation-Version": "${version}",
            "Implementation-Vendor" :"testmodjavasareus",
            "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
        ])
    }
}

jar.finalizedBy('reobfJar')

publishing {
    publications {
        mavenJava(MavenPublication) {
            artifact jar
        }
    }
    repositories {
        maven {
            url "file:///${project.projectDir}/mcmodsrepo"
        }
    }
}
 
Начинающий
Статус
Оффлайн
Регистрация
26 Май 2020
Сообщения
260
Реакции[?]
9
Поинты[?]
8K
У меня на фордже 1.16.5 FG6.0+ в классе мс Minecraft.getInstance() нет метода playerController, как быть?

(Хотел сделать чест стиллер, джаву знаю, а вот с форджем только вчера познакомился)


Мой build.gradle:
buildscript {
    repositories {
        maven { url = 'https://maven.minecraftforge.net' }
        mavenCentral()
    }
    dependencies {
        classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '6.0+', changing: true
    }
}
apply plugin: 'net.minecraftforge.gradle'
// Only edit below this line, the above code adds and enables the necessary things for Forge to be setup.
apply plugin: 'eclipse'
apply plugin: 'maven-publish'

version = '1.0'
group = 'me.yawlick.testmodjava' // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = 'testmodjava'

java.toolchain.languageVersion = JavaLanguageVersion.of(8) // Mojang ships Java 8 to end users, so your mod should target Java 8.

println('Java: ' + System.getProperty('java.version') + ' JVM: ' + System.getProperty('java.vm.version') + '(' + System.getProperty('java.vendor') + ') Arch: ' + System.getProperty('os.arch'))
minecraft {
    mappings channel: 'official', version: '1.16.5'

    runs {
        client {
            workingDirectory project.file('run')

            property 'forge.logging.markers', 'REGISTRIES'

            property 'forge.logging.console.level', 'debug'

            mods {
                yawclient {
                    source sourceSets.main
                }
            }
        }

        server {
            workingDirectory project.file('run')

            property 'forge.logging.markers', 'REGISTRIES'

            property 'forge.logging.console.level', 'debug'

            mods {
                yawclient {
                    source sourceSets.main
                }
            }
        }

        data {
            workingDirectory project.file('run')
            property 'forge.logging.markers', 'REGISTRIES'

            property 'forge.logging.console.level', 'debug'

            args '--mod', 'examplemod', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')

            mods {
                examplemod {
                    source sourceSets.main
                }
            }
        }
    }
}

sourceSets.main.resources { srcDir 'src/generated/resources' }

dependencies {
    minecraft 'net.minecraftforge:forge:1.16.5-36.1.24'
}

jar {
    manifest {
        attributes([
            "Specification-Title": "testmodjava",
            "Specification-Vendor": "testmodjavasareus",
            "Specification-Version": "1", // We are version 1 of ourselves
            "Implementation-Title": project.name,
            "Implementation-Version": "${version}",
            "Implementation-Vendor" :"testmodjavasareus",
            "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
        ])
    }
}

jar.finalizedBy('reobfJar')

publishing {
    publications {
        mavenJava(MavenPublication) {
            artifact jar
        }
    }
    repositories {
        maven {
            url "file:///${project.projectDir}/mcmodsrepo"
        }
    }
}

очень хочется верить словам твоим, что ты знаешь джаву, я тебе верю, поэтому и помогу

class:
Minecraft.getInstance().player.gameMode
а вот если тебе надо вызвать клик по определенному слот, то -

click slot:
ChestContainer container = (ChestContainer) mc.player.containerMenu;
mc.gameMode.handleInventoryMouseClick(container.containerId, "тут нужный тебе слот(по индексу от 0 начинается счет)", 0, ClickType.QUICK_MOVE, mc.player);
 
Начинающий
Статус
Оффлайн
Регистрация
8 Фев 2024
Сообщения
9
Реакции[?]
0
Поинты[?]
0
а вот если тебе надо вызвать клик по определенному слот, то -

click slot:
ChestContainer container = (ChestContainer) mc.player.containerMenu;
mc.gameMode.handleInventoryMouseClick(container.containerId, "тут нужный тебе слот(по индексу от 0 начинается счет)", 0, ClickType.QUICK_MOVE, mc.player);
Появилась проблема, когда прохожусь по слотам и "кликаю" по ним твоим способом, то все предметы из сундука и моего инвентаря перемещаются в 1 слот сундука


Код в классе чест стиллера:
    Minecraft mc = Minecraft.getInstance();
    @SubscribeEvent
    public void onChestOpen(TickEvent.PlayerTickEvent event) {
        if (JEED.getInstance().isEnabled(ChestStealer.class)) {
            if (mc.screen instanceof ChestScreen) {
                ChestScreen chest = (ChestScreen) mc.screen;
                if(hasItems(chest.getMenu())) {
                    for(Slot slot : chest.getMenu().slots) {
                        if(slot.hasItem()) {
                            ChestContainer container = (ChestContainer) mc.player.containerMenu;

                            mc.gameMode.handleInventoryMouseClick(container.containerId, slot.index, 0, ClickType.QUICK_MOVE, mc.player);
                        }
                    }
                }
            }
        }
    }

    public boolean hasItems(ChestContainer container) {
        for (Slot slot : container.slots) {
            if(slot.hasItem()) {
                return true;
            }
        }
        return false;
    }
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
8 Фев 2024
Сообщения
9
Реакции[?]
0
Поинты[?]
0
Появилась проблема, когда прохожусь по слотам и "кликаю" по ним твоим способом, то все предметы из сундука и моего инвентаря перемещаются в 1 слот сундука
Решил проблему, заменил метод из плейр контроллера на отправку пакета

Код:
                    for (Slot slot : chest.slots) {
                        if(slot.hasItem()) {
                            ChestContainer container = (ChestContainer) mc.player.containerMenu;
                            mc.getConnection().send(new CClickWindowPacket(
                                    container.containerId, // 1
                                    slot.getSlotIndex(), // 2
                                    0, // 3
                                    ClickType.QUICK_MOVE, // 4
                                    slot.getItem(), // 5
                                    mc.player.containerMenu.backup(mc.player.inventory) // 6
                            ));
                            //mc.gameMode.handleInventoryMouseClick(container.containerId, index, 1, ClickType.QUICK_MOVE, mc.player);
                        }
                    }
 
Последнее редактирование:
Сверху Снизу