48 lines
1.3 KiB
Java
48 lines
1.3 KiB
Java
package eu.oskar3123.spigot2fa.map;
|
|
|
|
import eu.oskar3123.spigot2fa.tfa.TFA;
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.Material;
|
|
import org.bukkit.entity.Player;
|
|
import org.bukkit.inventory.ItemStack;
|
|
import org.bukkit.inventory.meta.MapMeta;
|
|
import org.bukkit.map.MapView;
|
|
|
|
import java.io.IOException;
|
|
|
|
public class CreateMapRunnable implements Runnable
|
|
{
|
|
|
|
private Player player;
|
|
|
|
public CreateMapRunnable(Player player)
|
|
{
|
|
this.player = player;
|
|
}
|
|
|
|
@Override
|
|
public void run()
|
|
{
|
|
try
|
|
{
|
|
ItemStack map = new ItemStack(Material.FILLED_MAP);
|
|
MapView view = Bukkit.createMap(player.getWorld());
|
|
view.getRenderers().clear();
|
|
String secret = TFA.getRandomSecretKey();
|
|
view.addRenderer(new QRMapRenderer(secret, player));
|
|
MapMeta mapMeta = (MapMeta) map.getItemMeta();
|
|
mapMeta.setMapId(view.getId());
|
|
map.setItemMeta(mapMeta);
|
|
player.getInventory().setItemInMainHand(map);
|
|
player.sendMap(view);
|
|
player.sendMessage("Secret Key: " + secret);
|
|
}
|
|
catch (IOException e)
|
|
{
|
|
e.printStackTrace();
|
|
player.sendMessage("Failed to generate qr code");
|
|
}
|
|
}
|
|
|
|
}
|