Package de.eydamos.backpack.helper

Source Code of de.eydamos.backpack.helper.GuiHelper

package de.eydamos.backpack.helper;

import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.IInventory;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import de.eydamos.backpack.Backpack;
import de.eydamos.backpack.factory.FactoryBackpack;
import de.eydamos.backpack.gui.GuiBackpackRename;
import de.eydamos.backpack.network.message.MessageGuiCommand;
import de.eydamos.backpack.network.message.MessageOpenBackpack;
import de.eydamos.backpack.network.message.MessageOpenGui;
import de.eydamos.backpack.network.message.MessageOpenPersonalSlot;
import de.eydamos.backpack.network.message.MessageRenameBackpack;
import de.eydamos.backpack.saves.BackpackSave;
import de.eydamos.backpack.saves.PlayerSave;

public class GuiHelper {
    @SideOnly(Side.CLIENT)
    public static void displayRenameGui() {
        Minecraft.getMinecraft().displayGuiScreen(new GuiBackpackRename());
    }

    public static void displayBackpack(BackpackSave backpackSave, IInventory inventory, EntityPlayerMP entityPlayer) {
        prepare(entityPlayer);

        MessageOpenBackpack message = new MessageOpenBackpack(backpackSave, inventory, entityPlayer.currentWindowId);
        Backpack.packetHandler.networkWrapper.sendTo(message, entityPlayer);

        Container container = FactoryBackpack.getContainer(backpackSave, new IInventory[] { entityPlayer.inventory, inventory }, entityPlayer);
        openContainer(container, entityPlayer);
    }

    public static void displayPersonalSlot(EntityPlayerMP entityPlayer) {
        PlayerSave playerSave = new PlayerSave(entityPlayer);
        playerSave.setType((byte) -1);

        prepare(entityPlayer);

        MessageOpenPersonalSlot message = new MessageOpenPersonalSlot(entityPlayer.currentWindowId);
        Backpack.packetHandler.networkWrapper.sendTo(message, entityPlayer);

        Container container = FactoryBackpack.getContainer(playerSave, new IInventory[] { entityPlayer.inventory }, entityPlayer);
        openContainer(container, entityPlayer);
    }

    @SideOnly(Side.CLIENT)
    public static void sendOpenPersonalGui(byte gui) {
        MessageOpenGui message = new MessageOpenGui(gui);
        Backpack.packetHandler.networkWrapper.sendToServer(message);
    }

    @SideOnly(Side.CLIENT)
    public static void sendGuiCommand(byte command) {
        MessageGuiCommand message = new MessageGuiCommand(command);
        Backpack.packetHandler.networkWrapper.sendToServer(message);
    }

    @SideOnly(Side.CLIENT)
    public static void renameBackpack(String name) {
        MessageRenameBackpack message = new MessageRenameBackpack(name);
        // send new name to server
        Backpack.packetHandler.networkWrapper.sendToServer(message);
        // save the name on client
        message.setName(Minecraft.getMinecraft().thePlayer, name);
    }

    protected static void prepare(EntityPlayerMP entityPlayer) {
        if(entityPlayer.openContainer != entityPlayer.inventoryContainer) {
            entityPlayer.closeScreen();
        }

        entityPlayer.getNextWindowId();
    }

    protected static void openContainer(Container container, EntityPlayerMP entityPlayer) {
        entityPlayer.openContainer = container;
        entityPlayer.openContainer.windowId = entityPlayer.currentWindowId;
        entityPlayer.openContainer.addCraftingToCrafters(entityPlayer);
    }
}
TOP

Related Classes of de.eydamos.backpack.helper.GuiHelper

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.