diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..26cccdf --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,26 @@ +name: Skulls Build + +on: [ push, pull_request ] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout the repository + uses: actions/checkout@v2 + + - name: Set up JDK 1.8 + uses: actions/setup-java@v2 + with: + distribution: 'zulu' + java-version: '8' + + - name: Cache Maven Packages + uses: actions/cache@v2 + with: + path: ~/.m2 + key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} + restore-keys: ${{ runner.os }}-m2 + + - name: Build with Maven + run: mvn verify -B --file pom.xml \ No newline at end of file diff --git a/pom.xml b/pom.xml index 39f34e7..bcefa6d 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ skulls Skulls - 2.8.0 + 2.8.1 jar @@ -15,7 +15,7 @@ Skulls ${project.groupId}.${project.artifactId}.${project.name} 1.8 - 1.9.1 + 1.10.0 com.github.kiranhart UTF-8 diff --git a/src/main/java/ca/tweetzy/skulls/menus/MenuCategoryList.java b/src/main/java/ca/tweetzy/skulls/menus/MenuCategoryList.java index ddfd331..52e66b1 100644 --- a/src/main/java/ca/tweetzy/skulls/menus/MenuCategoryList.java +++ b/src/main/java/ca/tweetzy/skulls/menus/MenuCategoryList.java @@ -49,6 +49,7 @@ public final class MenuCategoryList extends MenuPagged { public MenuCategoryList(@NonNull final SkullPlayer skullPlayer, final boolean addingSkull) { super(Math.min(9 * 2, Math.max(9 * 6, 9 * RowByContentSize.get(SkullsAPI.getCustomCategories().size()) + 1)), SkullsAPI.getCustomCategories()); setTitle(Settings.CategoryListMenu.TITLE); + assignNavTranslation(); this.skullPlayer = skullPlayer; this.player = Remain.getPlayerByUUID(this.skullPlayer.getPlayerId()); this.addingSkull = addingSkull; @@ -83,6 +84,13 @@ protected Prompt acceptValidatedInput(@NotNull ConversationContext conversationC }, ItemCreator.of(SkullMaterial.get(Settings.CategoryListMenu.Items.NEW_ITEM)).name(Settings.CategoryListMenu.Items.NEW_NAME).lore(Settings.CategoryListMenu.Items.NEW_LORE)); } + private void assignNavTranslation() { + setNextPageButtonName(Settings.Menu.NEXT_PAGE_NAME); + setNextPageButtonLore(Settings.Menu.NEXT_PAGE_LORE); + setPreviousPageButtonName(Settings.Menu.PREV_PAGE_NAME); + setPreviousPageButtonLore(Settings.Menu.PREV_PAGE_LORE); + } + @Override public ItemStack getItemAt(int slot) { if (slot == getSize() - 1) { diff --git a/src/main/java/ca/tweetzy/skulls/menus/MenuList.java b/src/main/java/ca/tweetzy/skulls/menus/MenuList.java index e94a548..1adc24b 100644 --- a/src/main/java/ca/tweetzy/skulls/menus/MenuList.java +++ b/src/main/java/ca/tweetzy/skulls/menus/MenuList.java @@ -19,6 +19,7 @@ import ca.tweetzy.tweety.menu.model.ItemCreator; import ca.tweetzy.tweety.plugin.TweetyPlugin; import ca.tweetzy.tweety.remain.Remain; +import com.bekvon.bukkit.residence.commands.set; import lombok.NonNull; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; @@ -47,6 +48,7 @@ public MenuList(@NonNull final Player player, @NonNull final SkullCategory categ super(listingType == SkullsMenuListingType.CATEGORY ? Skulls.getSkullManager().getSkullsByCategory(category) : SkullsAPI.getSkullsByIds(category.getSkulls().getSource())); setTitle(Settings.ListingMenu.CATEGORY_TITLE.replace("{category_name}", category.getName())); setSize(9 * 6); + assignNavTranslation(); this.fromMain = true; this.player = player; this.skullPlayer = SkullsAPI.getPlayer(player.getUniqueId()); @@ -58,6 +60,7 @@ public MenuList(@NonNull final Player player, @NonNull final List skulls, super(SkullsAPI.getSkullsByTerm(keywords)); setTitle(Settings.ListingMenu.SEARCH_TITLE.replace("{search_term}", keywords.replace("id:", ""))); setSize(9 * RowByContentSize.get(skulls.size())); + assignNavTranslation(); this.fromMain = true; this.player = player; this.skullPlayer = SkullsAPI.getPlayer(player.getUniqueId()); @@ -69,6 +72,7 @@ public MenuList(@NonNull final SkullPlayer player) { super(SkullsAPI.getSkullsByIds(player.favouriteSkulls().getSource())); setTitle(Settings.ListingMenu.FAVOURITES_TITLE); setSize(9 * RowByContentSize.get(player.favouriteSkulls().size())); + assignNavTranslation(); this.fromMain = true; this.player = Remain.getPlayerByUUID(player.getPlayerId()); this.skullPlayer = player; @@ -76,6 +80,13 @@ public MenuList(@NonNull final SkullPlayer player) { this.category = null; } + private void assignNavTranslation() { + setNextPageButtonName(Settings.Menu.NEXT_PAGE_NAME); + setNextPageButtonLore(Settings.Menu.NEXT_PAGE_LORE); + setPreviousPageButtonName(Settings.Menu.PREV_PAGE_NAME); + setPreviousPageButtonLore(Settings.Menu.PREV_PAGE_LORE); + } + @Override protected ItemStack convertToItemStack(Skull item) { final List lore = new ArrayList<>(); diff --git a/src/main/java/ca/tweetzy/skulls/settings/Settings.java b/src/main/java/ca/tweetzy/skulls/settings/Settings.java index 2d60a3e..9a158a4 100644 --- a/src/main/java/ca/tweetzy/skulls/settings/Settings.java +++ b/src/main/java/ca/tweetzy/skulls/settings/Settings.java @@ -35,6 +35,26 @@ private static void init() { TELL_DISCORD_SERVER = getBoolean("Tell Discord Server"); } + + public static final class Menu { + + public static String PREV_PAGE_NAME; + public static List PREV_PAGE_LORE; + + public static String NEXT_PAGE_NAME; + public static List NEXT_PAGE_LORE; + + private static void init() { + pathPrefix("Menu"); + + PREV_PAGE_NAME = getString("Page_Previous"); + NEXT_PAGE_NAME = getString("Page_Next"); + + PREV_PAGE_LORE = getStringList("Page_Previous_Lore"); + NEXT_PAGE_LORE = getStringList("Page_Next_Lore"); + } + } + public static final class ListingMenu { public static String SEARCH_TITLE; diff --git a/src/main/resources/settings.yml b/src/main/resources/settings.yml index adca462..83dd929 100644 --- a/src/main/resources/settings.yml +++ b/src/main/resources/settings.yml @@ -199,9 +199,11 @@ Menu: - "&7Click to go to page {page}" Page_Next_Lore: - "&7Click to go to page {page}" - - # ------------------------------------------------------------------------------------------------- - # The format used in the {timestamp} placeholder (google "Java timestamp format" for options). - # ------------------------------------------------------------------------------------------------- + + + # ------------------------------------------------------------------------------------------------- +# The format used in the {timestamp} placeholder (google "Java timestamp format" for options). +# ------------------------------------------------------------------------------------------------- Timestamp_Format: "dd.MM.yyyy HH:mm:ss" # -------------------------------------------------------------------------------------------------