diff --git a/src/de/steamwar/tutorial/TutorialSystem.java b/src/de/steamwar/tutorial/TutorialSystem.java index bfb64b0..a348818 100644 --- a/src/de/steamwar/tutorial/TutorialSystem.java +++ b/src/de/steamwar/tutorial/TutorialSystem.java @@ -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(); } diff --git a/src/de/steamwar/tutorial/commands/BookReplaceCommand.java b/src/de/steamwar/tutorial/commands/BookReplaceCommand.java new file mode 100644 index 0000000..43b052f --- /dev/null +++ b/src/de/steamwar/tutorial/commands/BookReplaceCommand.java @@ -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 stringList = bookMeta.getPages(); + for (int i = 0; i < stringList.size(); i++) { + String string = stringList.get(i); + stringList.set(i, string.replace(oldChar, newChar)); + } + } +}