Skip to content

Commit 0abcf6a

Browse files
kashikegabizou
authored andcommitted
Add API methods for controlling the spectator camera Entity
Adds #1395 Signed-off-by: Gabriel Harris-Rouquette <[email protected]>
1 parent e34f949 commit 0abcf6a

File tree

1 file changed

+20
-0
lines changed
  • src/main/java/org/spongepowered/api/entity/living/player

1 file changed

+20
-0
lines changed

src/main/java/org/spongepowered/api/entity/living/player/Player.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,10 @@
3434
import org.spongepowered.api.data.type.SkinPart;
3535
import org.spongepowered.api.data.value.mutable.Value;
3636
import org.spongepowered.api.effect.Viewer;
37+
import org.spongepowered.api.entity.Entity;
3738
import org.spongepowered.api.entity.living.Humanoid;
3839
import org.spongepowered.api.entity.living.player.gamemode.GameMode;
40+
import org.spongepowered.api.entity.living.player.gamemode.GameModes;
3941
import org.spongepowered.api.entity.living.player.tab.TabList;
4042
import org.spongepowered.api.event.cause.Cause;
4143
import org.spongepowered.api.item.inventory.Container;
@@ -52,6 +54,8 @@
5254
import java.util.Optional;
5355
import java.util.Set;
5456

57+
import javax.annotation.Nullable;
58+
5559
/**
5660
* A Player represents the in-game entity of a human playing on a server.
5761
* This is in contrast to User which represents the storage and data
@@ -294,4 +298,20 @@ default Value<GameMode> gameMode() {
294298
*/
295299
boolean respawnPlayer();
296300

301+
/**
302+
* Gets the {@link Entity} followed by the camera when in the
303+
* {@link GameModes#SPECTATOR spectator gamemode}.
304+
*
305+
* @return The followed entity, if present, {@link Optional#empty()} otherwise
306+
*/
307+
Optional<Entity> getSpectatorTarget();
308+
309+
/**
310+
* Sets the {@link Entity} followed by the camera when in the
311+
* {@link GameModes#SPECTATOR spectator gamemode}.
312+
*
313+
* @param entity The entity to spectate
314+
*/
315+
void setSpectatorTarget(@Nullable Entity entity);
316+
297317
}

0 commit comments

Comments
 (0)