001package net.tnemc.plugincore.core.compatibility; 002 003/* 004 * The New Plugin Core 005 * Copyright (C) 2022 - 2024 Daniel "creatorfromhell" Vidmar 006 * 007 * This program is free software: you can redistribute it and/or modify 008 * it under the terms of the GNU Affero General Public License as published by 009 * the Free Software Foundation, either version 3 of the License, or 010 * (at your option) any later version. 011 * 012 * This program is distributed in the hope that it will be useful, 013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 015 * GNU Affero General Public License for more details. 016 * 017 * You should have received a copy of the GNU Affero General Public License 018 * along with this program. If not, see <http://www.gnu.org/licenses/>. 019 */ 020 021/** 022 * ProxyProvider represents a Proxy method instances such as Bungee/Velocity in an implementation. 023 * 024 * @author creatorfromhell 025 * @since 0.1.2.0 026 */ 027public interface ProxyProvider { 028 029 /** 030 * Used to register a plugin message channel. 031 * @param channel The channel to register. 032 */ 033 void registerChannel(final String channel); 034 035 /** 036 * Used to send a message through a specific plugin message channel. 037 * @param channel The channel to send the message through. 038 * @param bytes The byte data to send. 039 */ 040 void send(final String channel, final byte[] bytes); 041}