Условие ношения игроком определённой вещи в слоте брони

Версия Minecraft
1.10.2
Напомните как выглядит условие в "if" на ношения игроком определённой вещи в слоте брони (например в слоте chestplate)
конкретно нужно открыть GUI в случае нажатия на бинд и ношения игроком специальной брони .
Исходник:
Java:
import org.lwjgl.input.Keyboard;

import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.common.gameevent.InputEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.FMLCommonHandler;
import net.minecraftforge.fml.client.registry.ClientRegistry;
import net.minecraftforge.fml.client.FMLClientHandler;
import net.minecraftforge.common.MinecraftForge;

import net.minecraft.world.World;
import net.minecraft.server.MinecraftServer;
import net.minecraft.item.ItemStack;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.client.settings.KeyBinding;
import net.minecraft.client.gui.GuiChat;
import net.minecraft.client.Minecraft;

import java.util.Random;

public class mcreator_openGUIchestplate {

    public static Object instance;

    public mcreator_openGUIchestplate() {

    }

    public void load(FMLInitializationEvent event) {

    }

    public void generateNether(World world, Random random, int chunkX, int chunkZ) {

    }

    public void generateSurface(World world, Random random, int chunkX, int chunkZ) {

    }

    @SideOnly(Side.CLIENT)
    public void registerRenderers() {
        MinecraftForge.EVENT_BUS.register(new KeyHandlerClass());
    }

    public int addFuel(ItemStack fuel) {
        return 0;
    }

    public void serverLoad(FMLServerStartingEvent event) {
    }

    public void preInit(FMLPreInitializationEvent event) {
    }



    public class KeyHandlerClass {
        private final KeyBinding keys;

        public KeyHandlerClass() {
            keys = new KeyBinding("key.mcreator.openGUIchestplate", Keyboard.KEY_R, "key.categories.misc");
            ClientRegistry.registerKeyBinding(keys);
        }

        @SubscribeEvent
        public void onKeyInput(InputEvent.KeyInputEvent event) {
            if (!FMLClientHandler.instance().isGUIOpen(GuiChat.class)) {
                if (org.lwjgl.input.Keyboard.isKeyDown(keys.getKeyCode())) {
                    EntityPlayer entity = Minecraft.getMinecraft().thePlayer;
                    int i = (int) entity.posX;
                    int j = (int) entity.posY;
                    int k = (int) entity.posZ;
                        int Sch1=0;
                    MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance();
                    World world = server.worldServers[0];

                    if (true) {
                        if (true) {

                            if ()// конкретно это условие

{
                                   Sch1=Sch1+1;
                            }

                            if (true) {
                                if (Sch1==1)
                                    ((EntityPlayer) entity).openGui(instance, mcreator_chestGUI.GUIID, world, i, j, k);

                            }
                        }
                    }
                }
            }

        }

    }



}
 
Последнее редактирование модератором:
3,005
192
592
Я первую тему публикую на форуме,извините пожалуйста. В будущем постараюсь исправить

Извините, но с этим не к нам.
Кто не откажется от почти полного халявного кода, который нуждается в некоторых исправлениях.
 
5,018
47
783
.... И к людям, его использующим, тоже. Пахнет так немного, знаете ...
По теме:
Ты должен получить инвентарь игрока, оттуда слот брони, и из него уже получить стак, который лежит в этом слоте.

Java:
         if (true) {
                        if (true) {
Это вообще что?Это типо условие, которое всегда выполняется? Лол, какой в нем смысл? :)
Я что то не знаю про жабу? А, это же мкреатор. Извините.
И еще на будущее - обозначать координаты переменными цикла(так делает только мкреатор) - выдает говнокодера, пользующегося мкреатором.
Кек)

И еще нету аннотации @SideOnly над методом эвента. эвент клиентски, а посему должен выполняться только на клиенте. Сервер не запустится попросту.
Сразу видно, что код написан в мкреаторе
Класс с маленькой буквы
public class mcreator_openGUIchestplate {
А, это же мкреатор.... Черт возьми, халявный код же!
@CMTV извини что таким образом отбиваю желание этого человека, который пользуется мкреатором, заходить на форум, но такие люди не должны прикасаться своими руками к коду...
Пусть дальше пишет в мкреаторе
 
Последнее редактирование:

Eifel

Модератор
1,624
79
609
тут несколько негативно относятся к MCreator
К слову, не раз замечал как на других сайтах, таких как всем известный Curse, комментарии под модами которые сделаны креатором такого же рода(или даже пожеще бывает)
Та и сам считаю что лучше уж потратить время на изучение джавы и фордж апи и сделать более-менее нормально и качественно, чем вот таким вот образом. А если времени нету, или хочешь "быстро и халявно", то надо быть готовым к комментариям выше)
 
  • Like
Реакции: CMTV

CMTV

Основатель
Администратор
1,304
4
601
Я отношусь к нему нейтрально. Как к возможному переходному этапу. Сам когда-то пользовался ибо проще и без программирования. Человек ведь хочет моды писать, а не сложные учебники читать. Рано или поздно, приходит осознание, что без программирования никуда, а там и креаторы никакие будут не нужны.
 
5,018
47
783
Пусть тогда не засирает форум, а подрастет и поймет то, о чем ты говоришь
 
Сверху