修正处理配方书签的空白样板消耗以及返还逻辑
This commit is contained in:
parent
c9cfb07023
commit
2d903ff35b
|
|
@ -222,7 +222,6 @@ public final class CtrlQPatternKeyHandler {
|
|||
isAllowSubstitutes,
|
||||
isFluidSubstitutes
|
||||
));
|
||||
PacketDistributor.sendToServer(RequestProvidersListC2SPacket.INSTANCE);
|
||||
} catch (Throwable ignored) {
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.extendedae_plus.client.screen;
|
||||
|
||||
import com.extendedae_plus.network.CancelPendingPatternC2SPacket;
|
||||
import com.extendedae_plus.network.UploadEncodedPatternToProviderC2SPacket;
|
||||
import com.extendedae_plus.util.uploadPattern.ExtendedAEPatternUploadUtil;
|
||||
import com.google.gson.*;
|
||||
|
|
@ -9,6 +10,7 @@ import net.minecraft.client.gui.components.EditBox;
|
|||
import net.minecraft.client.gui.screens.Screen;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.neoforged.fml.loading.FMLPaths;
|
||||
import net.neoforged.neoforge.network.PacketDistributor;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
|
|
@ -252,6 +254,7 @@ public class ProviderSelectScreen extends Screen {
|
|||
|
||||
@Override
|
||||
public void onClose() {
|
||||
PacketDistributor.sendToServer(CancelPendingPatternC2SPacket.INSTANCE);
|
||||
Minecraft.getInstance().setScreen(this.parent);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ public class ModNetwork {
|
|||
registrar.playToServer(UploadInventoryPatternToProviderC2SPacket.TYPE, UploadInventoryPatternToProviderC2SPacket.STREAM_CODEC, UploadInventoryPatternToProviderC2SPacket::handle);
|
||||
registrar.playToServer(CreateCtrlQPatternC2SPacket.TYPE, CreateCtrlQPatternC2SPacket.STREAM_CODEC, CreateCtrlQPatternC2SPacket::handle);
|
||||
registrar.playToServer(CreateAndUploadPatternC2SPacket.TYPE, CreateAndUploadPatternC2SPacket.STREAM_CODEC, CreateAndUploadPatternC2SPacket::handle);
|
||||
registrar.playToServer(CancelPendingPatternC2SPacket.TYPE,CancelPendingPatternC2SPacket.STREAM_CODEC,CancelPendingPatternC2SPacket::handle);
|
||||
registrar.playToServer(EncodeWithShiftFlagC2SPacket.TYPE, EncodeWithShiftFlagC2SPacket.STREAM_CODEC, EncodeWithShiftFlagC2SPacket::handle);
|
||||
// 新增:JEI 中键打开合成界面 & 无线终端拾取方块物品
|
||||
registrar.playToServer(com.extendedae_plus.network.OpenCraftFromJeiC2SPacket.TYPE,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,35 @@
|
|||
package com.extendedae_plus.network;
|
||||
|
||||
import com.extendedae_plus.ExtendedAEPlus;
|
||||
import com.extendedae_plus.util.uploadPattern.CtrlQPendingUploadUtil;
|
||||
import net.minecraft.network.FriendlyByteBuf;
|
||||
import net.minecraft.network.codec.StreamCodec;
|
||||
import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.neoforged.neoforge.network.handling.IPayloadContext;
|
||||
|
||||
public class CancelPendingPatternC2SPacket implements CustomPacketPayload {
|
||||
|
||||
public static final Type<CancelPendingPatternC2SPacket> TYPE = new Type<>(
|
||||
ResourceLocation.fromNamespaceAndPath(ExtendedAEPlus.MODID,"cancel_pending_pattern"));
|
||||
|
||||
public static final CancelPendingPatternC2SPacket INSTANCE = new CancelPendingPatternC2SPacket();
|
||||
|
||||
public static final StreamCodec<FriendlyByteBuf, CancelPendingPatternC2SPacket> STREAM_CODEC = StreamCodec.unit(INSTANCE);
|
||||
|
||||
public static void handle(final CancelPendingPatternC2SPacket msg, final IPayloadContext ctx){
|
||||
ctx.enqueueWork(() ->{
|
||||
if(!((ctx.player()) instanceof ServerPlayer player)) return;
|
||||
|
||||
if(CtrlQPendingUploadUtil.hasPendingCtrlQPattern(player)){
|
||||
CtrlQPendingUploadUtil.returnPendingCtrlQPatternToInventory(player);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public Type<? extends CustomPacketPayload> type() {
|
||||
return TYPE;
|
||||
}
|
||||
}
|
||||
|
|
@ -24,6 +24,7 @@ import net.minecraft.world.item.ItemStack;
|
|||
import net.minecraft.world.item.component.CustomData;
|
||||
import net.minecraft.world.item.crafting.CraftingRecipe;
|
||||
import net.minecraft.world.item.crafting.RecipeHolder;
|
||||
import net.neoforged.neoforge.network.PacketDistributor;
|
||||
import net.neoforged.neoforge.network.handling.IPayloadContext;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
|
@ -157,12 +158,8 @@ public class CreateCtrlQPatternC2SPacket implements CustomPacketPayload {
|
|||
}
|
||||
|
||||
if (msg.openProviderSelector) {
|
||||
String pendingId = CtrlQPendingUploadUtil.beginPendingCtrlQUpload(player, pattern);
|
||||
if (pendingId == null) {
|
||||
if (!player.getInventory().add(pattern)) {
|
||||
player.drop(pattern, false);
|
||||
}
|
||||
}
|
||||
CtrlQPendingUploadUtil.beginPendingCtrlQUpload(player, pattern);
|
||||
PacketDistributor.sendToServer(RequestProvidersListC2SPacket.INSTANCE);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user