refator: streamline anvilmanager

This commit is contained in:
aro 2022-11-08 14:44:12 +01:00
parent 7fe7412a2d
commit 39cbfde76f
2 changed files with 19 additions and 33 deletions

View file

@ -2,7 +2,6 @@ package net.artelnatif.nicko.anvil;
import net.artelnatif.nicko.NickoBukkit;
import net.artelnatif.nicko.disguise.AppearanceManager;
import net.artelnatif.nicko.disguise.NickoProfile;
import net.artelnatif.nicko.disguise.UpdateResult;
import net.artelnatif.nicko.i18n.I18N;
import net.artelnatif.nicko.i18n.I18NDict;
@ -15,38 +14,30 @@ import org.bukkit.inventory.meta.ItemMeta;
public class AnvilManager {
private final Player player;
private final NickoProfile profile;
private final AppearanceManager appearanceManager;
public AnvilManager(Player player) {
this.player = player;
this.appearanceManager = AppearanceManager.get(player);
this.profile = appearanceManager.getProfile();
}
public void openNameAndSkinAnvil() {
final AnvilGUI.Builder skin = getSkinAnvil();
final AnvilGUI.Builder name = new AnvilGUI.Builder()
.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();
public void openNameThenSkinAnvil() {
openNameAnvil();
openSkinAnvil();
}
})
.text("New name...");
name.open(player);
public void openSkinAnvil() {
getSkinAnvil().open(player);
}
public void openNameAnvil() {
new AnvilGUI.Builder()
getNameAnvil().open(player);
}
public AnvilGUI.Builder getNameAnvil() {
return new AnvilGUI.Builder()
.plugin(NickoBukkit.getInstance())
.itemLeft(getLeftItem())
.itemLeft(getLeftItem(false))
.onComplete((anvilPlayer, response) -> {
if (MojangUtils.isUsernameInvalid(response)) {
return AnvilGUI.Response.text("Invalid username!");
@ -61,18 +52,13 @@ public class AnvilManager {
return AnvilGUI.Response.close();
}
})
.text("New name...")
.open(player);
}
public void openSkinAnvil() {
getSkinAnvil().open(player);
.text("New name...");
}
private AnvilGUI.Builder getSkinAnvil() {
return new AnvilGUI.Builder()
.plugin(NickoBukkit.getInstance())
.itemLeft(getLeftItem())
.itemLeft(getLeftItem(true))
.onComplete((anvilPlayer, response) -> {
if (MojangUtils.isUsernameInvalid(response)) {
return AnvilGUI.Response.text("Invalid username!");
@ -90,10 +76,10 @@ public class AnvilManager {
.text("New skin...");
}
private ItemStack getLeftItem() {
private ItemStack getLeftItem(boolean skin) {
final ItemStack item = new ItemStack(Material.PAPER);
final ItemMeta meta = item.getItemMeta();
meta.setDisplayName("§0ID");
meta.setDisplayName("§0New " + (skin ? "skin" : "name") + "...");
item.setItemMeta(meta);
return item;
}

View file

@ -24,7 +24,7 @@ public class ChangeNameAndSkinItem extends BaseItem {
if (clickType.isLeftClick() || clickType.isRightClick()) {
event.getView().close();
final AnvilManager manager = new AnvilManager(player);
manager.openNameAndSkinAnvil();
manager.openNameThenSkinAnvil();
}
}
}