修复部分移植问题
This commit is contained in:
parent
ddf9bc1e2c
commit
d9ed8195b1
7 changed files with 27 additions and 6 deletions
|
@ -725,4 +725,9 @@ public class DroneEntity extends MobileVehicleEntity implements GeoEntity {
|
|||
public boolean canCrushEntities() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasEnergyStorage() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -204,4 +204,9 @@ public class Type63Entity extends MobileVehicleEntity implements GeoEntity, OBBE
|
|||
public void updateOBB() {
|
||||
Matrix4f transform = getVehicleTransform(1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasEnergyStorage() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -79,4 +79,8 @@ public abstract class EnergyVehicleEntity extends VehicleEntity {
|
|||
return data().maxEnergy();
|
||||
}
|
||||
|
||||
// 屎
|
||||
public boolean hasEnergyStorage() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -83,7 +83,7 @@ public class ModCapabilities {
|
|||
if (entity.get().getBaseClass().isAssignableFrom(EnergyVehicleEntity.class)) {
|
||||
event.registerEntity(Capabilities.EnergyStorage.ENTITY,
|
||||
entity.get(),
|
||||
(obj, ctx) -> (obj instanceof EnergyVehicleEntity vehicle) ? vehicle.getEnergyStorage() : null
|
||||
(obj, ctx) -> (obj instanceof EnergyVehicleEntity vehicle && vehicle.hasEnergyStorage()) ? vehicle.getEnergyStorage() : null
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -83,8 +83,9 @@ public class FuMO25Menu extends EnergyMenu {
|
|||
|
||||
var parameters = stack.get(ModDataComponents.FIRING_PARAMETERS);
|
||||
var isDepressed = parameters != null && parameters.isDepressed();
|
||||
var radius = parameters != null ? parameters.radius() : 0;
|
||||
|
||||
stack.set(ModDataComponents.FIRING_PARAMETERS, new FiringParameters.Parameters(new BlockPos(this.posX, this.posY, this.posZ), isDepressed));
|
||||
stack.set(ModDataComponents.FIRING_PARAMETERS, new FiringParameters.Parameters(new BlockPos(this.posX, this.posY, this.posZ), radius, isDepressed));
|
||||
|
||||
this.resetPos();
|
||||
this.container.setChanged();
|
||||
|
|
|
@ -46,11 +46,13 @@ public record DroneFireMessage(Vector3f pos) implements CustomPacketPayload {
|
|||
|
||||
var parameters = offStack.get(ModDataComponents.FIRING_PARAMETERS);
|
||||
var isDepressed = false;
|
||||
var radius = 0;
|
||||
if (parameters != null) {
|
||||
isDepressed = parameters.isDepressed();
|
||||
radius = parameters.radius();
|
||||
}
|
||||
|
||||
offStack.set(ModDataComponents.FIRING_PARAMETERS, new FiringParameters.Parameters(new BlockPos((int) message.pos.x, (int) message.pos.y, (int) message.pos.z), isDepressed));
|
||||
offStack.set(ModDataComponents.FIRING_PARAMETERS, new FiringParameters.Parameters(new BlockPos((int) message.pos.x, (int) message.pos.y, (int) message.pos.z), radius, isDepressed));
|
||||
|
||||
player.displayClientMessage(Component.translatable("tips.superbwarfare.mortar.target_pos").withStyle(ChatFormatting.GRAY)
|
||||
.append(Component.literal("[" + message.pos.x()
|
||||
|
|
|
@ -49,11 +49,12 @@ public enum SetFiringParametersMessage implements CustomPacketPayload {
|
|||
|
||||
var parameters = stack.get(ModDataComponents.FIRING_PARAMETERS);
|
||||
var isDepressed = parameters != null && parameters.isDepressed();
|
||||
var radius = parameters != null ? parameters.radius() : 0;
|
||||
|
||||
if (lookAtEntity) {
|
||||
stack.set(ModDataComponents.FIRING_PARAMETERS, new FiringParameters.Parameters(lookingEntity.blockPosition(), isDepressed));
|
||||
stack.set(ModDataComponents.FIRING_PARAMETERS, new FiringParameters.Parameters(lookingEntity.blockPosition(), radius, isDepressed));
|
||||
} else {
|
||||
stack.set(ModDataComponents.FIRING_PARAMETERS, new FiringParameters.Parameters(new BlockPos((int) hitPos.x, (int) hitPos.y, (int) hitPos.z), isDepressed));
|
||||
stack.set(ModDataComponents.FIRING_PARAMETERS, new FiringParameters.Parameters(new BlockPos((int) hitPos.x, (int) hitPos.y, (int) hitPos.z), radius, isDepressed));
|
||||
}
|
||||
|
||||
var pos = Objects.requireNonNull(stack.get(ModDataComponents.FIRING_PARAMETERS)).pos();
|
||||
|
@ -73,7 +74,10 @@ public enum SetFiringParametersMessage implements CustomPacketPayload {
|
|||
} else {
|
||||
pos = new BlockPos((int) hitPos.x, (int) hitPos.y, (int) hitPos.z);
|
||||
}
|
||||
mainStack.set(ModDataComponents.FIRING_PARAMETERS, new FiringParameters.Parameters(pos, false));
|
||||
var parameters = mainStack.get(ModDataComponents.FIRING_PARAMETERS);
|
||||
var isDepressed = parameters != null && parameters.isDepressed();
|
||||
var radius = parameters != null ? parameters.radius() : 0;
|
||||
mainStack.set(ModDataComponents.FIRING_PARAMETERS, new FiringParameters.Parameters(pos, radius, isDepressed));
|
||||
|
||||
player.displayClientMessage(Component.translatable("tips.superbwarfare.mortar.target_pos")
|
||||
.withStyle(ChatFormatting.GRAY)
|
||||
|
|
Loading…
Add table
Reference in a new issue