test
This commit is contained in:
parent
0d0a662ef8
commit
f50a7a02e5
10
pom.xml
10
pom.xml
|
@ -47,6 +47,16 @@
|
|||
<artifactId>NBT-API</artifactId>
|
||||
<version>1.12.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.yaohun.playermanage</groupId>
|
||||
<artifactId>PlayerManage</artifactId>
|
||||
<version>1.0.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.vexview.api</groupId>
|
||||
<artifactId>vexview</artifactId>
|
||||
<version>1.12.2</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
|
@ -14,8 +14,6 @@ public class WarpData {
|
|||
|
||||
private String key;
|
||||
private Location location;
|
||||
private boolean locSwitch;
|
||||
private Island island;
|
||||
|
||||
public WarpData(String key){
|
||||
FileConfiguration yml = Main.plugin.getConfig();
|
||||
|
@ -33,19 +31,15 @@ public class WarpData {
|
|||
float yaw = (float) yml.getDouble(string+"yaw");
|
||||
float pitch = (float) yml.getDouble(string+"pitch");
|
||||
this.location = new Location(world,x,y,z,yaw,pitch);
|
||||
this.island = ASkyBlockAPI.getInstance().getIslandAt(location);
|
||||
this.locSwitch = yml.getBoolean(string+"switch");
|
||||
}
|
||||
public WarpData(String key,Location location){
|
||||
this.key = key;
|
||||
this.location = location;
|
||||
this.locSwitch = true;
|
||||
}
|
||||
|
||||
public void SaveData(){
|
||||
FileConfiguration yml = Main.plugin.getConfig();
|
||||
String string = "Stats."+key+".";
|
||||
yml.set(string+"switch",this.locSwitch);
|
||||
yml.set(string+"world",location.getWorld().getName());
|
||||
yml.set(string+"x",location.getX());
|
||||
yml.set(string+"y",location.getY());
|
||||
|
@ -66,12 +60,4 @@ public class WarpData {
|
|||
public void setLocation(Location location) {
|
||||
this.location = location;
|
||||
}
|
||||
|
||||
public boolean isLocSwitch() {
|
||||
return locSwitch;
|
||||
}
|
||||
|
||||
public Island getIsland() {
|
||||
return island;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,93 @@
|
|||
package me.Demon.AskyBlockWarps.Listener;
|
||||
|
||||
import com.wasteofplastic.askyblock.ASkyBlockAPI;
|
||||
import de.tr7zw.itemnbtapi.NBTItem;
|
||||
import me.Demon.AskyBlockWarps.Main;
|
||||
import me.Demon.DemonPlugin.DemonAPI;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.event.inventory.InventoryCloseEvent;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
public class AcceptGui implements Listener {
|
||||
public static String invtitle = "帝国战争 - 岛屿邀请";
|
||||
public static List<Player> playerList = new ArrayList<>();
|
||||
@EventHandler
|
||||
public void onclick(InventoryClickEvent e) {
|
||||
int rawSlot = e.getRawSlot();
|
||||
Player p = (Player) e.getWhoClicked();
|
||||
if (e.getInventory() != null && e.getInventory().getTitle().contains(invtitle)) {
|
||||
e.setCancelled(true);
|
||||
if (rawSlot >= 0 && rawSlot < e.getInventory().getSize()) {
|
||||
if(rawSlot == 2){
|
||||
playerList.add(p);
|
||||
p.closeInventory();
|
||||
p.performCommand("is accept");
|
||||
new BukkitRunnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
playerList.remove(p);
|
||||
}
|
||||
}.runTaskLater(Main.plugin,60L);
|
||||
}
|
||||
if(rawSlot == 6){
|
||||
p.performCommand("is reject");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@EventHandler
|
||||
public void onclick(InventoryCloseEvent e) {
|
||||
Player p = (Player) e.getPlayer();
|
||||
if (e.getInventory() != null && e.getInventory().getTitle().contains(invtitle)) {
|
||||
if (!playerList.contains(p)) {
|
||||
p.performCommand("is reject");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void Opengui(Player p) {
|
||||
Inventory inv = Bukkit.createInventory(null, 9, invtitle);
|
||||
inv.setItem(2,Accept());
|
||||
inv.setItem(6,Deny());
|
||||
p.openInventory(inv);
|
||||
}
|
||||
|
||||
public static ItemStack Accept() {
|
||||
ItemStack item = new ItemStack(Material.SLIME_BALL);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName("§6§l接受邀请");
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add("§r");
|
||||
lore.add("§6▸ §e点击操作");
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
return item;
|
||||
}
|
||||
public static ItemStack Deny() {
|
||||
ItemStack item = new ItemStack(Material.MAGMA_CREAM);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName("§c§l拒绝邀请");
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add("§r");
|
||||
lore.add("§6▸ §e点击操作");
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
return item;
|
||||
}
|
||||
}
|
|
@ -1,19 +1,26 @@
|
|||
package me.Demon.AskyBlockWarps.Listener;
|
||||
|
||||
import cn.hamster3.cdapi.CDTimeAPI;
|
||||
import com.wasteofplastic.askyblock.ASkyBlockAPI;
|
||||
import de.tr7zw.itemnbtapi.NBTItem;
|
||||
import me.Demon.AskyBlockWarps.Main;
|
||||
import me.Demon.AskyBlockWarps.Util.itemUtil;
|
||||
import me.Demon.DemonPlugin.DemonAPI;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
public class LandInviteGui implements Listener {
|
||||
public static String invtitle = "帝国战争 - 成员邀请";
|
||||
|
@ -23,14 +30,23 @@ public class LandInviteGui implements Listener {
|
|||
Player p = (Player) e.getWhoClicked();
|
||||
if (e.getInventory() != null && e.getInventory().getTitle().contains(invtitle)) {
|
||||
e.setCancelled(true);
|
||||
ItemStack item = e.getCurrentItem();
|
||||
if (e.getRawSlot() >= 0 && e.getRawSlot() < e.getInventory().getSize() && !DemonAPI.itemIsNull(item) && !DemonAPI.itemIsLore(item)) {
|
||||
if (ASkyBlockAPI.getInstance().getOwner(p.getLocation()).equals(p.getUniqueId())) {
|
||||
String playName = item.getItemMeta().getDisplayName().replace("§6§l玩家 §e", "");
|
||||
p.performCommand("is invite " + playName);
|
||||
} else {
|
||||
p.sendMessage(Main.prefix + "您不是岛主,没权限邀请玩家加入岛屿.");
|
||||
p.closeInventory();
|
||||
if (e.getRawSlot() >= 0 && e.getRawSlot() < e.getInventory().getSize()) {
|
||||
ItemStack item = e.getCurrentItem();
|
||||
if(!DemonAPI.itemIsNull(item) && !DemonAPI.itemIsLore(item)) {
|
||||
NBTItem nbtItem = new NBTItem(item);
|
||||
if (nbtItem.hasKey("inviteName")) {
|
||||
p.closeInventory();
|
||||
String name = nbtItem.getString("inviteName");
|
||||
p.performCommand("is invite " + name);
|
||||
Player toPlayer = Bukkit.getPlayer(name);
|
||||
if(CDTimeAPI.getCD(p.getUniqueId(),"inviteCd") > 0){
|
||||
return;
|
||||
}
|
||||
if(toPlayer != null){
|
||||
AcceptGui.Opengui(toPlayer);
|
||||
CDTimeAPI.setPlayerCD(p.getUniqueId(),"inviteCd",1000 * 10);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -40,20 +56,44 @@ public class LandInviteGui implements Listener {
|
|||
Inventory inv = Bukkit.createInventory(null, 54, invtitle);
|
||||
// 获取玩家附近20格内的所有玩家
|
||||
List<Player> nearbyPlayers = new ArrayList<>();
|
||||
for (Player nearbyPlayer : Bukkit.getServer().getOnlinePlayers()) {
|
||||
if (p.getWorld().equals(nearbyPlayer.getWorld())) { // 确保玩家在同一世界
|
||||
if (p.getLocation().distance(nearbyPlayer.getLocation()) <= 20) {
|
||||
World world = p.getWorld();
|
||||
for (Player nearbyPlayer : world.getPlayers()) {
|
||||
if (p.getLocation().distance(nearbyPlayer.getLocation()) <= 50) {
|
||||
// 判断这个玩家是否已加入岛屿
|
||||
if(!ASkyBlockAPI.getInstance().hasIsland(nearbyPlayer.getUniqueId())) {
|
||||
nearbyPlayers.add(nearbyPlayer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(nearbyPlayers.size() < 1){
|
||||
p.sendMessage(Main.prefix + "您周围没有玩家可邀请加入岛屿.");
|
||||
p.playSound(p.getLocation(), Sound.ENTITY_BLAZE_DEATH, 1.6F, 1.8F);
|
||||
return;
|
||||
}
|
||||
for (Player nearbyPlayer : nearbyPlayers) {
|
||||
if (!p.equals(nearbyPlayer)) { // 避免将玩家自己添加到GUI中
|
||||
inv.addItem(itemUtil.addTeam(nearbyPlayer.getName()));
|
||||
inv.addItem(addTeam(nearbyPlayer.getName()));
|
||||
}
|
||||
}
|
||||
|
||||
p.openInventory(inv);
|
||||
}
|
||||
|
||||
public static ItemStack addTeam(String name) {
|
||||
ItemStack item = new ItemStack(Material.SIGN);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName("§6§l玩家 §e" + name);
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add("§r");
|
||||
lore.add("§c 请勿随意点击");
|
||||
lore.add("§c 请勿随意点击");
|
||||
lore.add("§c 请勿随意点击");
|
||||
lore.add("§r");
|
||||
lore.add("§6▸ §e点击邀请加入岛屿");
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
NBTItem nbtItem = new NBTItem(item);
|
||||
nbtItem.setString("inviteName",name);
|
||||
return nbtItem.getItem();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,17 +1,26 @@
|
|||
package me.Demon.AskyBlockWarps.Listener;
|
||||
|
||||
import com.wasteofplastic.askyblock.ASkyBlockAPI;
|
||||
import com.wasteofplastic.askyblock.Island;
|
||||
import com.yaohun.playermanage.PlayerManage;
|
||||
import de.tr7zw.itemnbtapi.NBTItem;
|
||||
import me.Demon.AskyBlockWarps.Main;
|
||||
import me.Demon.AskyBlockWarps.Util.itemUtil;
|
||||
import me.Demon.DemonPlugin.DemonAPI;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
public class LandTeamGui implements Listener {
|
||||
|
@ -19,27 +28,89 @@ public class LandTeamGui implements Listener {
|
|||
|
||||
@EventHandler
|
||||
public void onclick(InventoryClickEvent e) {
|
||||
int rawSlot = e.getRawSlot();
|
||||
Inventory inv = e.getInventory();
|
||||
Player p = (Player) e.getWhoClicked();
|
||||
if (e.getInventory() != null && e.getInventory().getTitle().contains(invtitle)) {
|
||||
Location location = p.getLocation();
|
||||
String name = p.getName();
|
||||
if (inv != null && inv.getTitle().contains(invtitle)) {
|
||||
e.setCancelled(true);
|
||||
ItemStack item = e.getCurrentItem();
|
||||
if (e.getRawSlot() >= 0 && e.getRawSlot() < e.getInventory().getSize() && !DemonAPI.itemIsNull(item) && !DemonAPI.itemIsLore(item)) {
|
||||
if (ASkyBlockAPI.getInstance().getIslandAt(p.getLocation()).equals(p.getUniqueId())) {
|
||||
String playName = item.getItemMeta().getDisplayName().replace("§6§l成员 §e", "");
|
||||
p.performCommand("is expel " + playName);
|
||||
if (rawSlot >= 0 && rawSlot < inv.getSize()) {
|
||||
if(!DemonAPI.itemIsNull(item) && !DemonAPI.itemIsLore(item)) {
|
||||
NBTItem nbtItem = new NBTItem(item);
|
||||
if(nbtItem.hasKey("uuid")) {
|
||||
String uuid = nbtItem.getString("uuid");
|
||||
// 获取当前岛屿数据
|
||||
Island island = ASkyBlockAPI.getInstance().getIslandAt(location);
|
||||
UUID ownerUuid = island.getOwner();
|
||||
// 判断操作目标是否是岛屿主人
|
||||
if(ownerUuid.toString().equalsIgnoreCase(uuid)){
|
||||
p.sendMessage(Main.prefix + "无法对岛屿主人进行移除操作.");
|
||||
p.playSound(p.getLocation(), Sound.ENTITY_BLAZE_DEATH,1.6F,1.8F);
|
||||
return;
|
||||
}
|
||||
// 判断操作移除的人是否是岛屿主人
|
||||
if(!ownerUuid.equals(p.getUniqueId())){
|
||||
p.sendMessage(Main.prefix + "只有岛屿主人才能进行移除操作.");
|
||||
p.playSound(p.getLocation(), Sound.ENTITY_BLAZE_DEATH,1.6F,1.8F);
|
||||
return;
|
||||
}
|
||||
String kickName = PlayerManage.getUuidToName(uuid);
|
||||
if(kickName == null){
|
||||
p.sendMessage(Main.prefix + "移除失败,无法获取该目标昵称.");
|
||||
p.playSound(p.getLocation(), Sound.ENTITY_BLAZE_DEATH,1.6F,1.8F);
|
||||
return;
|
||||
}
|
||||
p.performCommand("is expel " + kickName);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
p.sendMessage(Main.prefix + "您不是岛主,没权限将玩家移出岛屿.");
|
||||
p.closeInventory();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void Opengui(Player p) {
|
||||
Inventory inv = Bukkit.createInventory(null, 27, invtitle);
|
||||
for (UUID uid : ASkyBlockAPI.getInstance().getTeamMembers(p.getUniqueId())) {
|
||||
inv.addItem(itemUtil.teamList(Main.convertUUIDToName(uid)));
|
||||
Island island = ASkyBlockAPI.getInstance().getIslandAt(p.getLocation());
|
||||
int slot = 0;
|
||||
List<UUID> uuidList = island.getMembers();
|
||||
uuidList.remove(0);
|
||||
for (UUID uuid : uuidList){
|
||||
String name = PlayerManage.getUuidToName(uuid.toString());
|
||||
if (name != null) {
|
||||
if (!uuid.equals(island.getOwner())) {
|
||||
inv.setItem(slot,teamList(uuid,false));
|
||||
}else{
|
||||
inv.setItem(slot,teamList(uuid,true));
|
||||
}
|
||||
slot++;
|
||||
}
|
||||
}
|
||||
p.openInventory(inv);
|
||||
}
|
||||
|
||||
public static ItemStack teamList(UUID uuid,boolean owner) {
|
||||
ItemStack item = new ItemStack(Material.SIGN);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
String name = PlayerManage.getUuidToName(uuid.toString());
|
||||
if(name == null){
|
||||
meta.setDisplayName("§6§l成员 §c无法获取");
|
||||
}else {
|
||||
meta.setDisplayName("§6§l成员 §e" + name);
|
||||
}
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add("§r");
|
||||
if(owner){
|
||||
lore.add("§7 身份: §f岛主");
|
||||
}else {
|
||||
lore.add("§7 身份: §f岛员");
|
||||
}
|
||||
lore.add("§r");
|
||||
lore.add("§6▸ §c点击移除岛屿");
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
NBTItem nbtItem = new NBTItem(item);
|
||||
nbtItem.setString("uuid",uuid.toString());
|
||||
return nbtItem.getItem();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,21 +2,30 @@ package me.Demon.AskyBlockWarps.Listener;
|
|||
|
||||
import cn.hamster3.cdapi.CDTimeAPI;
|
||||
import com.wasteofplastic.askyblock.ASkyBlockAPI;
|
||||
import com.wasteofplastic.askyblock.Island;
|
||||
import com.yaohun.playermanage.PlayerManage;
|
||||
import lk.vexview.api.VexViewAPI;
|
||||
import me.Demon.AskyBlockWarps.Main;
|
||||
import me.Demon.AskyBlockWarps.Manage.GameManage;
|
||||
import me.Demon.AskyBlockWarps.Util.itemUtil;
|
||||
import me.Demon.DemonPlugin.DemonAPI;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.Sound;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Vex;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemFlag;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
public class MainGui implements Listener {
|
||||
|
@ -27,103 +36,278 @@ public class MainGui implements Listener {
|
|||
int rawSlot = e.getRawSlot();
|
||||
Inventory inv = e.getInventory();
|
||||
Player p = (Player) e.getWhoClicked();
|
||||
Location location = p.getLocation();
|
||||
String name = p.getName();
|
||||
if (inv != null && inv.getTitle().contains(invtitle)) {
|
||||
e.setCancelled(true);
|
||||
if (rawSlot >= 0 && rawSlot < inv.getSize()) {
|
||||
UUID islandOwner = ASkyBlockAPI.getInstance().getOwner(p.getLocation());
|
||||
if (e.getRawSlot() == 1) {
|
||||
ItemStack item = e.getCurrentItem();
|
||||
if(DemonAPI.itemIsNull(item) || DemonAPI.itemIsName(item)){return;}
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
String itemName = meta.getDisplayName();
|
||||
if(itemName.contains("返回主页")){
|
||||
VexViewAPI.openGui(p,"主菜单");
|
||||
p.playSound(p.getLocation(), Sound.BLOCK_COMPARATOR_CLICK, 1.6F, 1.8F);
|
||||
return;
|
||||
}
|
||||
if(itemName.contains("返回空岛")){
|
||||
p.performCommand("is");
|
||||
p.playSound(p.getLocation(), Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 1.0F, 2.0F);
|
||||
p.closeInventory();
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.getRawSlot() == 3) {
|
||||
if (islandOwner != null && islandOwner.equals(p.getUniqueId())) {
|
||||
if (CDTimeAPI.getCD(p.getUniqueId(), "islandsetwarp") < 0) {
|
||||
Main.gameManage.setWarpLoc(name,p.getLocation());
|
||||
p.sendMessage(Main.prefix + "设置空岛地标点成功.");
|
||||
CDTimeAPI.setPlayerCD(p.getUniqueId(), "islandsetwarp", 1000 * 3);
|
||||
p.playSound(p.getLocation(), Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 1.0F, 2.0F);
|
||||
p.closeInventory();
|
||||
} else {
|
||||
p.sendMessage(Main.prefix + "功能冷却中...");
|
||||
p.closeInventory();
|
||||
}
|
||||
} else {
|
||||
p.sendMessage(Main.prefix + "您只能在您的岛屿设置传送点地标.");
|
||||
p.playSound(p.getLocation(), Sound.ENTITY_BLAZE_DEATH, 1.0F, 2.0F);
|
||||
p.closeInventory();
|
||||
}
|
||||
}
|
||||
|
||||
if (e.getRawSlot() == 5) {
|
||||
if(itemName.contains("空岛地标列表")){
|
||||
WarpGui.Opengui(p);
|
||||
p.playSound(p.getLocation(), Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 1.0F, 2.0F);
|
||||
p.playSound(p.getLocation(), Sound.BLOCK_COMPARATOR_CLICK, 1.6F, 1.8F);
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.getRawSlot() == 7) {
|
||||
if(itemName.contains("邀请加入空岛")){
|
||||
// 判断玩家是否拥有岛屿并且是岛主
|
||||
boolean isOwner = false;
|
||||
Island island = ASkyBlockAPI.getInstance().getIslandOwnedBy(p.getUniqueId());
|
||||
if(island != null){
|
||||
UUID ownerUuid = island.getOwner();
|
||||
if(ownerUuid.equals(p.getUniqueId())){
|
||||
LandInviteGui.Opengui(p);
|
||||
p.playSound(p.getLocation(), Sound.BLOCK_COMPARATOR_CLICK, 1.6F, 1.8F);
|
||||
isOwner = true;
|
||||
}
|
||||
}
|
||||
if(!isOwner){
|
||||
p.sendMessage(Main.prefix + "您需要创建岛屿成为岛主后才能邀请玩家.");
|
||||
p.playSound(p.getLocation(), Sound.ENTITY_BLAZE_DEATH, 1.6F, 1.8F);
|
||||
}
|
||||
return;
|
||||
}
|
||||
if(itemName.contains("设置空岛地标")){
|
||||
p.closeInventory();
|
||||
// 获取当前岛屿岛主UUID
|
||||
Island island = ASkyBlockAPI.getInstance().getIslandAt(location);
|
||||
if(island != null && !island.getOwner().equals(p.getUniqueId())){
|
||||
p.sendMessage(Main.prefix + "您只能在自己的岛屿设置传送点坐标.");
|
||||
p.playSound(p.getLocation(), Sound.ENTITY_BLAZE_DEATH, 1.6F, 1.8F);
|
||||
return;
|
||||
}
|
||||
if (CDTimeAPI.getCD(p.getUniqueId(), "islandsetwarp") > 0) {
|
||||
p.sendMessage(Main.prefix + "请稍后再次尝试设置坐标.");
|
||||
p.playSound(p.getLocation(), Sound.ENTITY_BLAZE_DEATH, 1.6F, 1.8F);
|
||||
return;
|
||||
}
|
||||
if(!p.hasPermission("warps.create")){
|
||||
p.sendMessage(Main.prefix + "你需要成为 盫 §r才能设置坐标.");
|
||||
p.playSound(p.getLocation(), Sound.ENTITY_BLAZE_DEATH, 1.6F, 1.8F);
|
||||
return;
|
||||
}
|
||||
Main.gameManage.setWarpLoc(name,p.getLocation());
|
||||
p.sendMessage(Main.prefix + "设置空岛地标点成功.");
|
||||
CDTimeAPI.setPlayerCD(p.getUniqueId(), "islandsetwarp", 1000 * 5);
|
||||
p.playSound(p.getLocation(), Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 1.6F, 1.8F);
|
||||
return;
|
||||
}
|
||||
if(itemName.contains("重置空岛")){
|
||||
p.closeInventory();
|
||||
DemonAPI.sendTitle(p, 10, 20, 10, "§c§l空岛重置", "§6请联系群客服进行重置");
|
||||
p.sendMessage(Main.prefix + "请联系客服进行空岛重置报备!!!");
|
||||
p.sendMessage(Main.prefix + "请联系客服进行空岛重置报备!!!");
|
||||
p.sendMessage(Main.prefix + "请联系客服进行空岛重置报备!!!");
|
||||
p.playSound(p.getLocation(), Sound.ENTITY_BLAZE_DEATH, 1.0F, 2.0F);
|
||||
p.closeInventory();
|
||||
p.sendMessage(Main.prefix + "需要重置岛屿,请联系群内客服申请报备!!!");
|
||||
p.sendMessage(Main.prefix + "需要重置岛屿,请联系群内客服申请报备!!!");
|
||||
p.sendMessage(Main.prefix + "需要重置岛屿,请联系群内客服申请报备!!!");
|
||||
p.playSound(p.getLocation(), Sound.ENTITY_BLAZE_DEATH, 1.6F, 1.8F);
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.getRawSlot() == 11) {
|
||||
p.performCommand("is top");
|
||||
p.playSound(p.getLocation(), Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 1.0F, 2.0F);
|
||||
if(itemName.contains("岛屿等级")){
|
||||
p.closeInventory();
|
||||
p.performCommand("is level");
|
||||
p.playSound(p.getLocation(), Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 1.6F, 1.8F);
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.getRawSlot() == 13) {
|
||||
if(itemName.contains("岛屿保护")){
|
||||
p.closeInventory();
|
||||
// 获取当前岛屿岛主UUID
|
||||
Island island = ASkyBlockAPI.getInstance().getIslandAt(location);
|
||||
if(island != null && !island.getOwner().equals(p.getUniqueId())){
|
||||
p.sendMessage(Main.prefix + "您只能在自己岛屿上才能设置岛屿保护.");
|
||||
p.playSound(p.getLocation(), Sound.ENTITY_BLAZE_DEATH, 1.6F, 1.8F);
|
||||
return;
|
||||
}
|
||||
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "asadmin lock " + p.getName());
|
||||
p.playSound(p.getLocation(), Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 1.0F, 2.0F);
|
||||
p.closeInventory();
|
||||
p.playSound(p.getLocation(), Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 1.6F, 1.8F);
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.getRawSlot() == 15) {
|
||||
if(itemName.contains("查看空岛成员")){
|
||||
LandTeamGui.Opengui(p);
|
||||
p.playSound(p.getLocation(), Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 1.0F, 2.0F);
|
||||
p.playSound(p.getLocation(), Sound.BLOCK_COMPARATOR_CLICK, 1.6F, 1.8F);
|
||||
return;
|
||||
}
|
||||
if (e.getRawSlot() == 19) {
|
||||
LandInviteGui.Opengui(p);
|
||||
p.playSound(p.getLocation(), Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 1.0F, 2.0F);
|
||||
}
|
||||
if (e.getRawSlot() == 25) {
|
||||
if(itemName.contains("挑战任务")){
|
||||
p.performCommand("challenge");
|
||||
p.playSound(p.getLocation(), Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 1.0F, 2.0F);
|
||||
p.playSound(p.getLocation(), Sound.BLOCK_COMPARATOR_CLICK, 1.6F, 1.8F);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void Opengui(Player p) {
|
||||
Inventory inv = Bukkit.createInventory(null, 27, invtitle);
|
||||
boolean butt = ASkyBlockAPI.getInstance().hasIsland(p.getUniqueId());
|
||||
|
||||
inv.setItem(1, itemUtil.backisland(butt));
|
||||
inv.setItem(3, itemUtil.setWarp());
|
||||
inv.setItem(5, itemUtil.warpList());
|
||||
inv.setItem(7, itemUtil.resetLand());
|
||||
inv.setItem(11, itemUtil.looklandlevel(p, butt));
|
||||
inv.setItem(13, itemUtil.islandlock());
|
||||
inv.setItem(15, itemUtil.islandlook(butt));
|
||||
inv.setItem(19, itemUtil.isLandinvite());
|
||||
inv.setItem(25, itemUtil.islandQuest());
|
||||
|
||||
Inventory inv = Bukkit.createInventory(null, 36, invtitle);
|
||||
Island island = ASkyBlockAPI.getInstance().getIslandAt(p.getLocation());
|
||||
if (island == null) {
|
||||
inv = Bukkit.createInventory(null, 9, invtitle);
|
||||
inv.setItem(1, islandBack());
|
||||
inv.setItem(3, checkWarpList());
|
||||
inv.setItem(5, islandInvite());
|
||||
inv.setItem(8,backMenu());
|
||||
} else {
|
||||
inv.setItem(1, islandBack());
|
||||
inv.setItem(3, setWarp());
|
||||
inv.setItem(5, checkWarpList());
|
||||
inv.setItem(7, resetIsland());
|
||||
inv.setItem(11, islandLevel(island));
|
||||
inv.setItem(13, islandlock(island));
|
||||
inv.setItem(15, islandlook(island));
|
||||
inv.setItem(19, islandInvite());
|
||||
inv.setItem(25, islandChallenge());
|
||||
inv.setItem(31,backMenu());
|
||||
}
|
||||
p.openInventory(inv);
|
||||
}
|
||||
|
||||
public void SetLocation(String key, Location loc) {
|
||||
FileConfiguration yml = Main.plugin.getConfig();
|
||||
yml.set(key + ".world", loc.getWorld().getName());
|
||||
yml.set(key + ".x", loc.getX());
|
||||
yml.set(key + ".y", loc.getY());
|
||||
yml.set(key + ".z", loc.getZ());
|
||||
yml.set(key + ".yaw", loc.getYaw());
|
||||
yml.set(key + ".pitch", loc.getPitch());
|
||||
Main.plugin.saveConfig();
|
||||
public static ItemStack backMenu() {
|
||||
ItemStack item = new ItemStack(Material.BOOK);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName("§a§l返回主页");
|
||||
item.setItemMeta(meta);
|
||||
return item;
|
||||
}
|
||||
|
||||
public static ItemStack islandInvite() {
|
||||
ItemStack item = new ItemStack(Material.SLIME_BALL);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName("§6§l邀请加入空岛");
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add("§r");
|
||||
lore.add("§7 自动搜索周围玩家");
|
||||
lore.add("§r");
|
||||
lore.add("§6▸ §c点击邀请");
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
return item;
|
||||
}
|
||||
|
||||
public static ItemStack islandBack() {
|
||||
ItemStack item = new ItemStack(Material.GRASS);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName("§6§l返回空岛");
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add("§r");
|
||||
lore.add("§6▸ §e点击返回空岛");
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
return item;
|
||||
}
|
||||
|
||||
public static ItemStack islandChallenge() {
|
||||
ItemStack item = new ItemStack(Material.DIAMOND_CHESTPLATE);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName("§6§l挑战任务");
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add("§r");
|
||||
lore.add("§6▸ §e点击查看");
|
||||
meta.setLore(lore);
|
||||
meta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
|
||||
item.setItemMeta(meta);
|
||||
return item;
|
||||
}
|
||||
|
||||
public static ItemStack islandLevel(Island island) {
|
||||
ItemStack item = new ItemStack(Material.BEACON);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName("§6§l岛屿等级");
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add("§r");
|
||||
UUID islandOwner = island.getOwner();
|
||||
lore.add("§7 岛屿主人: §f" + PlayerManage.getUuidToName(islandOwner.toString()));
|
||||
lore.add("§7 岛屿等级: §f" + ASkyBlockAPI.getInstance().getLongIslandLevel(islandOwner));
|
||||
lore.add("§r");
|
||||
lore.add("§6▸ §e点击刷新岛屿等级");
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
return item;
|
||||
}
|
||||
|
||||
public static ItemStack islandlook(Island island) {
|
||||
ItemStack item = new ItemStack(Material.EMPTY_MAP);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName("§6§l查看空岛成员");
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add("§r");
|
||||
lore.add(" §7岛屿成员:");
|
||||
List<UUID> uuidList = island.getMembers();
|
||||
uuidList.remove(0);
|
||||
for (UUID uuid : uuidList) {
|
||||
String name = PlayerManage.getUuidToName(uuid.toString());
|
||||
lore.add(" §f - " + name);
|
||||
}
|
||||
lore.add("§r");
|
||||
lore.add("§6▸ §e点击查看");
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
return item;
|
||||
}
|
||||
|
||||
public static ItemStack islandlock(Island island) {
|
||||
ItemStack item = new ItemStack(Material.EYE_OF_ENDER);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName("§6§l岛屿保护");
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add("§r");
|
||||
if(!island.isLocked()){
|
||||
lore.add(" §7当前模式: §c封锁中");
|
||||
}else {
|
||||
lore.add(" §7当前模式: §f开放中");
|
||||
item.setType(Material.ENDER_PEARL);
|
||||
}
|
||||
lore.add("§r");
|
||||
lore.add("§6▸ §c点击设置");
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
return item;
|
||||
}
|
||||
|
||||
public static ItemStack resetIsland() {
|
||||
ItemStack item = new ItemStack(Material.LAVA_BUCKET);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName("§6§l重置空岛");
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add("§r");
|
||||
lore.add("§6▸ §c点击重置");
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
return item;
|
||||
}
|
||||
|
||||
public static ItemStack setWarp() {
|
||||
ItemStack item = new ItemStack(Material.ANVIL);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName("§6§l设置空岛地标");
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add("§r");
|
||||
lore.add("§6▸ §e点击设置");
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
return item;
|
||||
}
|
||||
|
||||
public static ItemStack checkWarpList() {
|
||||
ItemStack item = new ItemStack(Material.SIGN);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName("§6§l空岛地标列表");
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add("§r");
|
||||
lore.add(" §7数量: §f"+Main.gameManage.getWarpDataMap().size()+"个");
|
||||
lore.add("§r");
|
||||
lore.add("§6▸ §e点击查看");
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
return item;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@ package me.Demon.AskyBlockWarps.Listener;
|
|||
import cn.hamster3.cdapi.CDTimeAPI;
|
||||
import com.wasteofplastic.askyblock.ASkyBlockAPI;
|
||||
import com.wasteofplastic.askyblock.Island;
|
||||
import com.yaohun.playermanage.PlayerManage;
|
||||
import de.tr7zw.itemnbtapi.NBTItem;
|
||||
import me.Demon.AskyBlockWarps.Data.WarpData;
|
||||
import me.Demon.AskyBlockWarps.Main;
|
||||
|
@ -43,7 +44,12 @@ public class WarpGui implements Listener {
|
|||
p.playSound(p.getLocation(),Sound.BLOCK_COMPARATOR_CLICK,1,1);
|
||||
NBTItem nbtItem = new NBTItem(item);
|
||||
if(nbtItem.hasKey("warpKey")){
|
||||
boolean butt = nbtItem.getBoolean("warpLock");
|
||||
String warpKey = nbtItem.getString("warpKey");
|
||||
if(butt){
|
||||
p.sendMessage(Main.prefix + "您想访问的目标岛屿处于封锁状态,无法访问.");
|
||||
return;
|
||||
}
|
||||
WarpData warpData = Main.gameManage.getWarpData(warpKey);
|
||||
Location location = warpData.getLocation().add(0,0.5,0);
|
||||
p.teleport(location);
|
||||
|
@ -58,7 +64,10 @@ public class WarpGui implements Listener {
|
|||
HashMap<String, WarpData> warpDataHashMap = Main.gameManage.getWarpDataMap();
|
||||
for (String key : warpDataHashMap.keySet()){
|
||||
WarpData warpData = warpDataHashMap.get(key);
|
||||
inv.addItem(warpShow(warpData));
|
||||
ItemStack item = warpShow(warpData);
|
||||
if(item != null) {
|
||||
inv.addItem(item);
|
||||
}
|
||||
}
|
||||
p.openInventory(inv);
|
||||
}
|
||||
|
@ -68,14 +77,30 @@ public class WarpGui implements Listener {
|
|||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName("§6§l传送到 §e" + wData.getKey() + " §6§l的空岛");
|
||||
List<String> lore = new ArrayList<>();
|
||||
Island island = wData.getIsland();
|
||||
lore.add(" §7岛屿等级: §f"+island.getLevelHandicap());
|
||||
lore.add("§r");
|
||||
lore.add("§6▸ §e点击传送");
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
NBTItem nbtItem = new NBTItem(item);
|
||||
nbtItem.setString("warpKey",wData.getKey());
|
||||
return nbtItem.getItem();
|
||||
Island island = ASkyBlockAPI.getInstance().getIslandAt(wData.getLocation());
|
||||
if(island != null) {
|
||||
lore.add(" §7岛屿等级: §f" + ASkyBlockAPI.getInstance().getLongIslandLevel(island.getOwner()));
|
||||
boolean isBlockade = island.isLocked();
|
||||
if (isBlockade) {
|
||||
lore.add(" §7岛屿状态: §c封锁");
|
||||
} else {
|
||||
lore.add(" §7岛屿状态: §a开放");
|
||||
}
|
||||
lore.add(" §7岛屿成员:");
|
||||
List<UUID> uuidList = island.getMembers();
|
||||
for (UUID uuid : uuidList) {
|
||||
String name = PlayerManage.getUuidToName(uuid.toString());
|
||||
lore.add(" §f - " + name);
|
||||
}
|
||||
lore.add("§r");
|
||||
lore.add("§6▸ §e点击传送");
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
NBTItem nbtItem = new NBTItem(item);
|
||||
nbtItem.setString("warpKey", wData.getKey());
|
||||
nbtItem.setBoolean("warpLock", isBlockade);
|
||||
return nbtItem.getItem();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
package me.Demon.AskyBlockWarps;
|
||||
|
||||
import me.Demon.AskyBlockWarps.Command.iswarpCommand;
|
||||
import me.Demon.AskyBlockWarps.Listener.LandInviteGui;
|
||||
import me.Demon.AskyBlockWarps.Listener.LandTeamGui;
|
||||
import me.Demon.AskyBlockWarps.Listener.MainGui;
|
||||
import me.Demon.AskyBlockWarps.Listener.WarpGui;
|
||||
import me.Demon.AskyBlockWarps.Listener.*;
|
||||
import me.Demon.AskyBlockWarps.Manage.GameManage;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
|
@ -28,28 +25,8 @@ public class Main extends JavaPlugin {
|
|||
Bukkit.getServer().getPluginManager().registerEvents(new WarpGui(), plugin);
|
||||
Bukkit.getServer().getPluginManager().registerEvents(new LandTeamGui(), plugin);
|
||||
Bukkit.getServer().getPluginManager().registerEvents(new LandInviteGui(), plugin);
|
||||
Bukkit.getServer().getPluginManager().registerEvents(new AcceptGui(), plugin);
|
||||
getCommand("iswarps").setExecutor(new iswarpCommand());
|
||||
getCommand("iswarps").setTabCompleter(new iswarpCommand());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
|
||||
}
|
||||
|
||||
public static String convertUUIDToName(UUID uuid) {
|
||||
OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer(uuid);
|
||||
return offlinePlayer.getName();
|
||||
}
|
||||
|
||||
public static Location LandWarpLoc(String playName) {
|
||||
FileConfiguration yml = Main.plugin.getConfig();
|
||||
String w = yml.getString("Stats." + playName + ".world");
|
||||
double x = yml.getDouble("Stats." + playName + ".x");
|
||||
double y = yml.getDouble("Stats." + playName + ".y");
|
||||
double z = yml.getDouble("Stats." + playName + ".z");
|
||||
float pi = (float) yml.getDouble("Stats." + playName + ".pitch");
|
||||
float ya = (float) yml.getDouble("Stats." + playName + ".yaw");
|
||||
return new Location(Bukkit.getWorld(w), x, y, z, ya, pi);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -54,14 +54,6 @@ public class GameManage {
|
|||
Main.plugin.saveConfig();
|
||||
}
|
||||
|
||||
// 获取这个传送点是否开启
|
||||
public boolean getWarpSwitch(String key){
|
||||
if(warpDataMap.get(key) == null){
|
||||
return false;
|
||||
}
|
||||
return warpDataMap.get(key).isLocSwitch();
|
||||
}
|
||||
|
||||
// 获取这个坐标点的坐标
|
||||
public Location getWarpLoc(String key){
|
||||
if(warpDataMap.get(key) == null){
|
||||
|
|
|
@ -26,154 +26,4 @@ public class itemUtil {
|
|||
item.setItemMeta(meta);
|
||||
return item;
|
||||
}
|
||||
|
||||
public static ItemStack addTeam(String name) {
|
||||
ItemStack item = new ItemStack(Material.SIGN);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName("§6§l玩家 §e" + name);
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add("§r");
|
||||
lore.add("§c 请勿随意点击");
|
||||
lore.add("§c 请勿随意点击");
|
||||
lore.add("§c 请勿随意点击");
|
||||
lore.add("§r");
|
||||
lore.add("§6▸ §e点击邀请加入岛屿");
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
return item;
|
||||
}
|
||||
|
||||
public static ItemStack warpShow(String name) {
|
||||
ItemStack item = new ItemStack(Material.SIGN);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName("§6§l传送到 §e" + name + " §6§l的空岛");
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add("§r");
|
||||
lore.add("§6▸ §e点击传送");
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
return item;
|
||||
}
|
||||
|
||||
public static ItemStack looklandlevel(Player p,boolean butt) {
|
||||
ItemStack item = new ItemStack(Material.BEACON);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName("§6§l岛屿等级");
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add("§r");
|
||||
if (butt) {
|
||||
lore.add("§7 您的岛屿等级: §f" + ASkyBlockAPI.getInstance().getLongIslandLevel(p.getUniqueId()));
|
||||
} else {
|
||||
lore.add("§7 没有属于您的岛屿");
|
||||
}
|
||||
lore.add("§r");
|
||||
lore.add("§6▸ §e点击查看空岛排行");
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
return item;
|
||||
}
|
||||
|
||||
public static ItemStack backisland(boolean butt) {
|
||||
ItemStack item = new ItemStack(Material.ENDER_PORTAL_FRAME);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName("§6§l返回空岛");
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add("§r");
|
||||
if (butt) {
|
||||
lore.add("§6▸ §e点击返回空岛");
|
||||
} else {
|
||||
lore.add("§6▸ §c点击创建空岛");
|
||||
}
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
return item;
|
||||
}
|
||||
|
||||
public static ItemStack isLandinvite() {
|
||||
ItemStack item = new ItemStack(Material.SLIME_BALL);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName("§6§l邀请加入空岛");
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add("§r");
|
||||
lore.add("§6▸ §c点击邀请");
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
return item;
|
||||
}
|
||||
|
||||
public static ItemStack islandlook(boolean butt) {
|
||||
ItemStack item = new ItemStack(Material.EMPTY_MAP);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName("§6§l查看空岛成员");
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add("§r");
|
||||
if (butt) {
|
||||
lore.add("§6▸ §e点击查看");
|
||||
} else {
|
||||
lore.add("§6▸ §e没有属于您的岛屿");
|
||||
}
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
return item;
|
||||
}
|
||||
|
||||
public static ItemStack islandlock() {
|
||||
ItemStack item = new ItemStack(Material.WATCH);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName("§c§l锁定岛屿");
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add("§r");
|
||||
lore.add("§6▸ §c点击锁定");
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
return item;
|
||||
}
|
||||
|
||||
public static ItemStack resetLand() {
|
||||
ItemStack item = new ItemStack(Material.LAVA_BUCKET);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName("§6§l重置空岛");
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add("§r");
|
||||
lore.add("§6▸ §c点击重置");
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
return item;
|
||||
}
|
||||
|
||||
public static ItemStack setWarp() {
|
||||
ItemStack item = new ItemStack(Material.ANVIL);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName("§6§l设置空岛地标");
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add("§r");
|
||||
lore.add("§6▸ §e点击设置");
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
return item;
|
||||
}
|
||||
|
||||
public static ItemStack warpList() {
|
||||
ItemStack item = new ItemStack(Material.SIGN);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName("§6§l空岛地标列表");
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add("§r");
|
||||
lore.add("§6▸ §e点击查看");
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
return item;
|
||||
}
|
||||
|
||||
public static ItemStack islandQuest() {
|
||||
ItemStack item = new ItemStack(Material.BOOK);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.setDisplayName("§6§l挑战任务");
|
||||
List<String> lore = new ArrayList<>();
|
||||
lore.add("§r");
|
||||
lore.add("§6▸ §e点击查看");
|
||||
meta.setLore(lore);
|
||||
item.setItemMeta(meta);
|
||||
return item;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
name: AskyBlockWarps
|
||||
main: me.Demon.AskyBlockWarps.Main
|
||||
version: 1.0
|
||||
version: 1.1.0
|
||||
commands:
|
||||
iswarps:
|
Loading…
Reference in New Issue
Block a user