为isDriver和banHand添加默认实现

This commit is contained in:
Light_Quanta 2025-03-05 04:22:16 +08:00
parent 27d59709a5
commit d157ce2f62
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
10 changed files with 15 additions and 69 deletions

View file

@ -699,11 +699,6 @@ public class Ah6Entity extends ContainerMobileVehicleEntity implements GeoEntity
return super.getDismountLocationForPassenger(passenger);
}
@Override
public boolean isDriver(Player player) {
return player == this.getFirstPassenger();
}
@Override
public int mainGunRpm() {
return 360;
@ -724,11 +719,6 @@ public class Ah6Entity extends ContainerMobileVehicleEntity implements GeoEntity
return this.entityData.get(AMMO);
}
@Override
public boolean banHand(Player player) {
return player == this.getFirstPassenger();
}
@Override
public boolean hidePassenger() {
return false;

View file

@ -587,11 +587,6 @@ public class AnnihilatorEntity extends EnergyVehicleEntity implements GeoEntity,
return MAX_HEALTH;
}
@Override
public boolean isDriver(Player player) {
return player == this.getFirstPassenger();
}
@Override
public int mainGunRpm() {
return 0;
@ -607,11 +602,6 @@ public class AnnihilatorEntity extends EnergyVehicleEntity implements GeoEntity,
return -1;
}
@Override
public boolean banHand(Player player) {
return true;
}
@Override
public boolean hidePassenger() {
return true;

View file

@ -715,11 +715,6 @@ public class Bmp2Entity extends ContainerMobileVehicleEntity implements GeoEntit
return MAX_HEALTH;
}
@Override
public boolean isDriver(Player player) {
return player == this.getFirstPassenger();
}
@Override
public int mainGunRpm() {
if (getWeaponType(0) == 0) {

View file

@ -661,11 +661,6 @@ public class Lav150Entity extends ContainerMobileVehicleEntity implements GeoEnt
return MAX_HEALTH;
}
@Override
public boolean isDriver(Player player) {
return player == this.getFirstPassenger();
}
@Override
public int mainGunRpm() {
if (getWeaponType(0) == 0) {

View file

@ -396,11 +396,6 @@ public class Mk42Entity extends VehicleEntity implements GeoEntity, CannonEntity
return MAX_HEALTH;
}
@Override
public boolean isDriver(Player player) {
return player == this.getFirstPassenger();
}
@Override
public int mainGunRpm() {
return 0;
@ -420,11 +415,6 @@ public class Mk42Entity extends VehicleEntity implements GeoEntity, CannonEntity
}
}
@Override
public boolean banHand(Player player) {
return true;
}
@Override
public boolean hidePassenger() {
return true;

View file

@ -490,11 +490,6 @@ public class Mle1934Entity extends VehicleEntity implements GeoEntity, CannonEnt
return MAX_HEALTH;
}
@Override
public boolean isDriver(Player player) {
return player == this.getFirstPassenger();
}
@Override
public int mainGunRpm() {
return 0;

View file

@ -496,11 +496,6 @@ public class SpeedboatEntity extends ContainerMobileVehicleEntity implements Geo
return MAX_HEALTH;
}
@Override
public boolean isDriver(Player player) {
return player == this.getFirstPassenger();
}
@Override
public int mainGunRpm() {
return 500;
@ -517,11 +512,6 @@ public class SpeedboatEntity extends ContainerMobileVehicleEntity implements Geo
return this.entityData.get(AMMO);
}
@Override
public boolean banHand(Player player) {
return player == this.getFirstPassenger();
}
@Override
public boolean hidePassenger() {
return false;

View file

@ -701,11 +701,6 @@ public class Yx100Entity extends ContainerMobileVehicleEntity implements GeoEnti
return MAX_HEALTH;
}
@Override
public boolean isDriver(Player player) {
return player == this.getFirstPassenger();
}
@Override
public int mainGunRpm() {
return 15;

View file

@ -159,11 +159,6 @@ public class Yx100GunEntity extends VehicleEntity implements GeoEntity, CannonEn
return 0;
}
@Override
public boolean isDriver(Player player) {
return player == this.getFirstPassenger();
}
@Override
public int mainGunRpm() {
return 600;

View file

@ -1,5 +1,6 @@
package com.atsuishio.superbwarfare.entity.vehicle.base;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.player.Player;
public interface ArmedVehicleEntity {
@ -17,7 +18,12 @@ public interface ArmedVehicleEntity {
* @param player 玩家
* @return 是否是驾驶员
*/
boolean isDriver(Player player);
default boolean isDriver(Player player) {
if (this instanceof Entity entity) {
return player == entity.getFirstPassenger();
}
return false;
}
/**
* 主武器射速
@ -43,12 +49,17 @@ public interface ArmedVehicleEntity {
int getAmmoCount(Player player);
/**
* 是否隐藏玩家手臂
* 是否禁用玩家手臂
*
* @param player 玩家
* @return 是否隐藏
*/
boolean banHand(Player player);
default boolean banHand(Player player) {
// 若玩家所在位置有可用武器则默认禁用手臂
if (this instanceof VehicleEntity vehicle && this instanceof WeaponVehicleEntity weaponVehicle) {
return weaponVehicle.hasWeapon(vehicle.getSeatIndex(player));
}
return false;
}
/**
* 是否隐藏载具上的玩家