Commit Graph

78 Commits

Author SHA1 Message Date
Stijn 4b2cadb419
Events (#4)
* Refactor island and island player classes to interfaces

Refactored the existing Island and IslandPlayer classes to interfaces and created the implementation classes, IslandImpl and IslandPlayerImpl.

* Add event handling for player island actions

Implemented new event classes for handling player activities related to islands. These include IslandPlayerJoinEvent, IslandPlayerLeaveEvent, IslandPlayerJoinIslandEvent, and IslandPlayerLeaveIslandEvent, facilitating better tracking and handling of player actions on islands for other plugins.

* Implement Island interfaces in IslandImpl and IslandPlayerImpl

Updated the IslandImpl and IslandPlayerImpl classes to implement the Island and IslandPlayer interfaces respectively.

* Refactor IslandPlayer Interface

Removed player() method and added islandOwner() method in the IslandPlayer interface. This change reflects way the IslandPlayerImpl currently works.

* Implement event triggers for island join/leave and server join/leave events

Added triggers for IslandPlayer events in the relevant island management methods. Also, modified IslandPlayerJoinEvent and IslandPlayerLeaveEvent to remove unnecessary references to Island-object.

* Reverting in events

* Replace interfaces with records in event parameters

The commit replaces the usage of interfaces Island and IslandPlayer with record classes in event parameters. It also adds methods to convert instances to respective records in Island and IslandPlayer classes. The interfaces are then removed as they are no longer needed.

* Replace interfaces with records in event parameters

The commit replaces the usage of interfaces Island and IslandPlayer with record classes in event parameters. It also adds methods to convert instances to respective records in Island and IslandPlayer classes. The interfaces are then removed as they are no longer needed.
2024-02-19 03:52:17 +01:00
Stijn 69cd686d04
Implement teleportation to island in 'VisitRequest' accept method (#9)
Fixed the accept function in the 'VisitRequest' class by adding teleportation to the island of the target. Additionally, validation checks for this were added. Specifically, it now verifies the existence of both the player and the requested island before carrying out the teleportation command.
2024-02-18 23:26:49 +01:00
Stijn 2b69335b2e
Improved Player Experience Display (#6)
Updated the Player Experience Display in the UpgradesGUI to show both the current experience of the player and the experience required to level up. This provides a clearer oversight for players on their progress towards the next island level. This changes only affects the user interface.
2024-02-18 16:43:39 +01:00
Stijn d1c8d29cde
Add IslandTop command with refresh cooldown (#1)
* Add IslandTop command with refresh cooldown

The "IslandTop" command has been added. This provides a sorted list of top-performing islands. A configuration for refresh cooldown was also added. The sorted island list is updated once the specified minutes in the configuration have passed to improve performance. The ranking display for the player's island is highlighted in green text.

* Update IslandTop command

On plugin startup the IslandData is now loaded in. IslandData was moved to its own file and gets updated when a new island is created or when one levels up. The IslandData gets deleted when the owner leaves the island, destroying it.
2024-02-18 14:22:17 +01:00
destro174 d09e8567ac
Merge pull request #2 from Altitude-Devs/IslandBroadcasts
Add island::broadcast as a way to announce information
2024-02-17 23:28:28 +01:00
Len 06869871f1 Add island::broadcast as a way to announce information to all the island members and owner. 2024-02-17 23:18:12 +01:00
Len 0851570d16 Fix players leaving an island resetting the island owner. 2024-02-17 22:54:15 +01:00
Len 333e8e9b8d Allow expanding the island WorldBorderLevel 2024-02-17 21:55:17 +01:00
Len 05926df76e Fix playerheads in the GUI 2024-02-17 21:25:50 +01:00
Len 084b3ea5de Allow bucketing obsidian to lava. 2024-02-17 15:30:36 +01:00
Len cccd301cbb Set world seed to 4894934811986575177 2024-02-17 15:22:55 +01:00
Len d065d7b2f1 Set difficulty to normal by default 2024-02-17 15:10:52 +01:00
Len 17b62d6a01 Set gamerule DO_INSOMNIA to false when creating islands. 2024-02-17 15:03:56 +01:00
Len fefeba33be Add WorldLoader.java and WorldManager.java 2024-02-17 13:23:11 +01:00
Len 79953416d1 Load island difficulty when loading islandworld 2024-02-17 12:15:23 +01:00
Len 9062caf862 Teleport back to island when logging in. 2024-02-17 12:05:42 +01:00
Len 8a51c9d99c Add IslandRestart 2024-02-16 10:32:00 +01:00
Len 92b445f2a2 Clean up GUI Titles 2024-02-16 10:27:32 +01:00
Len dc6293eb45 Add some more output to commands 2024-02-16 10:25:11 +01:00
Len b04fc5d8a1 Fix interactions in the overworld 2024-02-13 17:17:43 +01:00
Len eb5d538657 Fix typo in MessageConfiguration.java 2024-02-11 17:05:49 +01:00
Len 64bcbdfe5f Add CobbleStone generator level to upgrades GUI 2024-02-11 16:58:35 +01:00
Len dd6b9b6c92 Update islandId when creating a new island. 2024-02-11 16:39:42 +01:00
Len 4286856f84 Update island owner when leaving island 2024-02-11 16:36:15 +01:00
Len 34e9aa240a Save members list when adding new members 2024-02-11 16:30:59 +01:00
Len f4b67c93c3 Add back button to GUI 2024-02-11 16:22:22 +01:00
Len 10a057bab5 Tweak IslandLevel upgrades 2024-02-11 16:18:56 +01:00
Len 71ad69479f Deprecate method 2024-02-11 16:16:03 +01:00
Len e546a8f748 Fix island.level config path 2024-02-11 16:14:04 +01:00
Len 2c282ab1cf Disable listening to EntityDamageEvent 2024-02-11 15:35:30 +01:00
Len c5fed56fe9 Update UpgradesGUI when upgrading. 2024-02-11 15:26:22 +01:00
Len bbcdcaa2c0 Remove unused code in InviteRequest.java 2024-02-11 15:25:39 +01:00
Len dbd617523a Fix IslandDeny.java command name 2024-02-11 15:18:14 +01:00
Len 15a4ecd3af Parse placeholders in invite message 2024-02-11 15:16:48 +01:00
Len 9e84142ca2 Update difficulty and set gamemode to survival when creating a new island 2024-02-11 15:16:08 +01:00
Len da2f50032d Send message when Island levels up. 2024-02-11 15:14:22 +01:00
Len db4ab33bde Fix typo in MessageConfiguration.java 2024-02-11 15:13:19 +01:00
Len 4701b019d7 Add functions to the GUI. 2024-02-11 14:34:56 +01:00
Len 52d8178e28 Update IslandSetOwner.java 2024-02-10 23:25:50 +01:00
Len adacce0677 Add InviteRequest.java 2024-02-10 23:19:50 +01:00
Len 144383769c Add some info to GUIInventory.java menubars 2024-02-10 23:03:36 +01:00
Len 17d0cb4c5f Remove IslandSethome.java 2024-02-10 22:56:58 +01:00
Len f863fbc56e Remove IslandOptions.java 2024-02-10 22:48:55 +01:00
Len 181df31696 Remove IslandMembersCommand and move it to the IslandGUI.java 2024-02-10 22:48:16 +01:00
Len be52a305fe Inform players why they are teleported to spawn during an island restart. 2024-02-10 22:45:43 +01:00
Len 46ac79503e Add IslandLeave.java 2024-02-10 22:34:06 +01:00
Len 3cdf57192c Check if player has island when inviting players 2024-02-10 22:16:26 +01:00
Len f4bf8e8964 add base for IslandRestart.java 2024-02-10 22:12:15 +01:00
Len ebf2894ccf Add IslandInvite.java 2024-02-10 21:50:01 +01:00
Len 04d5a76ac6 Clean up PlayerListener.java 2024-02-10 15:48:19 +01:00