• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java ProtocolSupportAPI类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中protocolsupport.api.ProtocolSupportAPI的典型用法代码示例。如果您正苦于以下问题:Java ProtocolSupportAPI类的具体用法?Java ProtocolSupportAPI怎么用?Java ProtocolSupportAPI使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



ProtocolSupportAPI类属于protocolsupport.api包,在下文中一共展示了ProtocolSupportAPI类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: start

import protocolsupport.api.ProtocolSupportAPI; //导入依赖的package包/类
public void start() {
	Bukkit.getPluginManager().registerEvents(this, ProtocolSupportLegacySupport.getInstance());
	ProtocolSupportAPI.getConnections().forEach(this::initConnection);
	Bukkit.getScheduler().runTaskTimer(ProtocolSupportLegacySupport.getInstance(), () -> {
		ProtocolSupportAPI.getConnections().forEach(connection -> {
			Player player = connection.getPlayer();
			if (player == null) {
				return;
			}
			LegacyBossBar bossbar = getBossBar(connection);
			if (bossbar == null) {
				return;
			}
			bossbar.handlePlayerTick(connection, player);
		});
	}, 0, 1);
}
 
开发者ID:ProtocolSupport,项目名称:ProtocolSupportLegacySupport,代码行数:18,代码来源:BossBarHandler.java


示例2: execute

import protocolsupport.api.ProtocolSupportAPI; //导入依赖的package包/类
@Override
public void execute(CommandSender sender, String[] args) {
	if ((args.length == 1) || (args.length == 2)) {
		if (args[0].equalsIgnoreCase("list")) {
			sender.sendMessage(new TextComponent(ChatColor.GREEN + "ProtocolSupport Players:"));
			for (ProtocolVersion version : ProtocolVersion.getAllSupported()) {
				List<String> players = ProxyServer.getInstance().getPlayers().stream()
				.filter(player -> ProtocolSupportAPI.getProtocolVersion(player) == version)
				.map(player -> player.getName())
				.collect(Collectors.toList());
				if (!players.isEmpty() || ((args.length == 2) && (args[1].equalsIgnoreCase("v") || args[1].equalsIgnoreCase("verbose")))) {
					sender.sendMessage(new TextComponent(ChatColor.GOLD + "[" + version.getName() + "]: " + ChatColor.GREEN + String.join(", ", players)));
				}
			}
			if ((args.length == 1) || !(args[1].equalsIgnoreCase("v") || args[1].equalsIgnoreCase("verbose"))) {
				sender.sendMessage(new TextComponent(ChatColor.GOLD + "List all compatible versions using " + ChatColor.GREEN + "/psb list verbose"));
			}
		} else if (args[0].equalsIgnoreCase("connections")) {
			for (Connection connection : ProtocolSupportAPI.getConnections()) {
				sender.sendMessage(new TextComponent(ChatColor.GREEN + connection.toString()));
			}
		}
	}
}
 
开发者ID:ProtocolSupport,项目名称:ProtocolSupportBungee,代码行数:25,代码来源:CommandHandler.java


示例3: handle

import protocolsupport.api.ProtocolSupportAPI; //导入依赖的package包/类
@Override
public boolean handle(CommandSender sender, String[] args) {
	boolean verbose = (args.length == 1) && (args[0].equalsIgnoreCase("v") || args[0].equalsIgnoreCase("verbose"));
	sender.sendMessage(ChatColor.YELLOW + "ProtocolSupport Players:");
	for (ProtocolVersion version : ProtocolVersion.getAllSupported()) {
		List<String> players = Bukkit.getOnlinePlayers().stream()
		.filter(player -> ProtocolSupportAPI.getProtocolVersion(player) == version)
		.map(player -> player.getName())
		.collect(Collectors.toList());
		if (!players.isEmpty() || verbose) {
			sender.sendMessage(ChatColor.YELLOW + "[" + version.getName() + "]: " + ChatColor.GREEN + String.join(", ", players));
		}
	}
	if (!verbose) {
		sender.sendMessage(ChatColor.YELLOW + "List all compatible versions using by adding verbose or v argument to this command");
	}
	return true;
}
 
