Search in sources :

Example 1 with TileChaosAltar

use of net.silentchaos512.gems.tile.TileChaosAltar in project SilentGems by SilentChaos512.

the class GuiHandlerSilentGems method getClientGuiElement.

@Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
    TileEntity tile = world.getTileEntity(new BlockPos(x, y, z));
    if (ID != ID_QUIVER && tile == null) {
        SilentGems.logHelper.warning(String.format("Missing TileEntity at %d %d %d!", x, y, z));
        return null;
    }
    switch(ID) {
        case ID_ALTAR:
            if (tile instanceof TileChaosAltar) {
                TileChaosAltar tileAltar = (TileChaosAltar) tile;
                return new GuiChaosAltar(player.inventory, tileAltar);
            }
            return null;
        case ID_BURNER_PYLON:
            if (tile instanceof TileChaosPylon) {
                return new GuiBurnerPylon(player.inventory, (TileChaosPylon) tile);
            }
            return null;
        case ID_MATERIAL_GRADER:
            if (tile instanceof TileMaterialGrader) {
                return new GuiMaterialGrader(player.inventory, (TileMaterialGrader) tile);
            }
            return null;
        case ID_QUIVER:
            EnumHand hand = x == 1 ? EnumHand.OFF_HAND : EnumHand.MAIN_HAND;
            ItemStack stack = player.getHeldItem(hand);
            return new GuiQuiver(new ContainerQuiver(stack, player.inventory, hand));
        default:
            SilentGems.logHelper.warning("No GUI with ID " + ID + "!");
            return null;
    }
}
Also used : TileEntity(net.minecraft.tileentity.TileEntity) ContainerQuiver(net.silentchaos512.gems.inventory.ContainerQuiver) TileChaosAltar(net.silentchaos512.gems.tile.TileChaosAltar) EnumHand(net.minecraft.util.EnumHand) TileChaosPylon(net.silentchaos512.gems.tile.TileChaosPylon) BlockPos(net.minecraft.util.math.BlockPos) ItemStack(net.minecraft.item.ItemStack) TileMaterialGrader(net.silentchaos512.gems.tile.TileMaterialGrader)

Example 2 with TileChaosAltar

use of net.silentchaos512.gems.tile.TileChaosAltar in project SilentGems by SilentChaos512.

the class GuiHandlerSilentGems method getServerGuiElement.

@Override
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
    TileEntity tile = world.getTileEntity(new BlockPos(x, y, z));
    if (ID != ID_QUIVER && tile == null) {
        SilentGems.logHelper.warning(String.format("Missing TileEntity at %d %d %d!", x, y, z));
        return null;
    }
    switch(ID) {
        case ID_ALTAR:
            if (tile instanceof TileChaosAltar) {
                TileChaosAltar tileAltar = (TileChaosAltar) tile;
                return new ContainerChaosAltar(player.inventory, tileAltar);
            }
            return null;
        case ID_BURNER_PYLON:
            if (tile instanceof TileChaosPylon) {
                return new ContainerBurnerPylon(player.inventory, (TileChaosPylon) tile);
            }
            return null;
        case ID_MATERIAL_GRADER:
            if (tile instanceof TileMaterialGrader) {
                return new ContainerMaterialGrader(player.inventory, (TileMaterialGrader) tile);
            }
            return null;
        case ID_QUIVER:
            EnumHand hand = x == 1 ? EnumHand.OFF_HAND : EnumHand.MAIN_HAND;
            ItemStack stack = player.getHeldItem(hand);
            return new ContainerQuiver(stack, player.inventory, hand);
        default:
            SilentGems.logHelper.warning("No GUI with ID " + ID + "!");
            return null;
    }
}
Also used : TileEntity(net.minecraft.tileentity.TileEntity) ContainerMaterialGrader(net.silentchaos512.gems.inventory.ContainerMaterialGrader) ContainerBurnerPylon(net.silentchaos512.gems.inventory.ContainerBurnerPylon) ContainerQuiver(net.silentchaos512.gems.inventory.ContainerQuiver) TileChaosAltar(net.silentchaos512.gems.tile.TileChaosAltar) EnumHand(net.minecraft.util.EnumHand) ContainerChaosAltar(net.silentchaos512.gems.inventory.ContainerChaosAltar) TileChaosPylon(net.silentchaos512.gems.tile.TileChaosPylon) BlockPos(net.minecraft.util.math.BlockPos) ItemStack(net.minecraft.item.ItemStack) TileMaterialGrader(net.silentchaos512.gems.tile.TileMaterialGrader)

Example 3 with TileChaosAltar

use of net.silentchaos512.gems.tile.TileChaosAltar in project SilentGems by SilentChaos512.

the class BlockChaosAltar method getComparatorInputOverride.

@Override
public int getComparatorInputOverride(IBlockState state, World world, BlockPos pos) {
    TileEntity tile = world.getTileEntity(pos);
    if (tile != null && tile instanceof TileChaosAltar) {
        TileChaosAltar altar = (TileChaosAltar) tile;
        float storedRatio = (float) altar.getCharge() / altar.getMaxCharge();
        return (int) (15 * storedRatio);
    }
    return 0;
}
Also used : TileEntity(net.minecraft.tileentity.TileEntity) TileChaosAltar(net.silentchaos512.gems.tile.TileChaosAltar)

Example 4 with TileChaosAltar

use of net.silentchaos512.gems.tile.TileChaosAltar in project SilentGems by SilentChaos512.

the class BlockChaosAltar method breakBlock.

@Override
public void breakBlock(World world, BlockPos pos, IBlockState state) {
    TileEntity tileAltar = world.getTileEntity(pos);
    if (tileAltar != null && tileAltar instanceof TileChaosAltar) {
        InventoryHelper.dropInventoryItems(world, pos, (TileChaosAltar) tileAltar);
        world.updateComparatorOutputLevel(pos, this);
    }
    super.breakBlock(world, pos, state);
}
Also used : TileEntity(net.minecraft.tileentity.TileEntity) TileChaosAltar(net.silentchaos512.gems.tile.TileChaosAltar)

Aggregations

TileEntity (net.minecraft.tileentity.TileEntity)4 TileChaosAltar (net.silentchaos512.gems.tile.TileChaosAltar)4 ItemStack (net.minecraft.item.ItemStack)2 EnumHand (net.minecraft.util.EnumHand)2 BlockPos (net.minecraft.util.math.BlockPos)2 ContainerQuiver (net.silentchaos512.gems.inventory.ContainerQuiver)2 TileChaosPylon (net.silentchaos512.gems.tile.TileChaosPylon)2 TileMaterialGrader (net.silentchaos512.gems.tile.TileMaterialGrader)2 ContainerBurnerPylon (net.silentchaos512.gems.inventory.ContainerBurnerPylon)1 ContainerChaosAltar (net.silentchaos512.gems.inventory.ContainerChaosAltar)1 ContainerMaterialGrader (net.silentchaos512.gems.inventory.ContainerMaterialGrader)1