if (entry.value != null) { try { typeAdapterRegistry.getTypeAdapter((TypeToken<Object>) entry.key.getType()).write(output, entry.value); } catch (IOException e1) { e1.printStackTrace();
if (entry.value != null) { try { typeAdapterRegistry.getTypeAdapter((TypeToken<Object>) entry.key.getType()).write(output, entry.value); } catch (IOException e1) { e1.printStackTrace();
} else { Object value = typeAdapterRegistry.getTypeAdapter(key.getType()).read(input); plugin.runInMainThread(() -> cache.updateValue((DataKey<Object>) key, value)); value = typeAdapterRegistry.getTypeAdapter(key.getType()).read(input);
private <T> void updateData(UUID uuid, DataKey<T> key, T value) { try { ByteArrayDataOutput data = ByteStreams.newDataOutput(); DataStreamUtils.writeUUID(data, uuid); DataStreamUtils.writeDataKey(data, key); data.writeBoolean(value == null); if (value != null) { typeRegistry.getTypeAdapter(key.getType()).write(data, value); } RedisBungee.getApi().sendChannelMessage(CHANNEL_DATA_UPDATE, Base64.getEncoder().encodeToString(data.toByteArray())); } catch (RuntimeException ex) { BungeeTabListPlus.getInstance().getLogger().log(Level.WARNING, "RedisBungee Error", ex); } catch (Throwable th) { BungeeTabListPlus.getInstance().getLogger().log(Level.SEVERE, "Failed to send data", th); } }
} else { Object value = typeRegistry.getTypeAdapter(key.getType()).read(input); plugin.runInMainThread(() -> cache.updateValue((DataKey<Object>) key, value));