13
0

Add BookReplaceCommand #2

Zusammengeführt
Lixfel hat 3 Commits von BookReplace nach master 2022-03-22 17:28:41 +01:00 zusammengeführt
2 geänderte Dateien mit 50 neuen und 0 gelöschten Zeilen
Nur Änderungen aus Commit 8fff4fb7dd werden angezeigt - Alle Commits anzeigen

Datei anzeigen

@ -19,6 +19,7 @@
package de.steamwar.tutorial;
import de.steamwar.tutorial.commands.BookReplaceCommand;
import de.steamwar.tutorial.commands.TutorialCommand;
import de.steamwar.tutorial.listener.Joining;
import de.steamwar.tutorial.listener.RateSign;
@ -38,6 +39,7 @@ public class TutorialSystem extends JavaPlugin {
new RateSign();
new Joining();
new BookReplaceCommand();
new TutorialCommand();
}

Datei anzeigen

@ -0,0 +1,48 @@
package de.steamwar.tutorial.commands;
import de.steamwar.command.SWCommand;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.BookMeta;
import org.bukkit.inventory.meta.ItemMeta;
import java.util.List;
public class BookReplaceCommand extends SWCommand {
public BookReplaceCommand() {
super("bookreplace");
}
@Register("color")
public void color(Player player) {
ItemStack itemStack = player.getInventory().getItemInMainHand();
ItemMeta itemMeta = itemStack.getItemMeta();
if (itemMeta instanceof BookMeta) {
BookMeta bookMeta = (BookMeta) itemMeta;
replace(bookMeta, '&', '§');
itemStack.setItemMeta(bookMeta);
player.getInventory().setItemInMainHand(itemStack);
}
}
@Register("uncolor")
public void uncolor(Player player) {
ItemStack itemStack = player.getInventory().getItemInMainHand();
ItemMeta itemMeta = itemStack.getItemMeta();
if (itemMeta instanceof BookMeta) {
BookMeta bookMeta = (BookMeta) itemMeta;
replace(bookMeta, '§', '&');
itemStack.setItemMeta(bookMeta);
player.getInventory().setItemInMainHand(itemStack);
}
}
private void replace(BookMeta bookMeta, char oldChar, char newChar) {
List<String> stringList = bookMeta.getPages();
for (int i = 0; i < stringList.size(); i++) {
String string = stringList.get(i);
stringList.set(i, string.replace(oldChar, newChar));
}
}
}