修复雷达相关问题

This commit is contained in:
Light_Quanta 2025-04-08 11:39:17 +08:00
parent 6910646584
commit 2fb1a1cf87
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
5 changed files with 10 additions and 12 deletions

View file

@ -174,7 +174,7 @@ public class FuMO25Screen extends AbstractContainerScreen<FuMO25Menu> {
.append("/").append(FormatTool.format1D(vehicle.getMaxHealth())).append(")"); .append("/").append(FormatTool.format1D(vehicle.getMaxHealth())).append(")");
} }
guiGraphics.drawString(this.font, Component.translatable("des.superbwarfare.fumo_25.current_target", sb), guiGraphics.drawString(this.font, Component.translatable("des.superbwarfare.fumo_25.current_target", sb.toString()),
i + 173, j + 24, 0xffffff); i + 173, j + 24, 0xffffff);
} }

View file

@ -3,11 +3,12 @@ package com.atsuishio.superbwarfare.menu;
import com.atsuishio.superbwarfare.network.dataslot.ContainerEnergyData; import com.atsuishio.superbwarfare.network.dataslot.ContainerEnergyData;
import com.atsuishio.superbwarfare.network.dataslot.ContainerEnergyDataSlot; import com.atsuishio.superbwarfare.network.dataslot.ContainerEnergyDataSlot;
import com.atsuishio.superbwarfare.network.message.receive.ContainerDataMessage; import com.atsuishio.superbwarfare.network.message.receive.ContainerDataMessage;
import com.atsuishio.superbwarfare.network.message.send.RadarMenuCloseMessage; import com.atsuishio.superbwarfare.network.message.receive.RadarMenuCloseMessage;
import com.atsuishio.superbwarfare.network.message.send.RadarMenuOpenMessage; import com.atsuishio.superbwarfare.network.message.receive.RadarMenuOpenMessage;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import net.minecraft.server.level.ServerPlayer; import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.inventory.AbstractContainerMenu;
import net.minecraft.world.inventory.DataSlot;
import net.minecraft.world.inventory.MenuType; import net.minecraft.world.inventory.MenuType;
import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.common.EventBusSubscriber; import net.neoforged.fml.common.EventBusSubscriber;
@ -24,14 +25,11 @@ public abstract class EnergyMenu extends AbstractContainerMenu {
private final List<ContainerEnergyDataSlot> containerEnergyDataSlots = Lists.newArrayList(); private final List<ContainerEnergyDataSlot> containerEnergyDataSlots = Lists.newArrayList();
private final List<ServerPlayer> usingPlayers = new ArrayList<>(); private final List<ServerPlayer> usingPlayers = new ArrayList<>();
public EnergyMenu(@Nullable MenuType<?> pMenuType, int pContainerId) {
super(pMenuType, pContainerId);
}
public EnergyMenu(@Nullable MenuType<?> pMenuType, int id, ContainerEnergyData containerData) { public EnergyMenu(@Nullable MenuType<?> pMenuType, int id, ContainerEnergyData containerData) {
super(pMenuType, id); super(pMenuType, id);
for (int i = 0; i < containerData.getCount(); ++i) { for (int i = 0; i < containerData.getCount(); ++i) {
addDataSlot(DataSlot.standalone());
this.containerEnergyDataSlots.add(ContainerEnergyDataSlot.forContainer(containerData, i)); this.containerEnergyDataSlots.add(ContainerEnergyDataSlot.forContainer(containerData, i));
} }
} }

View file

@ -19,6 +19,8 @@ public class NetworkRegistry {
registrar.playToClient(ShootClientMessage.TYPE, ShootClientMessage.STREAM_CODEC, ShootClientMessage::handler); registrar.playToClient(ShootClientMessage.TYPE, ShootClientMessage.STREAM_CODEC, ShootClientMessage::handler);
registrar.playToClient(DrawClientMessage.TYPE, DrawClientMessage.STREAM_CODEC, DrawClientMessage::handler); registrar.playToClient(DrawClientMessage.TYPE, DrawClientMessage.STREAM_CODEC, DrawClientMessage::handler);
registrar.playToClient(ResetCameraTypeMessage.TYPE, ResetCameraTypeMessage.STREAM_CODEC, ResetCameraTypeMessage::handler); registrar.playToClient(ResetCameraTypeMessage.TYPE, ResetCameraTypeMessage.STREAM_CODEC, ResetCameraTypeMessage::handler);
registrar.playToClient(RadarMenuOpenMessage.TYPE, RadarMenuOpenMessage.STREAM_CODEC, RadarMenuOpenMessage::handler);
registrar.playToClient(RadarMenuCloseMessage.TYPE, RadarMenuCloseMessage.STREAM_CODEC, RadarMenuCloseMessage::handler);
registrar.playToServer(LaserShootMessage.TYPE, LaserShootMessage.STREAM_CODEC, LaserShootMessage::handler); registrar.playToServer(LaserShootMessage.TYPE, LaserShootMessage.STREAM_CODEC, LaserShootMessage::handler);
registrar.playToServer(BreathMessage.TYPE, BreathMessage.STREAM_CODEC, BreathMessage::handler); registrar.playToServer(BreathMessage.TYPE, BreathMessage.STREAM_CODEC, BreathMessage::handler);
@ -30,8 +32,6 @@ public class NetworkRegistry {
registrar.playToServer(VehicleFireMessage.TYPE, VehicleFireMessage.STREAM_CODEC, VehicleFireMessage::handler); registrar.playToServer(VehicleFireMessage.TYPE, VehicleFireMessage.STREAM_CODEC, VehicleFireMessage::handler);
registrar.playToServer(AimVillagerMessage.TYPE, AimVillagerMessage.STREAM_CODEC, AimVillagerMessage::handler); registrar.playToServer(AimVillagerMessage.TYPE, AimVillagerMessage.STREAM_CODEC, AimVillagerMessage::handler);
registrar.playToServer(RadarChangeModeMessage.TYPE, RadarChangeModeMessage.STREAM_CODEC, RadarChangeModeMessage::handler); registrar.playToServer(RadarChangeModeMessage.TYPE, RadarChangeModeMessage.STREAM_CODEC, RadarChangeModeMessage::handler);
registrar.playToServer(RadarMenuCloseMessage.TYPE, RadarMenuCloseMessage.STREAM_CODEC, RadarMenuCloseMessage::handler);
registrar.playToServer(RadarMenuOpenMessage.TYPE, RadarMenuOpenMessage.STREAM_CODEC, RadarMenuOpenMessage::handler);
registrar.playToServer(RadarSetParametersMessage.TYPE, RadarSetParametersMessage.STREAM_CODEC, RadarSetParametersMessage::handler); registrar.playToServer(RadarSetParametersMessage.TYPE, RadarSetParametersMessage.STREAM_CODEC, RadarSetParametersMessage::handler);
registrar.playToServer(RadarSetPosMessage.TYPE, RadarSetPosMessage.STREAM_CODEC, RadarSetPosMessage::handler); registrar.playToServer(RadarSetPosMessage.TYPE, RadarSetPosMessage.STREAM_CODEC, RadarSetPosMessage::handler);
registrar.playToServer(RadarSetTargetMessage.TYPE, RadarSetTargetMessage.STREAM_CODEC, RadarSetTargetMessage::handler); registrar.playToServer(RadarSetTargetMessage.TYPE, RadarSetTargetMessage.STREAM_CODEC, RadarSetTargetMessage::handler);

View file

@ -1,4 +1,4 @@
package com.atsuishio.superbwarfare.network.message.send; package com.atsuishio.superbwarfare.network.message.receive;
import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.client.screens.FuMO25ScreenHelper; import com.atsuishio.superbwarfare.client.screens.FuMO25ScreenHelper;

View file

@ -1,4 +1,4 @@
package com.atsuishio.superbwarfare.network.message.send; package com.atsuishio.superbwarfare.network.message.receive;
import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.client.screens.FuMO25ScreenHelper; import com.atsuishio.superbwarfare.client.screens.FuMO25ScreenHelper;
@ -20,7 +20,7 @@ public record RadarMenuOpenMessage(BlockPos pos) implements CustomPacketPayload
public static void handler(RadarMenuOpenMessage message, final IPayloadContext context) { public static void handler(RadarMenuOpenMessage message, final IPayloadContext context) {
FuMO25ScreenHelper.resetEntities(); FuMO25ScreenHelper.resetEntities();
FuMO25ScreenHelper.pos = null; FuMO25ScreenHelper.pos = message.pos;
} }
@Override @Override