Как обнаружить смерть игрока и что ее убило - Fabric MC 1.20.4 ⇐ JAVA
Как обнаружить смерть игрока и что ее убило - Fabric MC 1.20.4
Я пробовал использовать примесь, но она вообще не запускается. Ниже приведен мой код.
import net.minecraft.entity.damage.DamageSource; импортировать net.minecraft.entity.player.PlayerEntity; импортировать net.spamta.pvpoverhaul.PvPOverhaul; импортировать org.spongepowered.asm.mixin.Mixin; импортировать org.spongepowered.asm.mixin.injection.At; импортировать org.spongepowered.asm.mixin.injection.Inject; импортировать org.spongepowered.asm.mixin.injection.callback.CallbackInfo; импортировать net.fabricmc.fabric.api.event.lifecycle.v1.ServerTickEvents; импортировать net.minecraft.server.MinecraftServer; импортировать net.minecraft.server.network.ServerPlayerEntity; импортировать net.minecraft.text.Text; @Mixin(PlayerEntity.class) публичный класс GearKeeper { @Inject(method="onDeath", at=@At("TAIL")) частный недействительный умер (DamageSource dumpSource, информация CallbackInfo) { PvPOverhaul.LOGGER.info(damageSource.getName().toString()); PlayerEntity player = (PlayerEntity) (Объект) это; sendDeathMessageToAllPlayers (игрок); } Private void sendDeathMessageToAllPlayers (PlayerEntity player) { Сервер MinecraftServer = player.getServer(); если (сервер! = ноль) { server.getPlayerManager().getPlayerList().forEach(serverPlayer -> { serverPlayer.sendMessage(Text.literal(player.getName().toString() + "погиб!"), false); }); } } } Пытался определить, был ли игрок убит, и ожидал, что он скажет «Свинья-зверь» или что-то еще, убивающее меня в тот момент, но в итоге ничего не записалось.
Я пробовал использовать примесь, но она вообще не запускается. Ниже приведен мой код.
import net.minecraft.entity.damage.DamageSource; импортировать net.minecraft.entity.player.PlayerEntity; импортировать net.spamta.pvpoverhaul.PvPOverhaul; импортировать org.spongepowered.asm.mixin.Mixin; импортировать org.spongepowered.asm.mixin.injection.At; импортировать org.spongepowered.asm.mixin.injection.Inject; импортировать org.spongepowered.asm.mixin.injection.callback.CallbackInfo; импортировать net.fabricmc.fabric.api.event.lifecycle.v1.ServerTickEvents; импортировать net.minecraft.server.MinecraftServer; импортировать net.minecraft.server.network.ServerPlayerEntity; импортировать net.minecraft.text.Text; @Mixin(PlayerEntity.class) публичный класс GearKeeper { @Inject(method="onDeath", at=@At("TAIL")) частный недействительный умер (DamageSource dumpSource, информация CallbackInfo) { PvPOverhaul.LOGGER.info(damageSource.getName().toString()); PlayerEntity player = (PlayerEntity) (Объект) это; sendDeathMessageToAllPlayers (игрок); } Private void sendDeathMessageToAllPlayers (PlayerEntity player) { Сервер MinecraftServer = player.getServer(); если (сервер! = ноль) { server.getPlayerManager().getPlayerList().forEach(serverPlayer -> { serverPlayer.sendMessage(Text.literal(player.getName().toString() + "погиб!"), false); }); } } } Пытался определить, был ли игрок убит, и ожидал, что он скажет «Свинья-зверь» или что-то еще, убивающее меня в тот момент, но в итоге ничего не записалось.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Pkill Over SSH будет ошибочно сообщить, что что -то убило, когда не было [закрыто]
Anonymous » » в форуме Linux - 0 Ответы
- 4 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Minecraft Fabric 1.21.5 Mixin, как отправить сообщение в качестве игрока
Anonymous » » в форуме JAVA - 0 Ответы
- 1 Просмотры
-
Последнее сообщение Anonymous
-