修正处理配方书签的空白样板消耗以及返还逻辑
This commit is contained in:
parent
75262341ac
commit
7bbbd8af8c
|
|
@ -398,8 +398,6 @@ public class CtrlQPatternKeyHandler {
|
|||
isAllowSubstitutes,
|
||||
isFluidSubstitutes
|
||||
));
|
||||
|
||||
ModNetwork.CHANNEL.sendToServer(new RequestProvidersListC2SPacket());
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.extendedae_plus.client.screen;
|
|||
|
||||
import com.extendedae_plus.init.ModNetwork;
|
||||
import com.extendedae_plus.network.UploadEncodedPatternToProviderC2SPacket;
|
||||
import com.extendedae_plus.network.pattern.CancelPendingPatternC2SPacket;
|
||||
import com.extendedae_plus.util.uploadPattern.RecipeTypeNameConfig;
|
||||
import com.google.gson.*;
|
||||
import net.minecraft.client.Minecraft;
|
||||
|
|
@ -280,6 +281,7 @@ public class ProviderSelectScreen extends Screen {
|
|||
|
||||
@Override
|
||||
public void onClose() {
|
||||
ModNetwork.CHANNEL.sendToServer(CancelPendingPatternC2SPacket.INSTANCE);
|
||||
Minecraft.getInstance().setScreen(parent);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import com.extendedae_plus.network.crafting.CraftingMonitorJumpC2SPacket;
|
|||
import com.extendedae_plus.network.crafting.CraftingMonitorOpenProviderC2SPacket;
|
||||
import com.extendedae_plus.network.crafting.OpenCraftFromJeiC2SPacket;
|
||||
import com.extendedae_plus.network.meInterface.InterfaceAdjustConfigAmountC2SPacket;
|
||||
import com.extendedae_plus.network.pattern.CancelPendingPatternC2SPacket;
|
||||
import com.extendedae_plus.network.pattern.CreateCtrlQPatternC2SPacket;
|
||||
import com.extendedae_plus.network.pattern.CreateAndUploadPatternC2SPacket;
|
||||
import com.extendedae_plus.network.provider.*;
|
||||
|
|
@ -182,6 +183,12 @@ public final class ModNetwork {
|
|||
.decoder(CreateAndUploadPatternC2SPacket::decode)
|
||||
.consumerNetworkThread(CreateAndUploadPatternC2SPacket::handle)
|
||||
.add();
|
||||
|
||||
CHANNEL.messageBuilder(CancelPendingPatternC2SPacket.class,nextId(), NetworkDirection.PLAY_TO_SERVER)
|
||||
.encoder(CancelPendingPatternC2SPacket::encode)
|
||||
.decoder(CancelPendingPatternC2SPacket::decode)
|
||||
.consumerNetworkThread(CancelPendingPatternC2SPacket::handle)
|
||||
.add();
|
||||
}
|
||||
|
||||
private static int nextId() { return id++; }
|
||||
|
|
|
|||
|
|
@ -0,0 +1,30 @@
|
|||
package com.extendedae_plus.network.pattern;
|
||||
|
||||
import com.extendedae_plus.util.uploadPattern.ProviderUploadUtil;
|
||||
import net.minecraft.network.FriendlyByteBuf;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraftforge.network.NetworkEvent;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public class CancelPendingPatternC2SPacket {
|
||||
|
||||
public static final CancelPendingPatternC2SPacket INSTANCE = new CancelPendingPatternC2SPacket();
|
||||
|
||||
public static void encode(CancelPendingPatternC2SPacket msg, FriendlyByteBuf buf){}
|
||||
|
||||
public static CancelPendingPatternC2SPacket decode(FriendlyByteBuf buf) {return INSTANCE;}
|
||||
|
||||
public static void handle(CancelPendingPatternC2SPacket msg, Supplier<NetworkEvent.Context> ctxSupplier){
|
||||
var ctx = ctxSupplier.get();
|
||||
ctx.enqueueWork(()->{
|
||||
ServerPlayer player = ctx.getSender();
|
||||
if (player == null) return;
|
||||
|
||||
if (ProviderUploadUtil.hasPendingCtrlQPattern(player)){
|
||||
ProviderUploadUtil.returnPendingCtrlQPatternToInventory(player);
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -11,6 +11,8 @@ import appeng.core.definitions.AEItems;
|
|||
import appeng.items.tools.powered.WirelessCraftingTerminalItem;
|
||||
import appeng.items.tools.powered.WirelessTerminalItem;
|
||||
import appeng.me.helpers.PlayerSource;
|
||||
import com.extendedae_plus.init.ModNetwork;
|
||||
import com.extendedae_plus.network.provider.RequestProvidersListC2SPacket;
|
||||
import com.extendedae_plus.util.uploadPattern.ProviderUploadUtil;
|
||||
import com.extendedae_plus.util.wireless.WirelessTerminalLocator;
|
||||
import de.mari_023.ae2wtlib.terminal.WTMenuHost;
|
||||
|
|
@ -126,12 +128,8 @@ public class CreateCtrlQPatternC2SPacket {
|
|||
}
|
||||
|
||||
if (msg.openProviderSelector) {
|
||||
String pendingId = ProviderUploadUtil.beginPendingCtrlQUpload(player, pattern);
|
||||
if (pendingId == null) {
|
||||
if (!player.getInventory().add(pattern)) {
|
||||
player.drop(pattern, false);
|
||||
}
|
||||
}
|
||||
ProviderUploadUtil.beginPendingCtrlQUpload(player, pattern);
|
||||
ModNetwork.CHANNEL.sendToServer(new RequestProvidersListC2SPacket());
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import com.extendedae_plus.util.PatternTerminalUtil;
|
|||
import com.extendedae_plus.util.uploadPattern.ProviderUploadUtil;
|
||||
import net.minecraft.network.FriendlyByteBuf;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraftforge.network.NetworkDirection;
|
||||
import net.minecraftforge.network.NetworkEvent;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
|
@ -47,7 +48,7 @@ public class RequestProvidersListC2SPacket {
|
|||
names.add(PatternProviderDataUtil.getProviderDisplayName(c));
|
||||
slots.add(empty);
|
||||
}
|
||||
ModNetwork.CHANNEL.sendTo(new ProvidersListS2CPacket(idxIds, names, slots), player.connection.connection, net.minecraftforge.network.NetworkDirection.PLAY_TO_CLIENT);
|
||||
ModNetwork.CHANNEL.sendTo(new ProvidersListS2CPacket(idxIds, names, slots), player.connection.connection, NetworkDirection.PLAY_TO_CLIENT);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user