开发者ID:ProtocolSupport,项目名称:ProtocolSupport,代码行数:19,代码来源:PlayerListSubCommand.java


示例4: prepare

import protocolsupport.api.ProtocolSupportAPI; //导入依赖的package包/类
protected static ConnectionImpl prepare(Channel channel, ProtocolVersion version) {
	channel.pipeline().remove(ChannelHandlers.INITIAL_DECODER);
	ConnectionImpl connection = ConnectionImpl.getFromChannel(channel);
	if (ServerPlatform.get().getMiscUtils().isDebugging()) {
		ProtocolSupport.logInfo(MessageFormat.format("{0} connected with protocol version {1}", connection.getAddress(), version));
	}
	connection.getNetworkManagerWrapper().setPacketListener(ServerPlatform.get().getWrapperFactory().createHandshakeListener(connection.getNetworkManagerWrapper()));
	if (!ProtocolSupportAPI.isProtocolVersionEnabled(version)) {
		if (version.getProtocolType() == ProtocolType.PC) {
			version = version.isBeforeOrEq(ProtocolVersion.MINECRAFT_1_6_4) ? ProtocolVersion.MINECRAFT_LEGACY : ProtocolVersion.MINECRAFT_FUTURE;
		} else {
			throw new IllegalArgumentException(MessageFormat.format("Unable to get legacy or future version for disabled protocol version {0}", version));
		}
	}
	connection.setVersion(version);
	return connection;
}
 
开发者ID:ProtocolSupport,项目名称:ProtocolSupport,代码行数:18,代码来源:InitialPacketDecoder.java


示例5: sendSimpleTitle

import protocolsupport.api.ProtocolSupportAPI; //导入依赖的package包/类
/**
 * Sends title, subtitle, and it's params <br>
 * Title and subtitle can't be both null
 * @param player Player to which title is sent
 * @param titleJson title chat json or null
 * @param subtitleJson subtitle chat json or null
 * @param fadeIn ticks to spend fading in
 * @param stay ticks to display
 * @param fadeOut ticks to spend fading out
 */
public static void sendSimpleTitle(Player player, String titleJson, String subtitleJson, int fadeIn, int stay, int fadeOut) {
	Validate.notNull(player, "Player can't be null");
	if ((titleJson == null) && (subtitleJson == null)) {
		throw new IllegalArgumentException("Title and subtitle can't be both null");
	}
	Connection connection = ProtocolSupportAPI.getConnection(player);
	connection.sendPacket(ServerPlatform.get().getPacketFactory().createTitleParamsPacket(fadeIn, stay, fadeOut));
	if (subtitleJson != null) {
		connection.sendPacket(ServerPlatform.get().getPacketFactory().createTitleSubPacket(subtitleJson));
	}
	if (titleJson == null) {
		titleJson = "";
	}
	connection.sendPacket(ServerPlatform.get().getPacketFactory().createTitleMainPacket(titleJson));
}
 
开发者ID:ProtocolSupport,项目名称:ProtocolSupport,代码行数:26,代码来源:TitleAPI.java


示例6: FeatureEmulation

import protocolsupport.api.ProtocolSupportAPI; //导入依赖的package包/类
public FeatureEmulation() {
	Bukkit.getScheduler().runTaskTimer(ProtocolSupport.getInstance(), () -> {
		Bukkit.getOnlinePlayers().stream()
		.filter(player -> {
			ProtocolVersion version = ProtocolSupportAPI.getProtocolVersion(player);
			return (version.getProtocolType() == ProtocolType.PC) && version.isBefore(ProtocolVersion.MINECRAFT_1_9);
		})
		.filter(player -> player.hasPotionEffect(PotionEffectType.LEVITATION))
		.filter(player -> !player.isFlying())
		.forEach(player -> {
			Vector vel = player.getVelocity();
			vel.setY(vel.getY() + (((0.05D * (player.getPotionEffect(PotionEffectType.LEVITATION).getAmplifier() + 1)) - vel.getY()) * 0.2D));
			player.setVelocity(vel);
		});
	}, 1, 1);
}
 
开发者ID:ProtocolSupport,项目名称:ProtocolSupport,代码行数:17,代码来源:FeatureEmulation.java


