SubServers-2/SubServers.Client/Sponge/src/net/ME1312/SubServers/Client/Sponge/Network/Packet/PacketDownloadLang.java

48 lines
1.5 KiB
Java

package net.ME1312.SubServers.Client.Sponge.Network.Packet;
import net.ME1312.Galaxi.Library.Container.ContainedPair;
import net.ME1312.Galaxi.Library.Map.ObjectMap;
import net.ME1312.Galaxi.Library.Try;
import net.ME1312.Galaxi.Library.Util;
import net.ME1312.SubData.Client.Protocol.PacketObjectIn;
import net.ME1312.SubData.Client.Protocol.PacketOut;
import net.ME1312.SubData.Client.SubDataClient;
import net.ME1312.SubData.Client.SubDataSender;
import net.ME1312.SubServers.Client.Sponge.SubPlugin;
import java.util.Calendar;
import java.util.logging.Logger;
/**
* Download Lang Packet
*/
public class PacketDownloadLang implements PacketObjectIn<Integer>, PacketOut {
private SubPlugin plugin;
/**
* New PacketDownloadLang (In)
*
* @param plugin SubServers.Client
*/
public PacketDownloadLang(SubPlugin plugin) {
Util.nullpo(plugin);
this.plugin = plugin;
}
/**
* New PacketDownloadLang (Out)
*/
public PacketDownloadLang() {}
@Override
public void receive(SubDataSender client, ObjectMap<Integer> data) {
Logger log = Try.all.get(() -> Util.reflect(SubDataClient.class.getDeclaredField("log"), client.getConnection()));
try {
Util.reflect(SubPlugin.class.getDeclaredField("lang"), plugin, new ContainedPair<>(Calendar.getInstance().getTime().getTime(), data.getObject(0x0001)));
log.info("Lang Settings Downloaded");
} catch (IllegalAccessException | NoSuchFieldException e) {
e.printStackTrace();
}
}
}