Как отправить команду от имени игрока?

Версия Minecraft
1.19.4
API
Fabric
Как отправить команду или сообщение от имени меня или любого другого игрока? Интересно будет узнать реализацию на серверной и на клиентской части, узнал только как отправить от самого сервера, буду благодарен если поможете
 
Не работает на сервере ( не выводит ни сообщение ни команды хотя я оператор, в пропертис прописан по дефолту 4 уровень, выдал себе опку ещё раз и даже зашёл в креатив, поставил мод на клиент и на сервер, ничего не вывело хотя игра не вылетела
 
Отправка комманды:
Java:
player.getServer().getCommandManager().executeWithPrefix(player.getCommandSource(),"/say hello");
С кастомным пермишеном:
Java:
player.getServer().getCommandManager().executeWithPrefix(player.getCommandSource().withLevel(4),"/say hello");
не работает на серваке
 
Всё достаточно просто, с помощью mixin я сделал инъекцию в начале использования кровати, сделал проверку на ночь чтобы майнкрафт не крашился, ну и в принципе всё, единственное что я понял это работает только в одиночном мире а на сервер ничего не выводится

Java:
@Inject(at = @At("HEAD"), method = "onUse")

public void onUse1(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit, CallbackInfoReturnable<ActionResult> cir) {

if (!world.isDay()) {
            player.getServer().getCommandManager().executeWithPrefix(player.getCommandSource().withLevel(4),"/say работает");
        }
    }
}
 
63
4
31
Сделай так
Java:
@Inject(at = @At("HEAD"), method = "onUse")

public void onUse1(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit, CallbackInfoReturnable<ActionResult> cir) {

if (!world.isClient && !world.isDay()) {
            world.getServer().getCommandManager().executeWithPrefix(player.getCommandSource().withLevel(4),"/say работает");
        }
    }
}
 
63
4
31
Как я понимаю что если он будет и там и там то он будет работать на серверной и на клентской части? Или это не обязательно и достаточно вытащить из client?
mixins грузит сразу на двух сайдах то есть на клиенте и на серваке.
client грузит на клиенте
server грузит на выделенном серваке
у тебя в коде стоит проверка на сторону так что тебе миксин нужно грузит на common side то есть просто в mixins.
в client оно не нужно
 
Сверху