Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
* Creates page items for the game.
* <p>
* When custom pages are enabled, a random item model is assigned to the page.
* The available models range from {@code page_0} up to {@code page_(MAX_CUSTOM_PAGE_ID - 1)}.
* Available models are {@code page_1}, {@code page_2}, {@code page_4}, {@code page_5}, and {@code page_6}.
* If custom pages are disabled, a regular paper item is returned instead.
*
* @author theEvilReaper
Expand All @@ -24,7 +24,7 @@ public interface PageCreator {
/**
* Number of available custom page models.
*/
int MAX_CUSTOM_PAGE_ID = 6;
int MAX_CUSTOM_PAGE_ID = 5;

/**
* Creates a page item with the given page number.
Expand All @@ -43,7 +43,9 @@ default ItemStack createPageItem(boolean customPage, int pageCount) {
return builder.build();
}

int randomPage = ThreadLocalRandom.current().nextInt(MAX_CUSTOM_PAGE_ID);
int MAX_CUSTOM_PAGE_ID = 6;

int randomPage = ThreadLocalRandom.current().nextInt(1, MAX_CUSTOM_PAGE_ID + 1);

return builder
.set(DataComponents.ITEM_MODEL, Key.key("cygnus", "page_" + randomPage).asString())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ void tearDown() {

@Test
@SetSystemProperty(key = "cygnus.custom_pages", value = "false")
void shouldCreateDefaultPageWhenCustomPagesAreDisabled(Env ignored) {
void testDefaultPageCreation(Env ignored) {
boolean useCustomPage = Boolean.parseBoolean(System.getProperty("cygnus.custom_pages"));
ItemStack page = pageCreator.createPageItem(useCustomPage, 5);

Expand All @@ -38,14 +38,19 @@ void shouldCreateDefaultPageWhenCustomPagesAreDisabled(Env ignored) {

@Test
@SetSystemProperty(key = "cygnus.custom_pages", value = "true")
void shouldAssignCustomModelWhenCustomPagesAreEnabled(Env ignored) {
void testCustomPageCreation(Env ignored) {
boolean useCustomPage = Boolean.parseBoolean(System.getProperty("cygnus.custom_pages"));
ItemStack page = pageCreator.createPageItem(useCustomPage, 5);

assertTrue(page.has(DataComponents.ITEM_MODEL));
String model = page.get(DataComponents.ITEM_MODEL);
for (int i = 0; i < 100; i++) {
ItemStack page = pageCreator.createPageItem(useCustomPage, 5);

assertEquals(Material.PAPER, page.material());
assertTrue(page.has(DataComponents.ITEM_MODEL));

String model = page.get(DataComponents.ITEM_MODEL);

assertNotNull(model);
assertTrue(model.matches("cygnus:page_[0-5]"));
assertNotNull(model);
assertTrue(model.matches("cygnus:page_[1-6]"));
}
}
}
}
Loading