minecraft-src/net/minecraft/client/gui/screens/inventory/MinecartCommandBlockEditScreen.java
2025-07-04 01:41:11 +03:00

41 lines
1.2 KiB
Java

package net.minecraft.client.gui.screens.inventory;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.network.protocol.game.ServerboundSetCommandMinecartPacket;
import net.minecraft.world.entity.vehicle.MinecartCommandBlock;
import net.minecraft.world.level.BaseCommandBlock;
@Environment(EnvType.CLIENT)
public class MinecartCommandBlockEditScreen extends AbstractCommandBlockEditScreen {
private final BaseCommandBlock commandBlock;
public MinecartCommandBlockEditScreen(BaseCommandBlock commandBlock) {
this.commandBlock = commandBlock;
}
@Override
public BaseCommandBlock getCommandBlock() {
return this.commandBlock;
}
@Override
int getPreviousY() {
return 150;
}
@Override
protected void init() {
super.init();
this.commandEdit.setValue(this.getCommandBlock().getCommand());
}
@Override
protected void populateAndSendPacket(BaseCommandBlock commandBlock) {
if (commandBlock instanceof MinecartCommandBlock.MinecartCommandBase minecartCommandBase) {
this.minecraft
.getConnection()
.send(new ServerboundSetCommandMinecartPacket(minecartCommandBase.getMinecart().getId(), this.commandEdit.getValue(), commandBlock.isTrackOutput()));
}
}
}