JEI写样板对于配方书签上传失败时回退到玩家背包
This commit is contained in:
parent
45fdf749b1
commit
9fe3336107
|
|
@ -32,16 +32,15 @@ public class UploadEncodedPatternToProviderC2SPacket {
|
|||
ServerPlayer player = ctx.getSender();
|
||||
if (player == null) return;
|
||||
|
||||
// Prefer pending Ctrl+Q pattern upload when present.
|
||||
if (ProviderUploadUtil.hasPendingCtrlQPattern(player)) {
|
||||
if (ProviderUploadUtil.uploadPendingCtrlQPattern(player, msg.providerId)) {
|
||||
return;
|
||||
}
|
||||
ProviderUploadUtil.returnPendingCtrlQPatternToInventory(player);
|
||||
return;
|
||||
}
|
||||
|
||||
if (player.containerMenu instanceof PatternEncodingTermMenu menu) {
|
||||
// 1) providerId >= 0: byId mode from access terminal
|
||||
// 2) providerId < 0: index mode, index = -1 - providerId
|
||||
if (msg.providerId >= 0) {
|
||||
ProviderUploadUtil.uploadFromEncodingMenuToProvider(player, menu, msg.providerId);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -145,8 +145,10 @@ public class CreateAndUploadPatternC2SPacket {
|
|||
boolean uploaded = MatrixUploadUtil.uploadPatternToMatrix(player, pattern, grid);
|
||||
|
||||
if (!uploaded) {
|
||||
// 上传失败,退还空白样板到网络
|
||||
refundBlankPattern(player, grid);
|
||||
// 上传失败,将样板塞到背包。
|
||||
if (!(player.getInventory().add(pattern))) {
|
||||
player.drop(pattern.copy(),false);
|
||||
}
|
||||
}
|
||||
});
|
||||
ctx.setPacketHandled(true);
|
||||
|
|
|
|||
|
|
@ -281,6 +281,21 @@ public final class ProviderUploadUtil {
|
|||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 将 pending Ctrl+Q 样板回退到玩家背包;若背包已满则掉落在地上。
|
||||
*/
|
||||
public static boolean returnPendingCtrlQPatternToInventory(ServerPlayer player) {
|
||||
if (player == null) return false;
|
||||
ItemStack pending = getPendingCtrlQPattern(player);
|
||||
if (pending.isEmpty()) return false;
|
||||
|
||||
clearPendingCtrlQUpload(player);
|
||||
if (!player.getInventory().add(pending.copy())) {
|
||||
player.drop(pending.copy(), false);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 列出玩家无线终端网络中的可用 provider,顺序与负数索引上传保持一致。
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user