@Override public String description() { return "Forces ViaVersion to scan server protocol versions " + (((BungeeViaConfig) Via.getConfig()).getBungeePingInterval() == -1 ? "" : "(Also happens at an interval)"); }
private BlockMappingsShortArray(JsonObject mapping1_12, JsonObject mapping1_13) { Arrays.fill(oldToNew, (short) -1); mapIdentifiers(oldToNew, mapping1_12, mapping1_13); // Map minecraft:snow[layers=1] of 1.12 to minecraft:snow[layers=2] in 1.13 if (Via.getConfig().isSnowCollisionFix()) { oldToNew[1248] = 3416; } }
@Override public String description() { return "Forces ViaVersion to scan server protocol versions " + (((VelocityViaConfig) Via.getConfig()).getVelocityPingInterval() == -1 ? "" : "(Also happens at an interval)"); }
private static void mapIdentifiers(Map<Integer, Integer> output, JsonObject oldIdentifiers, JsonObject newIdentifiers) { for (Map.Entry<String, JsonElement> entry : oldIdentifiers.entrySet()) { Map.Entry<String, JsonElement> value = findValue(newIdentifiers, entry.getValue().getAsString()); if (value == null) { if (!Via.getConfig().isSuppress1_13ConversionErrors() || Via.getManager().isDebug()) { Via.getPlatform().getLogger().warning("No key for " + entry.getValue() + " :( "); } continue; } output.put(Integer.parseInt(entry.getKey()), Integer.parseInt(value.getKey())); } }
private static void mapIdentifiers(short[] output, JsonObject oldIdentifiers, JsonObject newIdentifiers) { for (Map.Entry<String, JsonElement> entry : oldIdentifiers.entrySet()) { Map.Entry<String, JsonElement> value = findValue(newIdentifiers, entry.getValue().getAsString()); if (value == null) { if (!Via.getConfig().isSuppress1_13ConversionErrors() || Via.getManager().isDebug()) { Via.getPlatform().getLogger().warning("No key for " + entry.getValue() + " :( "); } continue; } output[Integer.parseInt(entry.getKey())] = Short.parseShort(value.getKey()); } }
@Override public void registerMap() { if (Via.getConfig().isServersideBlockConnections()) { handler(new PacketHandler() { @Override public void handle(PacketWrapper wrapper) throws Exception { int x = wrapper.passthrough(Type.INT); int z = wrapper.passthrough(Type.INT); ConnectionData.getProvider().unloadChunk(wrapper.user(), x, z); } }); } } });
private static void mapIdentifiers(short[] output, JsonArray oldIdentifiers, JsonArray newIdentifiers) { for (int i = 0; i < oldIdentifiers.size(); i++) { JsonElement v = oldIdentifiers.get(i); Integer index = findIndex(newIdentifiers, v.getAsString()); if (index == null) { if (!Via.getConfig().isSuppress1_13ConversionErrors() || Via.getManager().isDebug()) { Via.getPlatform().getLogger().warning("No key for " + v + " :( "); } continue; } output[i] = index.shortValue(); } }
@Override public int connect(UserConnection user, Position position, int blockState) { int blockBelowId = getBlockData(user, position.getRelative(BlockFace.BOTTOM)); if (flowers.containsKey(blockBelowId)) { int blockAboveId = getBlockData(user, position.getRelative(BlockFace.TOP)); if (Via.getConfig().isStemWhenBlockAbove()) { if (blockAboveId == 0) { return flowers.get(blockBelowId); } } else if (!flowers.containsKey(blockAboveId)) { return flowers.get(blockBelowId); } } return blockState; } }
public static EntityType getTypeFromId(int typeID, boolean isObject) { Optional<EntityType> type; if (isObject) type = ObjectType.getPCEntity(typeID); else type = EntityType.findById(typeID); if (!type.isPresent()) { if (!Via.getConfig().isSuppressMetadataErrors()) ViaBackwards.getPlatform().getLogger().severe("[EntityType1_10] Could not find type id " + typeID + " isObject=" + isObject); return EntityType.ENTITY; // Fall back to the basic ENTITY } return type.get(); }
public static EntityType getTypeFromId(int typeID, boolean isObject) throws Exception { Optional<EntityType> type; if (isObject) type = ObjectType.getPCEntity(typeID); else type = EntityType.findById(typeID); if (!type.isPresent()) { if (!Via.getConfig().isSuppressMetadataErrors()) ViaBackwards.getPlatform().getLogger().severe("[EntityType1_11] Could not find type id " + typeID + " isObject=" + isObject); return EntityType.ENTITY; // Fall back to the basic ENTITY } return type.get(); }
public static EntityType getTypeFromId(int typeID, boolean isObject) throws Exception { Optional<EntityType> type; if (isObject) type = ObjectType.getPCEntity(typeID); else type = EntityType.findById(typeID); if (!type.isPresent()) { if (!Via.getConfig().isSuppressMetadataErrors()) ViaBackwards.getPlatform().getLogger().severe("[EntityType1_12] Could not find type id " + typeID + " isObject=" + isObject); return EntityType.ENTITY; // Fall back to the basic ENTITY } return type.get(); }
@Override public boolean execute(ViaCommandSender sender, String[] args) { ConfigurationProvider provider = Via.getPlatform().getConfigurationProvider(); boolean newValue = !Via.getConfig().isCheckForUpdates(); provider.set("checkforupdates", newValue); provider.saveConfig(); sendMessage(sender, "&6We will %snotify you about updates.", (newValue ? "&a" : "&cnot ")); return true; } }
@EventHandler public void onJoin(PostLoginEvent e) { if (e.getPlayer().hasPermission("viaversion.update") && Via.getConfig().isCheckForUpdates()) { UpdateUtil.sendUpdateMessage(e.getPlayer().getUniqueId()); } } }
@Override public boolean execute(ViaCommandSender sender, String[] args) { ConfigurationProvider provider = Via.getPlatform().getConfigurationProvider(); boolean newValue = !Via.getConfig().isAutoTeam(); provider.set("auto-team", newValue); provider.saveConfig(); sendMessage(sender, "&6We will %s", (newValue ? "&aautomatically team players" : "&cno longer auto team players")); sendMessage(sender, "&6All players will need to re-login for the change to take place."); return true; } }
@Listener public void onJoin(ClientConnectionEvent.Join join) { if (join.getTargetEntity().hasPermission("viaversion.update") && Via.getConfig().isCheckForUpdates()) { UpdateUtil.sendUpdateMessage(join.getTargetEntity().getUniqueId()); } } }
@EventHandler public void onJoin(PlayerJoinEvent e) { if (e.getPlayer().hasPermission("viaversion.update") && Via.getConfig().isCheckForUpdates()) { UpdateUtil.sendUpdateMessage(e.getPlayer().getUniqueId()); } } }
@Subscribe public void onJoin(PostLoginEvent e) { if (e.getPlayer().hasPermission("viaversion.update") && Via.getConfig().isCheckForUpdates()) { UpdateUtil.sendUpdateMessage(e.getPlayer().getUniqueId()); } } }
@Listener(order = Order.LAST) public void onDeath(DestructEntityEvent.Death e) { if (!(e.getTargetEntity() instanceof Player)) return; Player p = (Player) e.getTargetEntity(); if (isOnPipe(p.getUniqueId()) && Via.getConfig().isShowNewDeathMessages() && checkGamerule(p.getWorld())) { sendPacket(p, e.getMessage().toPlain()); } }
@Override protected void register(ViaProviders providers) { providers.register(HandItemProvider.class, new HandItemProvider()); providers.register(BulkChunkTranslatorProvider.class, new BulkChunkTranslatorProvider()); providers.register(CommandBlockProvider.class, new CommandBlockProvider()); providers.register(EntityIdProvider.class, new EntityIdProvider()); providers.register(BossBarProvider.class, new BossBarProvider()); providers.require(MovementTransmitterProvider.class); if (Via.getConfig().isStimulatePlayerTick()) { Via.getPlatform().runRepeatingSync(new ViaIdleThread(), 1L); } }
@Override public void init(UserConnection userConnection) { userConnection.put(new EntityTracker(userConnection)); userConnection.put(new TabCompleteTracker(userConnection)); if (!userConnection.has(ClientWorld.class)) userConnection.put(new ClientWorld(userConnection)); userConnection.put(new BlockStorage(userConnection)); if (Via.getConfig().isServersideBlockConnections()) { if (Via.getManager().getProviders().get(BlockConnectionProvider.class) instanceof PacketBlockConnectionProvider) { userConnection.put(new BlockConnectionStorage(userConnection)); } } }