示例7: onEntityDamage

import protocolsupport.api.ProtocolSupportAPI; //导入依赖的package包/类
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onEntityDamage(EntityDamageEvent event) {
	if (((event.getCause() == DamageCause.FIRE_TICK) || (event.getCause() == DamageCause.FIRE) || (event.getCause() == DamageCause.DROWNING))) {
		for (Player player : ServerPlatform.get().getMiscUtils().getNearbyPlayers(event.getEntity().getLocation(), 48, 128, 48)) {
			if (player != null) {
				Connection connection = ProtocolSupportAPI.getConnection(player);
				if (
					(connection != null) &&
					(connection.getVersion().getProtocolType() == ProtocolType.PC) &&
					connection.getVersion().isBefore(ProtocolVersion.MINECRAFT_1_12)
				) {
					connection.sendPacket(ServerPlatform.get().getPacketFactory().createEntityStatusPacket(event.getEntity(), 2));
				}
			}
		}
	}
}
 
开发者ID:ProtocolSupport,项目名称:ProtocolSupport,代码行数:18,代码来源:FeatureEmulation.java


示例8: getProtocol

import protocolsupport.api.ProtocolSupportAPI; //导入依赖的package包/类
@Override
protected ProtocolVersion getProtocol(Player player) {
    if (protocolSupported) {
        return ProtocolVersion.getVersion(ProtocolSupportAPI.getProtocolVersion(player).getId());
    }

    return null;
}
 
开发者ID:games647,项目名称:Minefana,代码行数:9,代码来源:BukkitPlayerCollector.java


示例9: setup

import protocolsupport.api.ProtocolSupportAPI; //导入依赖的package包/类
@Override
public void setup(@Nonnull TerminableConsumer consumer) {
    Events.subscribe(PlayerLoginEvent.class, EventPriority.MONITOR)
            .filter(e -> e.getResult() == PlayerLoginEvent.Result.ALLOWED)
            .handler(e -> {
                plugin.getDataManager().logPlayer(e.getPlayer().getUniqueId(), e.getPlayer().getName());
                Metadata.provideForPlayer(e.getPlayer()).put(NetworkAnalytics.CONNECTION_TIME_SECONDS, (System.currentTimeMillis() / 1000L));
            })
            .bindWith(consumer);

    Events.subscribe(PlayerJoinEvent.class, EventPriority.MONITOR)
            .handler(e -> {
                ProtocolVersion protocolVersion = ProtocolSupportAPI.getProtocolVersion(e.getPlayer());
                if (protocolVersion != null) {
                    Metadata.provideForPlayer(e.getPlayer()).put(NetworkAnalytics.PROTOCOL_VERSION, protocolVersion);
                }
            })
            .bindWith(consumer);

    Events.subscribe(PlayerQuitEvent.class)
            .handler(e -> {
                Long loginTime = Metadata.provideForPlayer(e.getPlayer()).getOrNull(NetworkAnalytics.CONNECTION_TIME_SECONDS);
                long now = System.currentTimeMillis() / 1000L;
                if (loginTime != null) {
                    long diff = now - loginTime;
                    int mins = (int) TimeUnit.SECONDS.toMinutes(diff);
                    if (mins > 0) {
                        plugin.getDataManager().incrementPlayerMinutesPlayed(e.getPlayer().getUniqueId(), mins);
                    }
                }
            })
            .bindWith(consumer);
}
 
开发者ID:lucko,项目名称:NetworkAnalytics,代码行数:34,代码来源:AnalyticsListener.java


示例10: onLogin

import protocolsupport.api.ProtocolSupportAPI; //导入依赖的package包/类
@EventHandler
public void onLogin(PlayerJoinEvent e) {
	ProtocolVersion ver = ProtocolSupportAPI.getProtocolVersion(e.getPlayer());
	if (ver.isBefore(ProtocolVersion.MINECRAFT_1_7_5)) {
		e.getPlayer().kickPlayer(Util.parseColors("&c" + ver.getName() + " &fis not supported by iZenith.\n" + "Supported versions are &a1.7.x&f, &a1.8.x &fand &a1.9.x"));
	}
}
 
