7 Commits
1.0 ... 1.1.0

Author SHA1 Message Date
Quentin Legot
9920c9fbdc Updated plugin.yml 2020-06-29 11:37:39 +02:00
Quentin Legot
7c35c54e4a Merge pull request #1 from FarmAndFight/secondary
Secondary -> master
2020-06-10 18:52:57 +02:00
Quentin Legot
d56fc7d192 ClickEvent now work 2020-06-08 11:31:01 +02:00
Quentin Legot
5e47d3c067 Updated Book.java - Still WIP 2020-06-08 00:44:34 +02:00
Quentin Legot
c37f8ccb6c Update Book.java 2020-06-07 22:41:06 +02:00
DriHut
4ec4c7641a testing but nothing works
(for now)
2020-06-07 19:53:08 +02:00
Quentin Legot
74f125d32b Added & compatibility 2020-06-02 12:02:10 +02:00
3 changed files with 73 additions and 8 deletions

View File

@@ -2,8 +2,18 @@ book:
title: "Un magnifique titre"
author: "Auteur du livre"
pages:
#You can add clickable text by writing it like the following example
#random_text {your_text_with_abilities,hover_message,click_event<true or false>(action,argument)} other_random_text
# ACTION_LIST: CHANGE_PAGE, COPY_TO_CLIPBOARD, OPEN_URL, RUN_COMMAND, SUGGEST_COMMAND
#examples:
# - This is an example
# if a player click {here,he would see this message by hovering,true(CHANGE_PAGE.4)}
# he would open page 4
# if she exist
#note that if you want to write an { or } in your text put a \ before
#colors are also supported with & and §, help available on https://minecraft.tools/en/color-code.php
- |
Premier page
Premiere page
C'est beau tu trouve pas ?
- |
ça c'est Seconde page.
@@ -11,4 +21,12 @@ book:
- |
Et cette troisème alors ?
la meilleure de toutes !
Tu trouves pas ?
Tu trouves pas ?
- |
This is an example
if a player click {here,he would see this message by hovering,true(CHANGE_PAGE.1)}
he would open page 1
if she exist
{Link,he would see this message by hovering,true(OPEN_URL.https://spigotmc.org)}
{Command,he would see this message by hovering,true(RUN_COMMAND./say salut)}
{Suggest,he would see this message by hovering,true(SUGGEST_COMMAND./say salut)}

View File

@@ -1,6 +1,6 @@
name: Help-Rules-Book
version: 1.0
author: Topeka_, Adien1106
version: 1.1
authors: [Topeka_, Adien1106]
main: fr.topeka.HelpRulesBook.Main
api-version: 1.14
commands:

View File

@@ -7,6 +7,11 @@ import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.BookMeta;
import net.md_5.bungee.api.chat.ClickEvent;
import net.md_5.bungee.api.chat.ComponentBuilder;
import net.md_5.bungee.api.chat.HoverEvent;
import net.md_5.bungee.api.chat.TextComponent;
public class Book {
private ItemStack book;
@@ -23,10 +28,53 @@ public class Book {
BookMeta meta = (BookMeta) book.getItemMeta();
meta.setTitle(_title);
meta.setAuthor(_author);
for(int i=0;i<_pages.size();i++)
meta.addPage(_pages.get(i));
if(book.setItemMeta(meta))
for (String rawPage: _pages){
ComponentBuilder page = new ComponentBuilder("");
rawPage = rawPage.replace("&", "§");
if (rawPage.contains("{") && rawPage.contains("}")) {
String[] sections = rawPage.split("\\{|\\}");
boolean edit = false;
TextComponent message = new TextComponent();
for(String section : sections) {
if(!edit) {
message.addExtra(section);
}else {
String[] elements = section.split(",");
TextComponent eventBuilder = new TextComponent(elements[0]);
if(!elements[1].equals("")) {
eventBuilder.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder(elements[1]).create()));
}
if(elements[2].startsWith("true")) {
// System.out.println(elements[2].substring(5, elements[2].length() - 1));
if(elements[2].startsWith("OPEN_URL", 5)) {
eventBuilder.setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, elements[2].substring(elements[2].indexOf(".") + 1, elements[2].length() - 1)));
}
if(elements[2].startsWith("RUN_COMMAND", 5)) {
eventBuilder.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, elements[2].substring(elements[2].indexOf(".") + 1, elements[2].length() - 1)));
}
if(elements[2].startsWith("SUGGEST_COMMAND", 5)) {
eventBuilder.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, elements[2].substring(elements[2].indexOf(".") + 1, elements[2].length() - 1)));
}
if(elements[2].startsWith("CHANGE_PAGE", 5)) {
eventBuilder.setClickEvent(new ClickEvent(ClickEvent.Action.CHANGE_PAGE, elements[2].substring(elements[2].indexOf(".") + 1, elements[2].length() - 1)));
}
}
message.addExtra(eventBuilder);
}
edit = !edit;
}
page.append(message);
}else {
page.append(rawPage);
}
meta.spigot().addPage(page.create());
}
if(book.setItemMeta(meta)) {
return true;
}
return false;
}
@@ -39,5 +87,4 @@ public class Book {
public void openBook(Player player) {
player.openBook(book);
}
}