Так со всем я разобрался, только не понимаю что сделать в данном случаеДобавить к ид твоей кнопки действие на открытие
@ElegantPacket
public class PressButton implements ClientToServerPacket{
public void onReceive(EntityPlayerMP player){
player.openGui(...);
}
}
//client event handler
KeyBinding key = new KeyBinding("Open gui key", Keyboard.KEY_H, "key.categories.inventory");
@SubscribeEvent
public void onPress(PlayerTickEvent event){
if (key.getIsKeyPressed() && FMLClientHandler.instance().getClient().inGameHasFocus)
new PressButton().sendToServer();
}
public boolean mousePressed(Minecraft var1, int var2, int var3) {}
new PressButton().sendToServer()
ДаКлик по кнопке в обычном инвентаре?
@SideOnly(value = Side.CLIENT)
@SubscribeEvent
public void guiPostAction(GuiScreenEvent.ActionPerformedEvent.Post event) {
if (event.gui instanceof GuiInventory) {
if (event.button.id == 2000) {
System.out.println("Work job, open Inventory player");
PacketHandler.INSTANCE.sendToServer(new PacketTest(event.gui.mc.thePlayer));
event.gui.mc.thePlayer.addChatMessage(new ChatComponentText(String.valueOf("Поздравляю ты открыл его")));
}
}
}
public class PacketHandler {
public static final SimpleNetworkWrapper INSTANCE = NetworkRegistry.INSTANCE.newSimpleChannel(Magic.MODID.toLowerCase());
public static void init()
{
INSTANCE.registerMessage(PacketTest.class, PacketTest.class, 0, Side.SERVER);
}
}
public class PacketTest implements IMessage, IMessageHandler<PacketTest, IMessage> {
public PacketTest() {}
public PacketTest(EntityPlayer player) {}
@Override
public void toBytes(ByteBuf buffer) {}
@Override
public void fromBytes(ByteBuf buffer) {}
@Override
public IMessage onMessage(PacketTest message, MessageContext ctx) {
ctx.getServerHandler().playerEntity.openGui(Magic.instance, Magic.GUI, ctx.getServerHandler().playerEntity.worldObj, (int)ctx.getServerHandler().playerEntity.posX, (int)ctx.getServerHandler().playerEntity.posY, (int)ctx.getServerHandler().playerEntity.posZ);
return null;
}
}
ругается на этоfg.deobf
buildscript {
repositories {
mavenCentral()
maven {
name = "forge"
url = "https://files.minecraftforge.net/maven"
}
maven {
name = "sonatype"
url = "https://oss.sonatype.org/content/repositories/snapshots/"
}
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT'
classpath 'mysql:mysql-connector-java:5.1.44'
}
}
apply plugin: 'forge'
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'signing'
sourceCompatibility = targetCompatibility = '1.8'
repositories {
maven {
name = "chickenbones"
url = "http://chickenbones.net/maven"
}
}
dependencies {
//compile fg.deobf("io.gitlab.hohserg.elegant.networking:elegant-networking-1.12:3.10")
compile "io.gitlab.hohserg.elegant.networking:elegant-networking-1.12:2.4"
compileOnly "io.gitlab.hohserg.elegant.networking:annotation-processor:3.10"
compile 'mysql:mysql-connector-java:5.1.44'
compile "codechicken:CodeChickenLib:1.7.10-1.1.3.140:dev"
compile "codechicken:CodeChickenCore:1.7.10-1.0.4.29:dev"
compile "codechicken:NotEnoughItems:1.7.10-1.0.3.75:dev"
}
version = "1"
group = "test"
archivesBaseName = "Spokers"
minecraft {
version = "1.7.10-10.13.4.1614-1.7.10"
runDir = "run"
}
configurations {
extraLibs
}
compileJava {
options.compilerArgs += [
'-Aelegantnetworking.printDetails'
]
}
processResources
{
// replace stuff in mcmod.info, nothing else
from(sourceSets.main.resources.srcDirs) {
include 'mcmod/info'
// replace version and mcversion
expand 'version':project.version, 'mcversion':project.minecraft.version
}
// copy everything else, thats not the mcmod.info
from(sourceSets.main.resources.srcDirs) {
exclude 'mcmod.info'
}
}
compileJava.options.encoding = 'UTF-8'
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
Закомментировал строку, добавляющую либу и ожидаешь, что ее апи откуда-то появится?//compile fg.deobf("io.gitlab.hohserg.elegant.networking:elegant-networking-1.12:3.10")
compile "io.gitlab.hohserg.elegant.networking:elegant-networking-1.7.10:3.10"
Ругалась на fg.deobf за комментировал так как дописывал другоеЗакомментировал строку, добавляющую либу и ожидаешь, что ее апи откуда-то появится?
Поменяй эту строчку на
Старая версия, к тому же для 1.12. Сорри, поправлю в readmecompile "io.gitlab.hohserg.elegant.networking:elegant-networking-1.12:2.4"
compile "io.gitlab.hohserg.elegant.networking:elegant-networking-1.7.10:3.10"