开发者ID:bobmandude9889,项目名称:iZenith-PVP,代码行数:8,代码来源:ServerListHandler.java


示例11: kickBoats

import protocolsupport.api.ProtocolSupportAPI; //导入依赖的package包/类
public static void kickBoats() {
	for (Player player : Bukkit.getOnlinePlayers()) {
		if(player.isInsideVehicle() && player.getVehicle() instanceof Boat && ProtocolSupportAPI.getProtocolVersion(player).isBefore(ProtocolVersion.MINECRAFT_1_9)){
			player.getVehicle().eject();
			player.sendMessage(ChatColor.RED + "Boats are currently disabled for versions lower than " + ChatColor.DARK_RED + "1.9");
		}
	}
}
 
开发者ID:bobmandude9889,项目名称:iZenith-PVP,代码行数:9,代码来源:Util.java


示例12: onFinishLogin

import protocolsupport.api.ProtocolSupportAPI; //导入依赖的package包/类
@EventHandler(priority = EventPriority.LOW)
public void onFinishLogin(PlayerLoginFinishEvent event) throws InterruptedException, ExecutionException, InvocationTargetException {
	Connection connection = ProtocolSupportAPI.getConnection(event.getAddress());

	if (event.isLoginDenied() || !Settings.captchaEnabled || Bukkit.getOfflinePlayer(event.getUUID()).hasPlayedBefore()) {
		cleanupConnection(connection);
		return;
	}

	ValidatorInfo validator = (ValidatorInfo) connection.getMetadata(validator_info_key);

	if (validator == null) {
		return;
	}

	byte[] mapdata = MapCaptchaPainter.create(validator.generateCaptcha());

	connection.sendPacket(Packets.createSetSlotPacket(36, new ItemStack(Material.MAP, 1, (short) 1)));
	connection.sendPacket(Packets.createMapDataPacket(1, mapdata));

	connection.sendPacket(Packets.createChatPacket(Settings.captchaStartMessage));

	try {
		if (!validator.waitConfirm(Settings.captchaMaxWait, TimeUnit.SECONDS)) {
			BanDataSource.getInstance().ban(event.getAddress().getAddress());
			event.denyLogin(Settings.captchaFailMessage);
		} else {
			if (validator.isSuccess()) {
				connection.sendPacket(Packets.createChatPacket(Settings.captchaSuccessMessage));
			} else {
				BanDataSource.getInstance().ban(event.getAddress().getAddress());
				event.denyLogin(Settings.captchaFailTryBanMessage.replace("{MAXTRIES}", String.valueOf(Settings.captchaMaxTries)));
			}
		}
		cleanupConnection(connection);
	} catch (AbortedException e) {
	}
}
 
开发者ID:ProtocolSupport,项目名称:ProtocolSupportAntiBot,代码行数:39,代码来源:CaptchaValidator.java


示例13: get

import protocolsupport.api.ProtocolSupportAPI; //导入依赖的package包/类
@Override
@Nullable
protected ItemType[] get(Event e) {
	Material m = item.getSingle(e).getRandom().getType();
	ItemRemapperControl mapper = ProtocolSupportAPI.getItemRemapper(version.getSingle(e));
	@SuppressWarnings("deprecation")
	ItemType itemType = new ItemType(mapper.getRemap(mapper.getRemap(m).getId()));
	return new ItemType[]{itemType};
}
 
开发者ID:TheLimeGlass,项目名称:Skellett,代码行数:10,代码来源:ExprItemRemapperItemType.java


示例14: change

import protocolsupport.api.ProtocolSupportAPI; //导入依赖的package包/类
@Override
public void change(Event e, Object[] delta, Changer.ChangeMode mode){
	Material mbefore = item.getSingle(e).getRandom().getType();
	Material m = ((ItemType)delta[0]).getRandom().getType();
	ItemRemapperControl mapper = ProtocolSupportAPI.getItemRemapper(version.getSingle(e));
	if (mode == ChangeMode.SET) {
		mapper.setRemap(mbefore, m);
	} else if (mode == ChangeMode.RESET) {
		mapper.setRemap(mbefore, mbefore);
	}
}
 
