refator: streamline anvilmanager
This commit is contained in:
parent
7fe7412a2d
commit
39cbfde76f
2 changed files with 19 additions and 33 deletions
|
@ -2,7 +2,6 @@ package net.artelnatif.nicko.anvil;
|
||||||
|
|
||||||
import net.artelnatif.nicko.NickoBukkit;
|
import net.artelnatif.nicko.NickoBukkit;
|
||||||
import net.artelnatif.nicko.disguise.AppearanceManager;
|
import net.artelnatif.nicko.disguise.AppearanceManager;
|
||||||
import net.artelnatif.nicko.disguise.NickoProfile;
|
|
||||||
import net.artelnatif.nicko.disguise.UpdateResult;
|
import net.artelnatif.nicko.disguise.UpdateResult;
|
||||||
import net.artelnatif.nicko.i18n.I18N;
|
import net.artelnatif.nicko.i18n.I18N;
|
||||||
import net.artelnatif.nicko.i18n.I18NDict;
|
import net.artelnatif.nicko.i18n.I18NDict;
|
||||||
|
@ -15,38 +14,30 @@ import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
|
||||||
public class AnvilManager {
|
public class AnvilManager {
|
||||||
private final Player player;
|
private final Player player;
|
||||||
private final NickoProfile profile;
|
|
||||||
private final AppearanceManager appearanceManager;
|
private final AppearanceManager appearanceManager;
|
||||||
|
|
||||||
public AnvilManager(Player player) {
|
public AnvilManager(Player player) {
|
||||||
this.player = player;
|
this.player = player;
|
||||||
this.appearanceManager = AppearanceManager.get(player);
|
this.appearanceManager = AppearanceManager.get(player);
|
||||||
this.profile = appearanceManager.getProfile();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void openNameAndSkinAnvil() {
|
public void openNameThenSkinAnvil() {
|
||||||
final AnvilGUI.Builder skin = getSkinAnvil();
|
openNameAnvil();
|
||||||
final AnvilGUI.Builder name = new AnvilGUI.Builder()
|
openSkinAnvil();
|
||||||
.plugin(NickoBukkit.getInstance())
|
|
||||||
.itemLeft(getLeftItem())
|
|
||||||
.onComplete((anvilPlayer, response) -> {
|
|
||||||
if (MojangUtils.isUsernameInvalid(response)) {
|
|
||||||
return AnvilGUI.Response.text("Invalid username!");
|
|
||||||
} else {
|
|
||||||
profile.setName(response);
|
|
||||||
skin.open(player);
|
|
||||||
return AnvilGUI.Response.close();
|
|
||||||
}
|
}
|
||||||
})
|
|
||||||
.text("New name...");
|
|
||||||
|
|
||||||
name.open(player);
|
public void openSkinAnvil() {
|
||||||
|
getSkinAnvil().open(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void openNameAnvil() {
|
public void openNameAnvil() {
|
||||||
new AnvilGUI.Builder()
|
getNameAnvil().open(player);
|
||||||
|
}
|
||||||
|
|
||||||
|
public AnvilGUI.Builder getNameAnvil() {
|
||||||
|
return new AnvilGUI.Builder()
|
||||||
.plugin(NickoBukkit.getInstance())
|
.plugin(NickoBukkit.getInstance())
|
||||||
.itemLeft(getLeftItem())
|
.itemLeft(getLeftItem(false))
|
||||||
.onComplete((anvilPlayer, response) -> {
|
.onComplete((anvilPlayer, response) -> {
|
||||||
if (MojangUtils.isUsernameInvalid(response)) {
|
if (MojangUtils.isUsernameInvalid(response)) {
|
||||||
return AnvilGUI.Response.text("Invalid username!");
|
return AnvilGUI.Response.text("Invalid username!");
|
||||||
|
@ -61,18 +52,13 @@ public class AnvilManager {
|
||||||
return AnvilGUI.Response.close();
|
return AnvilGUI.Response.close();
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.text("New name...")
|
.text("New name...");
|
||||||
.open(player);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void openSkinAnvil() {
|
|
||||||
getSkinAnvil().open(player);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private AnvilGUI.Builder getSkinAnvil() {
|
private AnvilGUI.Builder getSkinAnvil() {
|
||||||
return new AnvilGUI.Builder()
|
return new AnvilGUI.Builder()
|
||||||
.plugin(NickoBukkit.getInstance())
|
.plugin(NickoBukkit.getInstance())
|
||||||
.itemLeft(getLeftItem())
|
.itemLeft(getLeftItem(true))
|
||||||
.onComplete((anvilPlayer, response) -> {
|
.onComplete((anvilPlayer, response) -> {
|
||||||
if (MojangUtils.isUsernameInvalid(response)) {
|
if (MojangUtils.isUsernameInvalid(response)) {
|
||||||
return AnvilGUI.Response.text("Invalid username!");
|
return AnvilGUI.Response.text("Invalid username!");
|
||||||
|
@ -90,10 +76,10 @@ public class AnvilManager {
|
||||||
.text("New skin...");
|
.text("New skin...");
|
||||||
}
|
}
|
||||||
|
|
||||||
private ItemStack getLeftItem() {
|
private ItemStack getLeftItem(boolean skin) {
|
||||||
final ItemStack item = new ItemStack(Material.PAPER);
|
final ItemStack item = new ItemStack(Material.PAPER);
|
||||||
final ItemMeta meta = item.getItemMeta();
|
final ItemMeta meta = item.getItemMeta();
|
||||||
meta.setDisplayName("§0ID");
|
meta.setDisplayName("§0New " + (skin ? "skin" : "name") + "...");
|
||||||
item.setItemMeta(meta);
|
item.setItemMeta(meta);
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,7 @@ public class ChangeNameAndSkinItem extends BaseItem {
|
||||||
if (clickType.isLeftClick() || clickType.isRightClick()) {
|
if (clickType.isLeftClick() || clickType.isRightClick()) {
|
||||||
event.getView().close();
|
event.getView().close();
|
||||||
final AnvilManager manager = new AnvilManager(player);
|
final AnvilManager manager = new AnvilManager(player);
|
||||||
manager.openNameAndSkinAnvil();
|
manager.openNameThenSkinAnvil();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue