Skip to content

GH-1301 Add paginated ender chests - #1440

Draft
Pawelusze wants to merge 13 commits into
EternalCodeTeam:masterfrom
Pawelusze:feature/paginated-enderchest
Draft

Pawelusze wants to merge 13 commits into
EternalCodeTeam:masterfrom
Pawelusze:feature/paginated-enderchest

Conversation

@Pawelusze

Copy link
Copy Markdown
Contributor

No description provided.

@Pawelusze
Pawelusze requested a review from a team as a code owner September 21, 2026 13:29
@Pawelusze Pawelusze self-assigned this Sep 21, 2026
@Pawelusze Pawelusze added 🆕 feature New feature or request ✅ needs testing Issue needs verification. labels Sep 21, 2026
@Pawelusze
Pawelusze marked this pull request as draft September 21, 2026 13:35
@Pawelusze
Pawelusze force-pushed the feature/paginated-enderchest branch from 1660f03 to 616e6ef Compare September 21, 2026 13:56
@Pawelusze
Pawelusze force-pushed the feature/paginated-enderchest branch from 616e6ef to a35447f Compare September 21, 2026 13:57
@Pawelusze Pawelusze linked an issue Sep 21, 2026 that may be closed by this pull request
@Pawelusze
Pawelusze marked this pull request as ready for review September 21, 2026 16:22
import java.util.concurrent.CompletableFuture;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nie podoba mi się ten obiekt wygląda trochę jak pomieszany z jakimś managerem/serwisem

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ta klasa powinna tylko przechowywać, aktualnie zarządzą logiką slotów, page'ow, write'owania

"# Opening one that is already open closes it for the other player and has to be repeated",
"#",
"# Recommended to keep on, two players sharing one ender chest can duplicate or lose items"
})

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nie da się tego lepiej zrobić? Nie blokując tego? Trochę obvious


@Getter
@Accessors(fluent = true)
public static class ItemConfig extends OkaeriConfig implements ItemSettings {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nie ma na to gotowca w jakimś innym pliku od konfiguracji GUI?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

jest ConfigItem ale narzuca kilka innych parametrów useless ale jeszcze zbadam to

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Jak dobrze pamiętam tego czego nie używasz dajesz null i wtedy ci tego nie generuje w cfg


@EventHandler
void onWorldSave(WorldSaveEvent event) {
if (event.getWorld().equals(this.server.getWorlds().getFirst())) {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Po co ten if tylko na normalny world?

this.contents = contents;
}

static String idOf(UUID ownerUniqueId, int page) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

proponuję stworzyć klase osobną, EnderchestPageTableID

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do jednej metody?

return 0;
}

EnderchestWrite prepareWrite() {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do wydzielenia, EnderchestWriter/EnderchestWriteService

return slot;
}

private void ensureSlots(int required) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cała logika slotów do wydzielenia, EnderchestSlotService

import java.util.concurrent.CompletableFuture;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ta klasa powinna tylko przechowywać, aktualnie zarządzą logiką slotów, page'ow, write'owania

Comment on lines +38 to +45
if (this.enderchestService.isVanillaEnderchestReplaced()) {
return;
}

this.noticeService.create()
.notice(translation -> translation.enderchest().openedEnderchest())
.player(player.getUniqueId())
.send();

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tutaj tego nie rozumiem, dlaczego w pierwszym if'ie nie wysyłamy żadnego komunikatu?

@Pawelusze
Pawelusze marked this pull request as draft September 22, 2026 08:45
@Pawelusze
Pawelusze force-pushed the feature/paginated-enderchest branch from d297269 to 70a63f0 Compare October 21, 2026 02:52
@Pawelusze
Pawelusze force-pushed the feature/paginated-enderchest branch from eaca32f to 4e0a066 Compare October 21, 2026 14:58
@Pawelusze
Pawelusze removed the request for review from igoyek October 21, 2026 14:59
@Pawelusze

Copy link
Copy Markdown
Contributor Author

Zawieszam prace nad tym PR'kiem na chwile obecną gdyż niestety dopadła mnie choroba

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🆕 feature New feature or request ✅ needs testing Issue needs verification.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Add custom ender chests for players

4 participants