开发者ID:TheLimeGlass,项目名称:Skellett,代码行数:12,代码来源:ExprItemRemapperItemType.java


示例15: get

import protocolsupport.api.ProtocolSupportAPI; //导入依赖的package包/类
@Override
@Nullable
protected Number[] get(Event e) {
	Number itemMaterial = item.getSingle(e);
	ItemRemapperControl mapper = ProtocolSupportAPI.getItemRemapper(version.getSingle(e));
	return new Number[]{mapper.getRemap(itemMaterial.intValue())};
}
 
开发者ID:TheLimeGlass,项目名称:Skellett,代码行数:8,代码来源:ExprItemRemapperID.java


示例16: change

import protocolsupport.api.ProtocolSupportAPI; //导入依赖的package包/类
@Override
public void change(Event e, Object[] delta, Changer.ChangeMode mode){
	Number itemAfter = (Number)delta[0];
	Number itemBefore = item.getSingle(e);
	ItemRemapperControl mapper = ProtocolSupportAPI.getItemRemapper(version.getSingle(e));
	if (mode == ChangeMode.SET) {
		mapper.setRemap(itemBefore.intValue(), itemAfter.intValue());
	} else if (mode == ChangeMode.RESET) {
		mapper.setRemap(itemAfter.intValue(), itemAfter.intValue());
	}
}
 
开发者ID:TheLimeGlass,项目名称:Skellett,代码行数:12,代码来源:ExprItemRemapperID.java


示例17: get

import protocolsupport.api.ProtocolSupportAPI; //导入依赖的package包/类
@Override
@Nullable
protected ProtocolVersion[] get(Event e) {
	
	//This is a dummy expression until the next ProtocolSupport version is released
	//This expression is not registered
	
	//return ProtocolSupportAPI.getConnections();
	
	return new ProtocolVersion[]{ProtocolSupportAPI.getProtocolVersion(Bukkit.getOnlinePlayers().stream().findAny().get())};
}
 
开发者ID:TheLimeGlass,项目名称:Skellett,代码行数:12,代码来源:ExprAllProtocolVersions.java


示例18: change

import protocolsupport.api.ProtocolSupportAPI; //导入依赖的package包/类
@Override
public void change(Event e, Object[] delta, Changer.ChangeMode mode){
	BlockRemapperControl mapper = ProtocolSupportAPI.getBlockRemapper(version.getSingle(e));
	if (mode == ChangeMode.SET) {
		mapper.setRemap(md.getSingle(e), (MaterialAndData)delta[0]);
	} else if (mode == ChangeMode.RESET) {
		mapper.setRemap(md.getSingle(e), md.getSingle(e));
	}
}
 
开发者ID:TheLimeGlass,项目名称:Skellett,代码行数:10,代码来源:ExprBlockRemapperItemType.java


示例19: has18OrLater

import protocolsupport.api.ProtocolSupportAPI; //导入依赖的package包/类
@Override
public boolean has18OrLater(ProxiedPlayer player) {
    ProtocolVersion protocolVersion = ProtocolSupportAPI.getProtocolVersion(player);
    if (psb12) {
        switch (protocolVersion) {
            case MINECRAFT_1_8:
                return true;
            default:
                return false;
        }
    } else {
        return protocolVersion.isAfterOrEq(ProtocolVersion.MINECRAFT_1_8);
    }
}
 
开发者ID:CodeCrafter47,项目名称:BungeeTabListPlus,代码行数:15,代码来源:ProtocolSupportVersionProvider.java


示例20: handle

import protocolsupport.api.ProtocolSupportAPI; //导入依赖的package包/类
@Override
public boolean handle(CommandSender sender, String[] args) {
	for (Connection connection : ProtocolSupportAPI.getConnections()) {
		sender.sendMessage(ChatColor.YELLOW + connection.toString());
	}
	return true;
}
 
开发者ID:ProtocolSupport,项目名称:ProtocolSupport,代码行数:8,代码来源:ConnectionsListSubCommand.java



注:本文中的protocolsupport.api.ProtocolSupportAPI类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Column类代码示例发布时间:2022-05-22
下一篇:
Java SoyTemplateRenderer类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap