Skip to content

Commit aaf9686

Browse files
committed
Added docs for methods in FactionLogic, AttackLogic and events. Added isOnline, getPower, getMaxPower methods to FactionPlayer interface.
1 parent 8de3cfe commit aaf9686

15 files changed

+367
-15
lines changed

src/main/java/io/github/aquerr/eaglefactions/api/entities/Faction.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,18 @@
11
package io.github.aquerr.eaglefactions.api.entities;
22

3+
import io.github.aquerr.eaglefactions.api.logic.FactionLogic;
4+
import io.github.aquerr.eaglefactions.api.managers.PowerManager;
35
import org.spongepowered.api.text.Text;
46

57
import java.time.Instant;
68
import java.util.*;
79

10+
/**
11+
* Faction is an immutable object that stores all information (but power) needed for faction to work.
12+
*
13+
* To change faction data use {@link FactionLogic}
14+
* To get faction power use {@link PowerManager}
15+
*/
816
public interface Faction
917
{
1018
/**
@@ -131,11 +139,6 @@ public interface Faction
131139
*/
132140
Builder toBuilder();
133141

134-
// static Builder builder(final String name, final Text tag, final UUID leader)
135-
// {
136-
// return new Builder(name, tag, leader);
137-
// }
138-
139142
//Builder
140143
interface Builder
141144
{

src/main/java/io/github/aquerr/eaglefactions/api/entities/FactionPlayer.java

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,56 @@
55
import java.util.Optional;
66
import java.util.UUID;
77

8+
/**
9+
* Represents a faction player.
10+
*/
811
public interface FactionPlayer
912
{
13+
/**
14+
* Gets last known player's name.
15+
* @return the name of the player as {@link String}
16+
*/
1017
String getName();
1118

19+
/**
20+
* Gets player's unique id.
21+
* @return the {@link UUID} of the player.
22+
*/
1223
UUID getUniqueId();
1324

25+
/**
26+
* Gets player's faction name.
27+
* @return the name of the faction as {@link Optional<String>} or {@link Optional#empty()} if player is not in a faction.
28+
*/
1429
Optional<String> getFactionName();
1530

31+
/**
32+
* Gets player's faction member type (rank).
33+
* @return the {@link FactionMemberType} of the player.
34+
*/
1635
Optional<FactionMemberType> getFactionRole();
1736

37+
/**
38+
* Checks if the player is online.
39+
* @return <tt>true</tt> if player is online or <tt>false</tt> if not.
40+
*/
41+
boolean isOnline();
42+
43+
/**
44+
* Gets player's power.
45+
* @return player's power as floating number.
46+
*/
47+
float getPower();
48+
49+
/**
50+
* Gets player's maxpower.
51+
* @return player's maxpower as floating number.
52+
*/
53+
float getMaxPower();
54+
55+
/**
56+
* Gets {@link User} instance from the current player.
57+
* @return the {@link User} instance or {@link Optional#empty()} if instance could not be found.
58+
*/
1859
Optional<User> getUser();
1960
}

src/main/java/io/github/aquerr/eaglefactions/api/events/FactionAreaEnterEvent.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,11 @@
99

1010
import java.util.Optional;
1111

12+
/**
13+
* Event that is fired when player enters or leave a claimed territory.
14+
*
15+
* This event is NOT fired if player moves between territories which belongs to the same faction.
16+
*/
1217
public interface FactionAreaEnterEvent extends Event, Cancellable
1318
{
1419
/**
Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
package io.github.aquerr.eaglefactions.api.events;
22

3-
interface FactionChestEvent extends FactionEvent
3+
import io.github.aquerr.eaglefactions.api.entities.FactionChest;
4+
import org.spongepowered.api.entity.living.player.Player;
5+
6+
/**
7+
* Fired when a {@link Player} accesses a {@link FactionChest}
8+
*/
9+
public interface FactionChestEvent extends FactionEvent
410
{
511

612
}

src/main/java/io/github/aquerr/eaglefactions/api/events/FactionClaimEvent.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
package io.github.aquerr.eaglefactions.api.events;
22

33
import com.flowpowered.math.vector.Vector3i;
4+
import org.spongepowered.api.entity.living.player.Player;
45
import org.spongepowered.api.world.World;
56

7+
/**
8+
* Fired when a {@link Player} claims a chunk at a given {@link Vector3i}.
9+
*/
610
public interface FactionClaimEvent extends FactionEvent
711
{
812
/**

src/main/java/io/github/aquerr/eaglefactions/api/events/FactionCreateEvent.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
package io.github.aquerr.eaglefactions.api.events;
22

3+
import io.github.aquerr.eaglefactions.api.entities.Faction;
4+
import org.spongepowered.api.entity.living.player.Player;
5+
6+
/**
7+
* Fired when a {@link Player} creates a {@link Faction}
8+
*/
39
public interface FactionCreateEvent extends FactionEvent
410
{
511
/**

src/main/java/io/github/aquerr/eaglefactions/api/events/FactionDisbandEvent.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
package io.github.aquerr.eaglefactions.api.events;
22

3+
import io.github.aquerr.eaglefactions.api.entities.Faction;
4+
import org.spongepowered.api.entity.living.player.Player;
5+
6+
/**
7+
* Fired when a {@link Player} disbands a {@link Faction}.
8+
*/
39
public interface FactionDisbandEvent extends FactionEvent
410
{
511

src/main/java/io/github/aquerr/eaglefactions/api/events/FactionEvent.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
import org.spongepowered.api.event.Cancellable;
66
import org.spongepowered.api.event.Event;
77

8+
/**
9+
* Base event for all events related to {@link Faction}
10+
*/
811
public interface FactionEvent extends Event, Cancellable
912
{
1013
/**

src/main/java/io/github/aquerr/eaglefactions/api/events/FactionInviteEvent.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
package io.github.aquerr.eaglefactions.api.events;
22

3+
import io.github.aquerr.eaglefactions.api.entities.Faction;
34
import org.spongepowered.api.entity.living.player.Player;
45

6+
/**
7+
* Fired when a {@link Player} is being invited to a {@link Faction}
8+
*/
59
public interface FactionInviteEvent extends FactionEvent
610
{
711
/**

src/main/java/io/github/aquerr/eaglefactions/api/events/FactionJoinEvent.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
package io.github.aquerr.eaglefactions.api.events;
22

3+
import io.github.aquerr.eaglefactions.api.entities.Faction;
4+
import org.spongepowered.api.entity.living.player.Player;
5+
6+
/**
7+
* Fired when a {@link Player} joins a {@link Faction}
8+
*/
39
public interface FactionJoinEvent extends FactionEvent
410
{
511

0 commit comments

Comments
 (0)