mirror of
https://github.com/zDevelopers/ImageOnMap.git
synced 2024-11-25 11:35:35 +01:00
Merge pull request #24 from AmauryCarrade/feature-clickable-mapslist-12
Clickable maps list
This commit is contained in:
commit
40a35271ae
@ -21,8 +21,15 @@ package fr.moribus.imageonmap.commands.maptool;
|
||||
import fr.moribus.imageonmap.commands.IoMCommand;
|
||||
import fr.moribus.imageonmap.map.ImageMap;
|
||||
import fr.moribus.imageonmap.map.MapManager;
|
||||
import fr.moribus.imageonmap.map.PosterMap;
|
||||
import fr.zcraft.zlib.components.commands.CommandException;
|
||||
import fr.zcraft.zlib.components.commands.CommandInfo;
|
||||
import fr.zcraft.zlib.components.rawtext.RawText;
|
||||
import fr.zcraft.zlib.components.rawtext.RawTextPart;
|
||||
import fr.zcraft.zlib.tools.items.ItemStackBuilder;
|
||||
import fr.zcraft.zlib.tools.text.RawMessage;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.List;
|
||||
@ -42,13 +49,35 @@ public class ListCommand extends IoMCommand
|
||||
return;
|
||||
}
|
||||
|
||||
info(mapList.size() + " maps found.");
|
||||
player.sendMessage(ChatColor.WHITE + "" + ChatColor.BOLD + mapList.size() + " maps found.");
|
||||
|
||||
RawTextPart rawText = new RawText("");
|
||||
rawText = addMap(rawText, mapList.get(0));
|
||||
|
||||
String sMapList = mapList.get(0).getId();
|
||||
for(int i = 1, c = mapList.size(); i < c; i++)
|
||||
{
|
||||
sMapList += "§7,§r" + mapList.get(i).getId();
|
||||
rawText = rawText.then(", ").color(ChatColor.GRAY);
|
||||
rawText = addMap(rawText, mapList.get(i));
|
||||
}
|
||||
player.sendMessage(sMapList);
|
||||
|
||||
RawMessage.send(player, rawText.build());
|
||||
}
|
||||
|
||||
private RawTextPart<?> addMap(RawTextPart<?> rawText, ImageMap map)
|
||||
{
|
||||
final String size = map.getType() == ImageMap.Type.SINGLE ? "1×1" : ((PosterMap) map).getColumnCount() + "×" + ((PosterMap) map).getRowCount();
|
||||
|
||||
return rawText
|
||||
.then(map.getId())
|
||||
.color(ChatColor.WHITE)
|
||||
.command(GetCommand.class, map.getId())
|
||||
.hover(new ItemStackBuilder(Material.MAP)
|
||||
.title(ChatColor.GREEN + "" + ChatColor.BOLD + map.getName())
|
||||
.lore(ChatColor.GRAY + map.getId() + ", " + size)
|
||||
.lore("")
|
||||
.lore(ChatColor.WHITE + "Click" + ChatColor.GRAY + " to get this map")
|
||||
.hideAttributes()
|
||||
.item()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user