Помогите Gui

Создал Gui открываю его и ложу туда предмет и потом выхожу из Gui и захожу обратно и предмет пропадает Помогите плиз.
 

timaxa007

Модератор
5,831
409
672
Мало информации.
[merge_posts_bbcode]Добавлено: 26.06.2016 19:01:35[/merge_posts_bbcode]

Нету версии Minecraft, на котором ты делаешь код.

[merge_posts_bbcode]Добавлено: 26.06.2016 19:01:43[/merge_posts_bbcode]

Нету кода.

[merge_posts_bbcode]Добавлено: 26.06.2016 19:02:38[/merge_posts_bbcode]

Вставляй код по-нормальному.
 
Версия 1.7.10 
Код - 
@SuppressWarnings("unchecked")
public class mcreator_fet {

public static Object instance;

public static int GUIID = 14;

public mcreator_fet(){}

public void load(){
//NetworkRegistry.INSTANCE.registerGuiHandler(instance, new GuiHandler());
}

public void registerRenderers(){}
public void generateNether(World world, Random random, int chunkX, int chunkZ){}
public void generateSurface(World world, Random random, int chunkX, int chunkZ){}
public int addFuel(ItemStack fuel){
return 0;
}
public void serverLoad(FMLServerStartingEvent event){}
public void preInit(FMLPreInitializationEvent event){}

public static IInventory Dea;

public static IInventory inherited;

public static class GuiContainerMod extends Container {

World world = null;
EntityPlayer entity = null;
int i,j,k;

        public GuiContainerMod (World world, int i, int j, int k, EntityPlayer player){

this.world = world;
this.entity = player;
this.i = i;
this.j = j;
this.k = k;

Dea = new InventoryBasic("Dea", true, 9);
this.addSlotToContainer(new Slot(Dea, 0, 116, 33){
public boolean isItemValid(ItemStack stack){return true;}
public void onSlotChanged(){
super.onSlotChanged();if(getHasStack()){
EntityPlayer entity = Minecraft.getMinecraft().thePlayer;
int i = (int)entity.posX;
int j = (int)entity.posY;
int k = (int)entity.posZ;
MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance();
World world = server.worldServers[0];

}}
});
bindPlayerInventory(player.inventory);

        }

        @Override
        public boolean canInteractWith(EntityPlayer player) {
                return true;
        }


        protected void bindPlayerInventory(InventoryPlayer inventoryPlayer) {
int i;
        int j;

        for (i = 0; i < 3; ++i){
for (j = 0; j < 9; ++j){
this.addSlotToContainer(new Slot(inventoryPlayer, j + (i + 1) * 9, 8 + j * 18, 84 + i * 18));
}
        }

        for (i = 0; i < 9; ++i){
this.addSlotToContainer(new Slot(inventoryPlayer, i, 8 + i * 18, 142));
        }
        }

        @Override
        public ItemStack transferStackInSlot(EntityPlayer playerIn, int index){
        ItemStack itemstack = null;
        Slot slot = (Slot)this.inventorySlots.get(index);

        if (slot != null && slot.getHasStack()){
            ItemStack itemstack1 = slot.getStack();
            itemstack = itemstack1.copy();

            if (index < 9){
                if (!this.mergeItemStack(itemstack1, 9, (45-9), true)){//fixes shiftclick error
                    return null;
                }
            }else if (!this.mergeItemStack(itemstack1, 0, 9, false)){
                return null;
            }

            if (itemstack1.stackSize == 0){
                slot.putStack((ItemStack)null);
            }else{
                slot.onSlotChanged();
            }

            if (itemstack1.stackSize == itemstack.stackSize){
                return null;
            }

            slot.onPickupFromSlot(playerIn, itemstack1);
        }

        return itemstack;
    }

public void onContainerClosed(EntityPlayer playerIn)
    {
        super.onContainerClosed(playerIn);



        
    }
}

public static class GuiWindow extends GuiContainer
{

int i = 0;
int j = 0;
int k = 0;
EntityPlayer entity = null;



public GuiWindow(World world, int i, int j, int k, EntityPlayer entity){
super(new GuiContainerMod(world, i, j, k, entity));
this.i = i;
this.j = j;
this.k = k;
this.entity = entity;
this.xSize=176;
this.ySize=166;
}

private static final ResourceLocation texture = new ResourceLocation("Fet.png");

protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3)
{
int posX = (this.width) /2;
int posY = (this.height) /2;
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);

this.mc.renderEngine.bindTexture(texture);
int k = (this.width - this.xSize) / 2;
int l = (this.height - this.ySize) / 2;
this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize);


    zLevel = 100.0F;
    

}

protected void mouseClicked(int par1, int par2, int par3)
{
super.mouseClicked(par1, par2, par3);

}

public void updateScreen()
{
int posX = (this.width) /2;
int posY = (this.height) /2;

}

protected void keyTyped(char par1, int par2)
{

super.keyTyped(par1,par2);



}

protected void drawGuiContainerForegroundLayer(int par1, int par2){
int posX = (this.width) /2;
int posY = (this.height) /2;

}

public void onGuiClosed()
{
Keyboard.enableRepeatEvents(false);
}

public void initGui(){
super.initGui();
this.guiLeft = (this.width - 176) / 2;
this.guiTop = (this.height - 166) / 2;
Keyboard.enableRepeatEvents(true);
this.buttonList.clear();
int posX = (this.width) / 2;
int posY = (this.height) / 2;

}

protected void actionPerformed(GuiButton button)
{
MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance();
World world = server.worldServers[0];


}

public boolean doesGuiPauseGame()
{
    return false;
}

}

}
 

timaxa007

Модератор
5,831
409
672
Программный код используй.
 

timaxa007

Модератор
5,831
409
672
Я имею ввиду про тэг.
[merge_posts_bbcode]Добавлено: 26.06.2016 19:10:30[/merge_posts_bbcode]

 
Что за тэг?
[merge_posts_bbcode]Добавлено: 26.06.2016 20:11:56[/merge_posts_bbcode]

