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