本文整理汇总了Java中cn.nukkit.network.protocol.ProtocolInfo类的典型用法代码示例。如果您正苦于以下问题:Java ProtocolInfo类的具体用法?Java ProtocolInfo怎么用?Java ProtocolInfo使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ProtocolInfo类属于cn.nukkit.network.protocol包,在下文中一共展示了ProtocolInfo类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getPacket
import cn.nukkit.network.protocol.ProtocolInfo; //导入依赖的package包/类
private DataPacket getPacket(byte[] buffer) {
int start = 0;
if (buffer[0] == (byte) 0xfe) {
start++;
}
DataPacket data = this.network.getPacket(ProtocolInfo.BATCH_PACKET);
if (data == null) {
return null;
}
data.setBuffer(buffer, start);
return data;
}
示例2: setName
import cn.nukkit.network.protocol.ProtocolInfo; //导入依赖的package包/类
@Override
public void setName(String name) {
QueryRegenerateEvent info = this.server.getQueryInformation();
String[] names = name.split("[email protected]#"); //Split double names within the program
this.handler.sendOption("name",
"MCPE;" + Utils.rtrim(names[0].replace(";", "\\;"), '\\') + ";" +
ProtocolInfo.CURRENT_PROTOCOL + ";" +
ProtocolInfo.MINECRAFT_VERSION_NETWORK + ";" +
info.getPlayerCount() + ";" +
info.getMaxPlayerCount() + ";" +
this.server.getServerUniqueId().toString() + ";" +
(names.length > 1 ? Utils.rtrim(names[1].replace(";", "\\;"), '\\') : "") + ";" +
Server.getGamemodeString(this.server.getDefaultGamemode(), true) + ";");
}
示例3: setName
import cn.nukkit.network.protocol.ProtocolInfo; //导入依赖的package包/类
@Override
public void setName(String name) {
QueryRegenerateEvent info = this.server.getQueryInformation();
this.handler.sendOption("name",
"MCPE;" + Utils.rtrim(name.replace(";", "\\;"), '\\') + ";" +
ProtocolInfo.CURRENT_PROTOCOL + ";" +
ProtocolInfo.MINECRAFT_VERSION_NETWORK + ";" +
info.getPlayerCount() + ";" +
info.getMaxPlayerCount());
}
示例4: setName
import cn.nukkit.network.protocol.ProtocolInfo; //导入依赖的package包/类
@Override
public void setName(String name) {
QueryRegenerateEvent info = this.server.getQueryInformation();
this.handler.sendOption("name",
"MCPE;" + name.replace(";", "\\;") + ";" +
ProtocolInfo.CURRENT_PROTOCOL + ";" +
Nukkit.MINECRAFT_VERSION_NETWORK + ";" +
info.getPlayerCount() + ";" +
info.getMaxPlayerCount());
}
示例5: setName
import cn.nukkit.network.protocol.ProtocolInfo; //导入依赖的package包/类
@Override
public void setName(String name) {
QueryRegenerateEvent info = this.server.getQueryInformation();
this.handler.sendOption("name",
"MCPE;" + name.replace(";", "\\;") + ";" +
ProtocolInfo.CURRENT_PROTOCOL + ";" +
ProtocolInfo.MINECRAFT_VERSION_NETWORK + ";" +
info.getPlayerCount() + ";" +
info.getMaxPlayerCount());
}
示例6: getVersion
import cn.nukkit.network.protocol.ProtocolInfo; //导入依赖的package包/类
public String getVersion() {
return ProtocolInfo.MINECRAFT_VERSION;
}
示例7: execute
import cn.nukkit.network.protocol.ProtocolInfo; //导入依赖的package包/类
@Override
public boolean execute(CommandSender sender, String commandLabel, String[] args) {
if (!this.testPermission(sender)) {
return true;
}
if (args.length == 0) {
sender.sendMessage(new TranslationContainer("nukkit.server.info.extended", new String[]{
sender.getServer().getName(),
sender.getServer().getNukkitVersion(),
sender.getServer().getCodename(),
sender.getServer().getApiVersion(),
sender.getServer().getVersion(),
String.valueOf(ProtocolInfo.CURRENT_PROTOCOL)
}));
} else {
String pluginName = "";
for (String arg : args) pluginName += arg + " ";
pluginName = pluginName.trim();
final boolean[] found = {false};
final Plugin[] exactPlugin = {sender.getServer().getPluginManager().getPlugin(pluginName)};
if (exactPlugin[0] == null) {
pluginName = pluginName.toLowerCase();
final String finalPluginName = pluginName;
sender.getServer().getPluginManager().getPlugins().forEach((s, p) -> {
if (s.toLowerCase().contains(finalPluginName)) {
exactPlugin[0] = p;
found[0] = true;
}
});
} else {
found[0] = true;
}
if (found[0]) {
PluginDescription desc = exactPlugin[0].getDescription();
sender.sendMessage(TextFormat.DARK_GREEN + desc.getName() + TextFormat.WHITE + " version " + TextFormat.DARK_GREEN + desc.getVersion());
if (desc.getDescription() != null) {
sender.sendMessage(desc.getDescription());
}
if (desc.getWebsite() != null) {
sender.sendMessage("Website: " + desc.getWebsite());
}
List<String> authors = desc.getAuthors();
final String[] authorsString = {""};
authors.forEach((s) -> authorsString[0] += s);
if (authors.size() == 1) {
sender.sendMessage("Author: " + authorsString[0]);
} else if (authors.size() >= 2) {
sender.sendMessage("Authors: " + authorsString[0]);
}
} else {
sender.sendMessage(new TranslationContainer("nukkit.command.version.noSuchPlugin"));
}
}
return true;
}
示例8: execute
import cn.nukkit.network.protocol.ProtocolInfo; //导入依赖的package包/类
@Override
public boolean execute(CommandSender sender, String commandLabel, String[] args) {
if (!this.testPermission(sender)) {
return true;
}
if (args.length == 0) {
sender.sendMessage(sender.getServer().getLanguage().translateString("nukkit.server.info.extended", new String[]{
sender.getServer().getName(),
sender.getServer().getNukkitVersion(),
sender.getServer().getCodename(),
sender.getServer().getApiVersion(),
sender.getServer().getVersion(),
String.valueOf(ProtocolInfo.CURRENT_PROTOCOL)
}) + "使用しているJupiterのバージョンは" + sender.getServer().getJupiterVersion() + "です。");
} else {
String pluginName = "";
for (String arg : args) pluginName += arg + " ";
pluginName = pluginName.trim();
final boolean[] found = {false};
final Plugin[] exactPlugin = {sender.getServer().getPluginManager().getPlugin(pluginName)};
if (exactPlugin[0] == null) {
pluginName = pluginName.toLowerCase();
final String finalPluginName = pluginName;
sender.getServer().getPluginManager().getPlugins().forEach((s, p) -> {
if (s.toLowerCase().contains(finalPluginName)) {
exactPlugin[0] = p;
found[0] = true;
}
});
} else {
found[0] = true;
}
if (found[0]) {
PluginDescription desc = exactPlugin[0].getDescription();
sender.sendMessage(TextFormat.DARK_GREEN + desc.getName() + TextFormat.WHITE + " version " + TextFormat.DARK_GREEN + desc.getVersion());
if (desc.getDescription() != null) {
sender.sendMessage(desc.getDescription());
}
if (desc.getWebsite() != null) {
sender.sendMessage("Website: " + desc.getWebsite());
}
List<String> authors = desc.getAuthors();
final String[] authorsString = {""};
authors.forEach((s) -> authorsString[0] += s);
if (authors.size() == 1) {
sender.sendMessage("Author: " + authorsString[0]);
} else if (authors.size() >= 2) {
sender.sendMessage("Authors: " + authorsString[0]);
}
} else {
sender.sendMessage(new TranslationContainer("nukkit.command.version.noSuchPlugin"));
}
}
return true;
}
示例9: onEnable
import cn.nukkit.network.protocol.ProtocolInfo; //导入依赖的package包/类
@Override
public void onEnable() {
this.getServer().getNetwork().registerPacket(ProtocolInfo.SET_HEALTH_PACKET, SetHealthPacket.class);
this.messenger = new StandardMessenger();
loadEntries();
}
示例10: handleDataPacket
import cn.nukkit.network.protocol.ProtocolInfo; //导入依赖的package包/类
public void handleDataPacket(SynapseDataPacket pk) {
this.handleDataPacketTiming.startTiming();
//this.getSynapse().getLogger().warning("Received packet " + pk.pid() + "(" + pk.getClass().getSimpleName() + ") from " + this.serverIp + ":" + this.port);
switch (pk.pid()) {
case SynapseInfo.DISCONNECT_PACKET:
DisconnectPacket disconnectPacket = (DisconnectPacket) pk;
this.verified = false;
switch (disconnectPacket.type) {
case DisconnectPacket.TYPE_GENERIC:
this.getSynapse().getLogger().notice("Synapse Client has disconnected due to " + disconnectPacket.message);
this.synapseInterface.reconnect();
break;
case DisconnectPacket.TYPE_WRONG_PROTOCOL:
this.getSynapse().getLogger().error(disconnectPacket.message);
break;
}
break;
case SynapseInfo.INFORMATION_PACKET:
InformationPacket informationPacket = (InformationPacket) pk;
switch (informationPacket.type) {
case InformationPacket.TYPE_LOGIN:
if (informationPacket.message.equals(InformationPacket.INFO_LOGIN_SUCCESS)) {
this.getSynapse().getLogger().notice("Login success to " + this.serverIp + ":" + this.port);
this.verified = true;
} else if (informationPacket.message.equals(InformationPacket.INFO_LOGIN_FAILED)) {
this.getSynapse().getLogger().notice("Login failed to " + this.serverIp + ":" + this.port);
}
break;
case InformationPacket.TYPE_CLIENT_DATA:
this.clientData = new Gson().fromJson(informationPacket.message, ClientData.class);
this.lastRecvInfo = System.currentTimeMillis();
//this.getSynapse().getLogger().debug("Received ClientData from " + this.serverIp + ":" + this.port);
break;
}
break;
case SynapseInfo.PLAYER_LOGIN_PACKET:
this.playerLoginQueue.offer((PlayerLoginPacket)pk);
break;
case SynapseInfo.REDIRECT_PACKET:
RedirectPacket redirectPacket = (RedirectPacket) pk;
UUID uuid = redirectPacket.uuid;
if (this.players.containsKey(uuid)) {
DataPacket pk0 = this.getSynapse().getPacket(redirectPacket.mcpeBuffer);
if (pk0 != null) {
this.handleRedirectPacketTiming.startTiming();
if (pk0.pid() == ProtocolInfo.BATCH_PACKET) pk0.setOffset(1);
pk0.decode();
SynapsePlayer player = this.players.get(uuid);
if (pk0.pid() == ProtocolInfo.BATCH_PACKET) {
this.processBatch((BatchPacket) pk0).forEach(subPacket -> {
this.redirectPacketQueue.offer(new RedirectPacketEntry(player, subPacket));
//Server.getInstance().getLogger().info("C => S " + subPacket.getClass().getSimpleName());
});
} else {
this.redirectPacketQueue.offer(new RedirectPacketEntry(player, pk0));
}
this.handleRedirectPacketTiming.stopTiming();
}
}
break;
case SynapseInfo.PLAYER_LOGOUT_PACKET:
this.playerLogoutQueue.offer((PlayerLogoutPacket)pk);
break;
case SynapseInfo.PLUGIN_MESSAGE_PACKET:
PluginMessagePacket messagePacket = (PluginMessagePacket) pk;
this.synapse.getMessenger().dispatchIncomingMessage(this, messagePacket.channel, messagePacket.data);
break;
}
//this.handleDataPacketTiming.stopTiming();
}
示例11: getVersion
import cn.nukkit.network.protocol.ProtocolInfo; //导入依赖的package包/类
/**
* マインクラフトPEのバージョンを取得します。
* @return String Minecraftバージョン
*/
public String getVersion() {
return ProtocolInfo.MINECRAFT_VERSION;
}