Search in sources :

Example 1 with SkinApplier

use of com.github.games647.changeskin.sponge.task.SkinApplier in project ChangeSkin by games647.

the class UpdateSkinListener method handlePayload.

@Override
public void handlePayload(ChannelBuf data, RemoteConnection connection, Type side) {
    ByteArrayDataInput dataInput = ByteStreams.newDataInput(data.array());
    SkinUpdateMessage updateMessage = new SkinUpdateMessage();
    updateMessage.readFrom(dataInput);
    String playerName = updateMessage.getPlayerName();
    Optional<Player> receiver = Sponge.getServer().getPlayer(playerName);
    if (receiver.isPresent()) {
        Runnable skinUpdater = new SkinApplier(plugin, (CommandSource) connection, receiver.get(), null, false);
        Task.builder().execute(skinUpdater).submit(plugin);
    }
}
Also used : Player(org.spongepowered.api.entity.living.player.Player) SkinUpdateMessage(com.github.games647.changeskin.core.message.SkinUpdateMessage) SkinApplier(com.github.games647.changeskin.sponge.task.SkinApplier) ByteArrayDataInput(com.google.common.io.ByteArrayDataInput)

Example 2 with SkinApplier

use of com.github.games647.changeskin.sponge.task.SkinApplier in project ChangeSkin by games647.

the class SkinUpdateListener method onPluginMessageReceived.

@Override
public void onPluginMessageReceived(String channel, Player player, byte[] data) {
    ByteArrayDataInput dataInput = ByteStreams.newDataInput(data);
    SkinUpdateMessage updateMessage = new SkinUpdateMessage();
    updateMessage.readFrom(dataInput);
    String playerName = updateMessage.getPlayerName();
    Player receiver = Bukkit.getPlayerExact(playerName);
    if (receiver != null) {
        Bukkit.getScheduler().runTask(plugin, new SkinApplier(plugin, player, receiver, null, false));
    }
}
Also used : Player(org.bukkit.entity.Player) SkinUpdateMessage(com.github.games647.changeskin.core.message.SkinUpdateMessage) SkinApplier(com.github.games647.changeskin.bukkit.task.SkinApplier) ByteArrayDataInput(com.google.common.io.ByteArrayDataInput)

Aggregations

SkinUpdateMessage (com.github.games647.changeskin.core.message.SkinUpdateMessage)2 ByteArrayDataInput (com.google.common.io.ByteArrayDataInput)2 SkinApplier (com.github.games647.changeskin.bukkit.task.SkinApplier)1 SkinApplier (com.github.games647.changeskin.sponge.task.SkinApplier)1 Player (org.bukkit.entity.Player)1 Player (org.spongepowered.api.entity.living.player.Player)1