Commit Graph

14 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 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
Len 0851570d16 Fix players leaving an island resetting the island owner. 2024-02-17 22:54:15 +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 dc6293eb45 Add some more output to commands 2024-02-16 10:25:11 +01:00
Len 4286856f84 Update island owner when leaving island 2024-02-11 16:36:15 +01:00
Len bbcdcaa2c0 Remove unused code in InviteRequest.java 2024-02-11 15:25:39 +01:00
Len adacce0677 Add InviteRequest.java 2024-02-10 23:19:50 +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 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