63 lines
1.7 KiB
Java
63 lines
1.7 KiB
Java
package org.bukkit.craftbukkit.command;
|
|
|
|
import net.minecraft.SystemUtils;
|
|
import net.minecraft.commands.CommandListenerWrapper;
|
|
import net.minecraft.network.chat.IChatBaseComponent;
|
|
import net.minecraft.world.level.block.entity.TileEntity;
|
|
import org.bukkit.block.Block;
|
|
import org.bukkit.command.BlockCommandSender;
|
|
import org.bukkit.craftbukkit.block.CraftBlock;
|
|
import org.bukkit.craftbukkit.util.CraftChatMessage;
|
|
|
|
/**
|
|
* Represents input from a command block
|
|
*/
|
|
public class CraftBlockCommandSender extends ServerCommandSender implements BlockCommandSender {
|
|
private final CommandListenerWrapper block;
|
|
private final TileEntity tile;
|
|
|
|
public CraftBlockCommandSender(CommandListenerWrapper commandBlockListenerAbstract, TileEntity tile) {
|
|
super();
|
|
this.block = commandBlockListenerAbstract;
|
|
this.tile = tile;
|
|
}
|
|
|
|
@Override
|
|
public Block getBlock() {
|
|
return CraftBlock.at(tile.getLevel(), tile.getBlockPos());
|
|
}
|
|
|
|
@Override
|
|
public void sendMessage(String message) {
|
|
for (IChatBaseComponent component : CraftChatMessage.fromString(message)) {
|
|
block.source.sendMessage(component, SystemUtils.NIL_UUID);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void sendMessage(String... messages) {
|
|
for (String message : messages) {
|
|
sendMessage(message);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public String getName() {
|
|
return block.getTextName();
|
|
}
|
|
|
|
@Override
|
|
public boolean isOp() {
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public void setOp(boolean value) {
|
|
throw new UnsupportedOperationException("Cannot change operator status of a block");
|
|
}
|
|
|
|
public CommandListenerWrapper getWrapper() {
|
|
return block;
|
|
}
|
|
}
|