Skip to content

Commit eb8c3bc

Browse files
committed
Make PacketUtils#container nullable instead of using an optional
1 parent 068736d commit eb8c3bc

File tree

7 files changed

+23
-24
lines changed

7 files changed

+23
-24
lines changed

src/main/java/mekanism/common/network/PacketHandler.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,12 @@ protected void registerServerToClient(PacketRegistrar registrar) {
174174
//QIO
175175
registrar.play(PacketBatchItemViewerSync.ID, PacketBatchItemViewerSync::new);
176176
registrar.play(PacketUpdateItemViewer.ID, PacketUpdateItemViewer::new);
177-
killItemViewer = registrar.playInstanced(Mekanism.rl("kill_qio"), context -> PacketUtils.container(context, QIOItemViewerContainer.class)
178-
.ifPresent(QIOItemViewerContainer::handleKill));
177+
killItemViewer = registrar.playInstanced(Mekanism.rl("kill_qio"), context -> {
178+
QIOItemViewerContainer container = PacketUtils.container(context, QIOItemViewerContainer.class);
179+
if (container != null) {
180+
container.handleKill();
181+
}
182+
});
179183

180184
//Transmitters
181185
registrar.play(PacketNetworkScale.ID, PacketNetworkScale::new);

src/main/java/mekanism/common/network/PacketUtils.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -138,11 +138,13 @@ public static BlockEntity blockEntity(IPayloadContext context, BlockPos pos) {
138138
return WorldUtils.getTileEntity(context.level().orElse(null), pos);
139139
}
140140

141-
public static <CLASS extends AbstractContainerMenu> Optional<CLASS> container(IPayloadContext context, Class<CLASS> clazz) {
142-
return context.player()
143-
.map(player -> player.containerMenu)
144-
.filter(clazz::isInstance)
145-
.map(clazz::cast);
141+
@Nullable
142+
public static <CLASS extends AbstractContainerMenu> CLASS container(IPayloadContext context, Class<CLASS> clazz) {
143+
Player player = context.player().orElse(null);
144+
if (player != null && clazz.isInstance(player.containerMenu)) {
145+
return clazz.cast(player.containerMenu);
146+
}
147+
return null;
146148
}
147149

148150
/**

src/main/java/mekanism/common/network/to_client/container/PacketUpdateContainer.java

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package mekanism.common.network.to_client.container;
22

33
import java.util.List;
4-
import java.util.Optional;
54
import mekanism.common.Mekanism;
65
import mekanism.common.inventory.container.MekanismContainer;
76
import mekanism.common.network.IMekanismPacket;
@@ -31,16 +30,12 @@ public ResourceLocation id() {
3130

3231
@Override
3332
public void handle(PlayPayloadContext context) {
34-
//Ensure that the container is one of ours,
35-
Optional<MekanismContainer> containered = PacketUtils.container(context, MekanismContainer.class);
36-
if (containered.isPresent()) {
37-
MekanismContainer container = containered.get();
38-
// the window id is the same as we expect it to be
39-
if (container.containerId == windowId) {
40-
// and if so handle the packet
41-
for (PropertyData datum : data) {
42-
datum.handleWindowProperty(container);
43-
}
33+
MekanismContainer container = PacketUtils.container(context, MekanismContainer.class);
34+
//Ensure that the container is one of ours, and the window id is the same as we expect it to be
35+
if (container != null && container.containerId == windowId) {
36+
// and if so handle the packet
37+
for (PropertyData datum : data) {
38+
datum.handleWindowProperty(container);
4439
}
4540
}
4641
}

src/main/java/mekanism/common/network/to_client/qio/PacketBatchItemViewerSync.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,7 @@ public ResourceLocation id() {
3030

3131
@Override
3232
public void handle(PlayPayloadContext context) {
33-
//noinspection SimplifyOptionalCallChains - Capturing lambda
34-
QIOItemViewerContainer container = PacketUtils.container(context, QIOItemViewerContainer.class).orElse(null);
33+
QIOItemViewerContainer container = PacketUtils.container(context, QIOItemViewerContainer.class);
3534
if (container != null) {
3635
container.handleBatchUpdate(itemMap, countCapacity, typeCapacity);
3736
}

src/main/java/mekanism/common/network/to_client/qio/PacketUpdateItemViewer.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,7 @@ public ResourceLocation id() {
3030

3131
@Override
3232
public void handle(PlayPayloadContext context) {
33-
//noinspection SimplifyOptionalCallChains - Capturing lambda
34-
QIOItemViewerContainer container = PacketUtils.container(context, QIOItemViewerContainer.class).orElse(null);
33+
QIOItemViewerContainer container = PacketUtils.container(context, QIOItemViewerContainer.class);
3534
if (container != null) {
3635
container.handleUpdate(itemMap, countCapacity, typeCapacity);
3736
}

src/main/java/mekanism/common/network/to_server/qio/PacketQIOItemViewerSlotPlace.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public ResourceLocation id() {
2727

2828
@Override
2929
public void handle(PlayPayloadContext context) {
30-
QIOItemViewerContainer container = PacketUtils.container(context, QIOItemViewerContainer.class).orElse(null);
30+
QIOItemViewerContainer container = PacketUtils.container(context, QIOItemViewerContainer.class);
3131
if (container != null) {
3232
QIOFrequency freq = container.getFrequency();
3333
if (freq != null) {

src/main/java/mekanism/common/network/to_server/qio/PacketQIOItemViewerSlotTake.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public ResourceLocation id() {
3131

3232
@Override
3333
public void handle(PlayPayloadContext context) {
34-
QIOItemViewerContainer container = PacketUtils.container(context, QIOItemViewerContainer.class).orElse(null);
34+
QIOItemViewerContainer container = PacketUtils.container(context, QIOItemViewerContainer.class);
3535
if (container != null) {
3636
QIOFrequency freq = container.getFrequency();
3737
if (freq != null) {

0 commit comments

Comments
 (0)