Код:
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]@SuppressWarnings("unchecked")
public class mcreator_fet {[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]public static Object instance;[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]public static int GUIID = 14;[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]public mcreator_fet(){}[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]public void load(){
//NetworkRegistry.INSTANCE.registerGuiHandler(instance, new GuiHandler());
}[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]public void registerRenderers(){}
public void generateNether(World world, Random random, int chunkX, int chunkZ){}
public void generateSurface(World world, Random random, int chunkX, int chunkZ){}
public int addFuel(ItemStack fuel){
return 0;
}
public void serverLoad(FMLServerStartingEvent event){}
public void preInit(FMLPreInitializationEvent event){}[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]public static IInventory Dea;[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]public static IInventory inherited;[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]public static class GuiContainerMod extends Container {[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]World world = null;
EntityPlayer entity = null;
int i,j,k;[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]        public GuiContainerMod (World world, int i, int j, int k, EntityPlayer player){[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]this.world = world;
this.entity = player;
this.i = i;
this.j = j;
this.k = k;[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]Dea = new InventoryBasic("Dea", true, 9);
this.addSlotToContainer(new Slot(Dea, 0, 116, 33){
public boolean isItemValid(ItemStack stack){return true;}
public void onSlotChanged(){
super.onSlotChanged();if(getHasStack()){
EntityPlayer entity = Minecraft.getMinecraft().thePlayer;
int i = (int)entity.posX;
int j = (int)entity.posY;
int k = (int)entity.posZ;
MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance();
World world = server.worldServers[0];[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]}}
});
bindPlayerInventory(player.inventory);[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]        }[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]        @Override
        public boolean canInteractWith(EntityPlayer player) {
                return true;
        }[/font][/size][/color]

[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]        protected void bindPlayerInventory(InventoryPlayer inventoryPlayer) {
int i;
         int j;[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]         for (i = 0; i < 3; ++i){
for (j = 0; j < 9; ++j){
this.addSlotToContainer(new Slot(inventoryPlayer, j + (i + 1) * 9, 8 + j * 18, 84 + i * 18));
}
         }[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]         for (i = 0; i < 9; ++i){
this.addSlotToContainer(new Slot(inventoryPlayer, i, 8 + i * 18, 142));
         }
        }[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]        @Override
        public ItemStack transferStackInSlot(EntityPlayer playerIn, int index){
        ItemStack itemstack = null;
        Slot slot = (Slot)this.inventorySlots.get(index);[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]        if (slot != null && slot.getHasStack()){
            ItemStack itemstack1 = slot.getStack();
            itemstack = itemstack1.copy();[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]            if (index < 9){
                if (!this.mergeItemStack(itemstack1, 9, (45-9), true)){//fixes shiftclick error
                    return null;
                }
            }else if (!this.mergeItemStack(itemstack1, 0, 9, false)){
                return null;
            }[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]            if (itemstack1.stackSize == 0){
                slot.putStack((ItemStack)null);
            }else{
                slot.onSlotChanged();
            }[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]            if (itemstack1.stackSize == itemstack.stackSize){
                return null;
            }[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]            slot.onPickupFromSlot(playerIn, itemstack1);
        }[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]        return itemstack;
    }[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]public void onContainerClosed(EntityPlayer playerIn)
    {
        super.onContainerClosed(playerIn);[/font][/size][/color]


[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]        
    }
}[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]public static class GuiWindow extends GuiContainer
{[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]int i = 0;
int j = 0;
int k = 0;
EntityPlayer entity = null;[/font][/size][/color]


[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]public GuiWindow(World world, int i, int j, int k, EntityPlayer entity){
super(new GuiContainerMod(world, i, j, k, entity));
this.i = i;
this.j = j;
this.k = k;
this.entity = entity;
this.xSize=176;
this.ySize=166;
}[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]private static final ResourceLocation texture = new ResourceLocation("Fet.png");[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3)
{
int posX = (this.width) /2;
int posY = (this.height) /2;
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]this.mc.renderEngine.bindTexture(texture);
int k = (this.width - this.xSize) / 2;
int l = (this.height - this.ySize) / 2;
this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize);[/font][/size][/color]

[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]    zLevel = 100.0F;
    [/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]}[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]protected void mouseClicked(int par1, int par2, int par3)
{
super.mouseClicked(par1, par2, par3);[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]}[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]public void updateScreen()
{
int posX = (this.width) /2;
int posY = (this.height) /2;[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]}[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]protected void keyTyped(char par1, int par2)
{[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]super.keyTyped(par1,par2);[/font][/size][/color]


[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]}[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]protected void drawGuiContainerForegroundLayer(int par1, int par2){
int posX = (this.width) /2;
int posY = (this.height) /2;[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]}[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]public void onGuiClosed()
{
Keyboard.enableRepeatEvents(false);
}[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]public void initGui(){
super.initGui();
this.guiLeft = (this.width - 176) / 2;
this.guiTop = (this.height - 166) / 2;
Keyboard.enableRepeatEvents(true);
this.buttonList.clear();
int posX = (this.width) / 2;
int posY = (this.height) / 2;[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]}[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]protected void actionPerformed(GuiButton button)
{
MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance();
World world = server.worldServers[0];[/font][/size][/color]

[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]}[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]public boolean doesGuiPauseGame()
{
    return false;
}[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]}[/font][/size][/color]
[color=#222222][size=1][font=Verdana, Helvetica, Arial, sans-serif]}[/font][/size][/color]

[merge_posts_bbcode]Добавлено: 26.06.2016 20:14:18[/merge_posts_bbcode]

Ну что?
 

timaxa007

Модератор
5,831
409
672
Плохо вставил. Зачем ненужные тэги?
 

timaxa007

Модератор
5,831
409
672
Нужно нормально вставить код в тэг программного кода, без лишних цветовых тэгов и шрифта и т.п.
 
667
7
2
Вот держи урок от автора "пневматик крафта" >Клик

Вот его код, вроде так лучше:
Код:
@SuppressWarnings("unchecked")
public class mcreator_fet {
    public static Object instance;
    public static int GUIID = 14;
    public mcreator_fet(){}
    public void load(){
//NetworkRegistry.INSTANCE.registerGuiHandler(instance, new GuiHandler());
    }
    public void registerRenderers(){}
    public void generateNether(World world, Random random, int chunkX, int chunkZ){}
    public void generateSurface(World world, Random random, int chunkX, int chunkZ){}
    public int addFuel(ItemStack fuel){
        return 0;
    }
    public void serverLoad(FMLServerStartingEvent event){}
    public void preInit(FMLPreInitializationEvent event){}
    public static IInventory Dea;
    public static IInventory inherited;
    public static class GuiContainerMod extends Container {
        World world = null;
        EntityPlayer entity = null;
        int i,j,k;
        public GuiContainerMod (World world, int i, int j, int k, EntityPlayer player){
            this.world = world;
            this.entity = player;
            this.i = i;
            this.j = j;
            this.k = k;
            Dea = new InventoryBasic("Dea", true, 9);
            this.addSlotToContainer(new Slot(Dea, 0, 116, 33){
                public boolean isItemValid(ItemStack stack){return true;}
                public void onSlotChanged(){
                    super.onSlotChanged();if(getHasStack()){
                        EntityPlayer entity = Minecraft.getMinecraft().thePlayer;
                        int i = (int)entity.posX;
                        int j = (int)entity.posY;
                        int k = (int)entity.posZ;
                        MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance();
                        World world = server.worldServers[0];
                    }}
            });
            bindPlayerInventory(player.inventory);
        }
        @Override
        public boolean canInteractWith(EntityPlayer player) {
            return true;
        }

        protected void bindPlayerInventory(InventoryPlayer inventoryPlayer) {
            int i;
            int j;
            for (i = 0; i < 3; ++i){
                for (j = 0; j < 9; ++j){
                    this.addSlotToContainer(new Slot(inventoryPlayer, j + (i + 1) * 9, 8 + j * 18, 84 + i * 18));
                }
            }
            for (i = 0; i < 9; ++i){
                this.addSlotToContainer(new Slot(inventoryPlayer, i, 8 + i * 18, 142));
            }
        }
        @Override
        public ItemStack transferStackInSlot(EntityPlayer playerIn, int index){
            ItemStack itemstack = null;
            Slot slot = (Slot)this.inventorySlots.get(index);
            if (slot != null && slot.getHasStack()){
                ItemStack itemstack1 = slot.getStack();
                itemstack = itemstack1.copy();
                if (index < 9){
                    if (!this.mergeItemStack(itemstack1, 9, (45-9), true)){//fixes shiftclick error
                        return null;
                    }
                }else if (!this.mergeItemStack(itemstack1, 0, 9, false)){
                    return null;
                }
                if (itemstack1.stackSize == 0){
                    slot.putStack((ItemStack)null);
                }else{
                    slot.onSlotChanged();
                }
                if (itemstack1.stackSize == itemstack.stackSize){
                    return null;
                }
                slot.onPickupFromSlot(playerIn, itemstack1);
            }
            return itemstack;
        }
        public void onContainerClosed(EntityPlayer playerIn)
        {
            super.onContainerClosed(playerIn);



        }
    }
    public static class GuiWindow extends GuiContainer
    {
        int i = 0;
        int j = 0;
        int k = 0;
        EntityPlayer entity = null;


        public GuiWindow(World world, int i, int j, int k, EntityPlayer entity){
            super(new GuiContainerMod(world, i, j, k, entity));
            this.i = i;
            this.j = j;
            this.k = k;
            this.entity = entity;
            this.xSize=176;
            this.ySize=166;
        }
        private static final ResourceLocation texture = new ResourceLocation("Fet.png");
        protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3)
        {
            int posX = (this.width) /2;
            int posY = (this.height) /2;
            GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
            this.mc.renderEngine.bindTexture(texture);
            int k = (this.width - this.xSize) / 2;
            int l = (this.height - this.ySize) / 2;
            this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize);

            zLevel = 100.0F;

        }
        protected void mouseClicked(int par1, int par2, int par3)
        {
            super.mouseClicked(par1, par2, par3);
        }
        public void updateScreen()
        {
            int posX = (this.width) /2;
            int posY = (this.height) /2;
        }
        protected void keyTyped(char par1, int par2)
        {
            super.keyTyped(par1,par2);


        }
        protected void drawGuiContainerForegroundLayer(int par1, int par2){
            int posX = (this.width) /2;
            int posY = (this.height) /2;
        }
        public void onGuiClosed()
        {
            Keyboard.enableRepeatEvents(false);
        }
        public void initGui(){
            super.initGui();
            this.guiLeft = (this.width - 176) / 2;
            this.guiTop = (this.height - 166) / 2;
            Keyboard.enableRepeatEvents(true);
            this.buttonList.clear();
            int posX = (this.width) / 2;
            int posY = (this.height) / 2;
        }
        protected void actionPerformed(GuiButton button)
        {
            MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance();
            World world = server.worldServers[0];

        }
        public boolean doesGuiPauseGame()
        {
            return false;
        }
    }
}
[merge_posts_bbcode]Добавлено: 27.06.2016 02:29:02[/merge_posts_bbcode]

Не знаю что он сделал с BB code... Но он извращенец. Я смог вставить его сюда только после того как сбросил BB через блокнот. Сейчас выровняю через IDEA.
[merge_posts_bbcode]Добавлено: 27.06.2016 02:33:58[/merge_posts_bbcode]

Готово.
 

timaxa007

Модератор
5,831
409
672
Спасибо. Если бегло-просматривать, то... Странно что это код во-обще может быть рабочим, так как не понятно как присоединены @Mod и мод-эвенты. Но если они работают, то проблема в том что нету кода, где-бы сохранялось в этом контейнере. В контейнере создаётся инвентарь, но он не где не сохраняет свой результат, чтобы потом его снова прочитать.
 
Сверху