更换贴图
This commit is contained in:
parent
c3c43df68b
commit
dc96717d5c
4
.gitignore
vendored
4
.gitignore
vendored
|
|
@ -23,4 +23,6 @@ run
|
||||||
runs
|
runs
|
||||||
run-data
|
run-data
|
||||||
|
|
||||||
repo
|
repo
|
||||||
|
|
||||||
|
othermods
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
package com.extendedae_plus.network;
|
||||||
|
|
||||||
|
import com.extendedae_plus.util.ExtendedAEPatternUploadUtil;
|
||||||
|
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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* C2S: 从样板访问终端上传玩家背包中的编码样板到指定的样板供应器。
|
||||||
|
* 适用于 ExtendedAE 的 GuiExPatternTerminal 或 AE2 的 PatternAccessTermScreen。
|
||||||
|
*/
|
||||||
|
public class UploadInventoryPatternToProviderC2SPacket implements CustomPacketPayload {
|
||||||
|
public static final Type<UploadInventoryPatternToProviderC2SPacket> TYPE = new Type<>(
|
||||||
|
ResourceLocation.fromNamespaceAndPath(com.extendedae_plus.ExtendedAEPlus.MODID, "upload_inventory_pattern_to_provider"));
|
||||||
|
|
||||||
|
public static final StreamCodec<FriendlyByteBuf, UploadInventoryPatternToProviderC2SPacket> STREAM_CODEC = StreamCodec.of(
|
||||||
|
(buf, pkt) -> {
|
||||||
|
buf.writeVarInt(pkt.playerSlotIndex);
|
||||||
|
buf.writeLong(pkt.providerId);
|
||||||
|
},
|
||||||
|
buf -> new UploadInventoryPatternToProviderC2SPacket(buf.readVarInt(), buf.readLong())
|
||||||
|
);
|
||||||
|
|
||||||
|
private final int playerSlotIndex;
|
||||||
|
private final long providerId;
|
||||||
|
|
||||||
|
public UploadInventoryPatternToProviderC2SPacket(int playerSlotIndex, long providerId) {
|
||||||
|
this.playerSlotIndex = playerSlotIndex;
|
||||||
|
this.providerId = providerId;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Type<? extends CustomPacketPayload> type() {
|
||||||
|
return TYPE;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void handle(final UploadInventoryPatternToProviderC2SPacket msg, final IPayloadContext ctx) {
|
||||||
|
ctx.enqueueWork(() -> {
|
||||||
|
if (!(ctx.player() instanceof ServerPlayer player)) return;
|
||||||
|
ExtendedAEPatternUploadUtil.uploadPatternToProvider(player, msg.playerSlotIndex, msg.providerId);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user