Skip to content

Commit c868905

Browse files
authored
Use Aerial to abstract flying trait (#2540)
* Use Aerial to abstract flying trait * Update Phantom.java
1 parent fb63f0b commit c868905

File tree

10 files changed

+27
-20
lines changed

10 files changed

+27
-20
lines changed

src/main/java/org/spongepowered/api/entity/living/Aerial.java renamed to src/main/java/org/spongepowered/api/entity/Aerial.java

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,22 @@
2222
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
2323
* THE SOFTWARE.
2424
*/
25-
package org.spongepowered.api.entity.living;
25+
package org.spongepowered.api.entity;
26+
27+
import org.spongepowered.api.data.Keys;
28+
import org.spongepowered.api.data.value.Value;
2629

2730
/**
28-
* Represents an entity that flies, such as a bat.
31+
* Represents an {@link Entity} which can fly.
2932
*/
30-
public interface Aerial extends Agent {
33+
public interface Aerial extends Entity {
3134

35+
/**
36+
* {@link Keys#IS_FLYING}
37+
*
38+
* @return Whether the entity is flying
39+
*/
40+
default Value.Mutable<Boolean> flying() {
41+
return this.requireValue(Keys.IS_FLYING).asMutable();
42+
}
3243
}

src/main/java/org/spongepowered/api/entity/living/Bat.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626

2727
import org.spongepowered.api.data.Keys;
2828
import org.spongepowered.api.data.value.Value;
29+
import org.spongepowered.api.entity.Aerial;
2930

3031
/**
3132
* Represents a Bat.

src/main/java/org/spongepowered/api/entity/living/animal/Bee.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,10 @@
2424
*/
2525
package org.spongepowered.api.entity.living.animal;
2626

27+
import org.spongepowered.api.entity.Aerial;
28+
2729
/**
2830
* Represents a Bee.
2931
*/
30-
public interface Bee extends Animal {
32+
public interface Bee extends Animal, Aerial {
3133
}

src/main/java/org/spongepowered/api/entity/living/animal/Parrot.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,12 @@
2727
import org.spongepowered.api.data.Keys;
2828
import org.spongepowered.api.data.type.ParrotType;
2929
import org.spongepowered.api.data.value.Value;
30+
import org.spongepowered.api.entity.Aerial;
3031

3132
/**
3233
* Represents a Parrot.
3334
*/
34-
public interface Parrot extends TameableAnimal {
35+
public interface Parrot extends TameableAnimal, Aerial {
3536

3637
/**
3738
* {@link Keys#PARROT_TYPE}

src/main/java/org/spongepowered/api/entity/living/monster/Blaze.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
import org.spongepowered.api.data.Keys;
2828
import org.spongepowered.api.data.value.Value;
29-
import org.spongepowered.api.entity.living.Aerial;
29+
import org.spongepowered.api.entity.Aerial;
3030
import org.spongepowered.api.entity.living.Monster;
3131
import org.spongepowered.api.entity.living.Ranger;
3232

src/main/java/org/spongepowered/api/entity/living/monster/Ghast.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
*/
2525
package org.spongepowered.api.entity.living.monster;
2626

27-
import org.spongepowered.api.entity.living.Aerial;
27+
import org.spongepowered.api.entity.Aerial;
2828
import org.spongepowered.api.entity.living.Hostile;
2929
import org.spongepowered.api.entity.living.Ranger;
3030

src/main/java/org/spongepowered/api/entity/living/monster/Phantom.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
import org.spongepowered.api.data.Keys;
2828
import org.spongepowered.api.data.type.PhantomPhase;
2929
import org.spongepowered.api.data.value.Value;
30-
import org.spongepowered.api.entity.living.Aerial;
30+
import org.spongepowered.api.entity.Aerial;
3131
import org.spongepowered.api.entity.living.Agent;
3232

3333
public interface Phantom extends Agent, Aerial {

src/main/java/org/spongepowered/api/entity/living/monster/boss/Wither.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@
2626

2727
import org.spongepowered.api.data.Keys;
2828
import org.spongepowered.api.data.value.ListValue;
29+
import org.spongepowered.api.entity.Aerial;
2930
import org.spongepowered.api.entity.Entity;
3031
import org.spongepowered.api.entity.explosive.fused.FusedExplosive;
31-
import org.spongepowered.api.entity.living.Aerial;
3232
import org.spongepowered.api.entity.living.Monster;
3333
import org.spongepowered.api.entity.living.Ranger;
3434

src/main/java/org/spongepowered/api/entity/living/monster/boss/dragon/EnderDragon.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@
2626

2727
import org.spongepowered.api.data.Keys;
2828
import org.spongepowered.api.data.value.Value;
29+
import org.spongepowered.api.entity.Aerial;
2930
import org.spongepowered.api.entity.explosive.EndCrystal;
30-
import org.spongepowered.api.entity.living.Aerial;
3131
import org.spongepowered.api.entity.living.ComplexLiving;
3232
import org.spongepowered.api.entity.living.Monster;
3333
import org.spongepowered.api.entity.living.Ranger;

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

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import org.spongepowered.api.data.type.HandPreference;
3131
import org.spongepowered.api.data.value.Value;
3232
import org.spongepowered.api.effect.Viewer;
33+
import org.spongepowered.api.entity.Aerial;
3334
import org.spongepowered.api.entity.living.Humanoid;
3435
import org.spongepowered.api.item.inventory.Carrier;
3536
import org.spongepowered.api.item.inventory.Inventory;
@@ -40,7 +41,7 @@
4041
/**
4142
* A Player is the representation of an actual unit playing the game.
4243
*/
43-
public interface Player extends Humanoid, Identified, LocaleSource, Viewer, Carrier {
44+
public interface Player extends Humanoid, Identified, LocaleSource, Viewer, Carrier, Aerial {
4445

4546
/**
4647
* Gets the associated {@link GameProfile} of this player.
@@ -155,15 +156,6 @@ default Value.Mutable<Integer> foodLevel() {
155156
return this.requireValue(Keys.FOOD_LEVEL).asMutable();
156157
}
157158

158-
/**
159-
* {@link Keys#IS_FLYING}
160-
*
161-
* @return Whether the entity is flying
162-
*/
163-
default Value.Mutable<Boolean> flying() {
164-
return this.requireValue(Keys.IS_FLYING).asMutable();
165-
}
166-
167159
/**
168160
* {@link Keys#IS_SLEEPING}
169161
*

0 commit comments

Comments
 (0)