Added Translation support and configuration options
This commit is contained in:
@@ -20,7 +20,7 @@ public class CarryManager {
|
||||
|
||||
public static void toggleCarry(ServerPlayer carrier) {
|
||||
if (KnockedManager.isKnocked(carrier)) {
|
||||
carrier.sendSystemMessage(Component.literal("You cannot carry others while you are knocked!"));
|
||||
carrier.sendSystemMessage(Component.translatable("message.knockedback.cannot_carry_while_knocked"));
|
||||
return;
|
||||
}
|
||||
Optional<Player> existing = carrier.getPassengers().stream()
|
||||
@@ -54,8 +54,8 @@ public class CarryManager {
|
||||
if (knocked instanceof ServerPlayer spKnocked) {
|
||||
spKnocked.connection.send(mountPacket);
|
||||
}
|
||||
carrier.sendSystemMessage(Component.literal("Picked up " + knocked.getName().getString()));
|
||||
knocked.sendSystemMessage(Component.literal("You are being carried by " + carrier.getName().getString()));
|
||||
carrier.sendSystemMessage(Component.translatable("message.knockedback.picked_up" + knocked.getName().getString()));
|
||||
knocked.sendSystemMessage(Component.translatable("message.knockedback.being_carried" + carrier.getName().getString()));
|
||||
}
|
||||
|
||||
|
||||
@@ -67,8 +67,8 @@ public class CarryManager {
|
||||
if (knocked instanceof ServerPlayer spKnocked) {
|
||||
spKnocked.connection.send(dismountPacket);
|
||||
}
|
||||
carrier.sendSystemMessage(Component.literal("Dropped " + knocked.getName().getString()));
|
||||
knocked.sendSystemMessage(Component.literal("You have been dropped"));
|
||||
carrier.sendSystemMessage(Component.translatable("message.knockedback.dropped" + knocked.getName().getString()));
|
||||
knocked.sendSystemMessage(Component.translatable("message.knockedback.been_dropped"));
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
|
||||
@@ -133,8 +133,8 @@ public class MobKillHandler {
|
||||
new ExecutionProgressPacket(0)
|
||||
);
|
||||
}
|
||||
knocked.sendSystemMessage(Component.literal(
|
||||
"You were executed by " + mob.getName().getString() + "!"
|
||||
knocked.sendSystemMessage(Component.translatable(
|
||||
"message.knockedback.you_were_executed " + mob.getName().getString()
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
@@ -63,19 +63,19 @@ public class PlayerExecutionHandler {
|
||||
|
||||
public static void startExecution(ServerPlayer executor, Player target) {
|
||||
if (KnockedManager.isKnocked(executor)) {
|
||||
executor.sendSystemMessage(Component.literal("You cannot execute others while you are knocked!"));
|
||||
executor.sendSystemMessage(Component.translatable("message.knockedback.cannot_carry_while_knocked"));
|
||||
return;
|
||||
}
|
||||
UUID knockedId = target.getUUID();
|
||||
if (!KnockedManager.isKnocked(target)) return;
|
||||
if (CarryManager.isBeingCarried(target.getUUID())) {
|
||||
executor.sendSystemMessage(Component.literal("Cannot execute someone you're carrying!"));
|
||||
executor.sendSystemMessage(Component.translatable("message.knockedback.cannot_execute_while_knocked"));
|
||||
return;
|
||||
}
|
||||
if (executionAttempts.containsKey(knockedId)) return;
|
||||
executionAttempts.put(knockedId, new PlayerExecutionAttempt(executor.getUUID()));
|
||||
executor.sendSystemMessage(Component.literal("Execution started..."));
|
||||
target.sendSystemMessage(Component.literal("You're being executed!"));
|
||||
executor.sendSystemMessage(Component.translatable("message.knockedback.execution_started"));
|
||||
target.sendSystemMessage(Component.translatable("message.knockedback.being_executed"));
|
||||
}
|
||||
|
||||
public static void cancelExecution(UUID knockedId) {
|
||||
@@ -83,7 +83,7 @@ public class PlayerExecutionHandler {
|
||||
if (attempt != null) {
|
||||
ServerPlayer knocked = getPlayerByUuid(knockedId);
|
||||
if (knocked != null) {
|
||||
knocked.sendSystemMessage(Component.literal("Execution interrupted!"));
|
||||
knocked.sendSystemMessage(Component.translatable("message.knockedback.execution_interrupted"));
|
||||
NetworkHandler.CHANNEL.send(
|
||||
PacketDistributor.PLAYER.with(() -> knocked),
|
||||
new ExecutionProgressPacket(0)
|
||||
@@ -91,7 +91,7 @@ public class PlayerExecutionHandler {
|
||||
}
|
||||
ServerPlayer executor = getPlayerByUuid(attempt.executorUuid);
|
||||
if (executor != null) {
|
||||
executor.sendSystemMessage(Component.literal("Your execution was interrupted!"));
|
||||
executor.sendSystemMessage(Component.translatable("message.knockedback.execution_interrupted_executor"));
|
||||
NetworkHandler.CHANNEL.send(
|
||||
PacketDistributor.PLAYER.with(() -> executor),
|
||||
new ExecutionProgressPacket(0)
|
||||
@@ -106,7 +106,7 @@ public class PlayerExecutionHandler {
|
||||
UUID hurtId = hurtPlayer.getUUID();
|
||||
boolean wasExecutor = executionAttempts.values().removeIf(attempt -> attempt.executorUuid.equals(hurtId));
|
||||
if (wasExecutor) {
|
||||
hurtPlayer.sendSystemMessage(Component.literal("Execution canceled because you were hit!"));
|
||||
hurtPlayer.sendSystemMessage(Component.translatable("message.knockedback.execution_interrupted"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -130,9 +130,9 @@ public class PlayerExecutionHandler {
|
||||
new ExecutionProgressPacket(0)
|
||||
);
|
||||
}
|
||||
executor.sendSystemMessage(Component.literal("You executed " + knockedPlayer.getName().getString() + "!"));
|
||||
executor.sendSystemMessage(Component.translatable("message.knockedback.you_executed" + knockedPlayer.getName().getString() + "!"));
|
||||
if (knockedPlayer instanceof ServerPlayer serverPlayer) {
|
||||
serverPlayer.sendSystemMessage(Component.literal("You were executed by " + executor.getName().getString() + "!"));
|
||||
serverPlayer.sendSystemMessage(Component.translatable("message.knockedback.you_were_executed" + executor.getName().getString() + "!"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -21,24 +21,22 @@ public class ClientKeyHandler {
|
||||
"key.categories.knockedback"
|
||||
);
|
||||
|
||||
// This event still needs to be registered on the MOD bus for key mapping registration.
|
||||
@Mod.EventBusSubscriber(modid = "knockedback", value = Dist.CLIENT, bus = Mod.EventBusSubscriber.Bus.MOD)
|
||||
public static class KeyMappingRegistration {
|
||||
@SubscribeEvent
|
||||
public static void registerKeyMappings(RegisterKeyMappingsEvent event) {
|
||||
event.register(EXECUTE_KEY);
|
||||
}
|
||||
}
|
||||
|
||||
public static final KeyMapping CARRY_KEY = new KeyMapping(
|
||||
"key.knockedback.carry",
|
||||
GLFW.GLFW_KEY_V,
|
||||
"key.categories.knockedback"
|
||||
);
|
||||
|
||||
@SubscribeEvent
|
||||
public static void registerCarryKey(RegisterKeyMappingsEvent e) {
|
||||
e.register(CARRY_KEY);
|
||||
@Mod.EventBusSubscriber(modid = "knockedback", value = Dist.CLIENT, bus = Mod.EventBusSubscriber.Bus.MOD)
|
||||
public static class KeyMappingRegistration {
|
||||
@SubscribeEvent
|
||||
public static void registerKeyMappings(RegisterKeyMappingsEvent event) {
|
||||
event.register(EXECUTE_KEY);
|
||||
}
|
||||
@SubscribeEvent
|
||||
public static void registerCarryKey(RegisterKeyMappingsEvent e) {
|
||||
e.register(CARRY_KEY);
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
@@ -46,10 +44,6 @@ public class ClientKeyHandler {
|
||||
if (Minecraft.getInstance().screen != null) return;
|
||||
if (EXECUTE_KEY.consumeClick()) {
|
||||
if (Minecraft.getInstance().player != null) {
|
||||
Minecraft.getInstance().player.sendSystemMessage(
|
||||
Component.literal("Key B pressed! Sending execution request to server.")
|
||||
);
|
||||
// Send the packet to the server
|
||||
NetworkHandler.CHANNEL.sendToServer(new ExecuteKnockedPacket());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package net.fretux.knockedback.client;
|
||||
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
import net.fretux.knockedback.KnockedBack;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.GuiGraphics;
|
||||
|
||||
@@ -4,6 +4,7 @@ import net.fretux.knockedback.KnockedBack;
|
||||
import net.fretux.knockedback.client.ClientKnockedState;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.GuiGraphics;
|
||||
import net.minecraft.client.resources.language.I18n;
|
||||
import net.minecraftforge.client.event.RenderGuiOverlayEvent;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
@@ -16,7 +17,7 @@ public class KnockedTimeOverlay {
|
||||
if (!ClientKnockedState.isKnocked()) return;
|
||||
Minecraft mc = Minecraft.getInstance();
|
||||
GuiGraphics guiGraphics = event.getGuiGraphics();
|
||||
String text = "Time until recovery: " + (ClientKnockedState.getTimeLeft() / 20) + " s";
|
||||
String text = I18n.get("overlay.knockedback.recovery_time", ClientKnockedState.getTimeLeft() / 20);
|
||||
int screenWidth = mc.getWindow().getGuiScaledWidth();
|
||||
int x = screenWidth / 2 - mc.font.width(text) / 2;
|
||||
int y = 10;
|
||||
|
||||
Reference in New Issue
Block a user