Skip to content

Commit

Permalink
feat: Add a.k.a config
Browse files Browse the repository at this point in the history
  • Loading branch information
alt-art committed Feb 9, 2024
1 parent d2bf7db commit 31477b7
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ public class ClientConfig {
public static final ForgeConfigSpec.ConfigValue<Integer> COOLDOWN_GLOBAL;
public static final ForgeConfigSpec.ConfigValue<Integer> NARRATOR_VOLUME;
public static final ForgeConfigSpec.ConfigValue<Boolean> SEND_TO_CHAT;
public static final ForgeConfigSpec.ConfigValue<String> AKA;
public static final ForgeConfigSpec.ConfigValue<Boolean> TTS;

public static final ForgeConfigSpec.ConfigValue<Integer> ELEVENLABS_BUFFER_SIZE;
Expand All @@ -34,6 +35,7 @@ public class ClientConfig {
COOLDOWN_GLOBAL = BUILDER.comment("Cooldown for global events in seconds").defineInRange("cooldown_global", 30, 30, 60);
NARRATOR_VOLUME = BUILDER.comment("Narrator Volume").defineInRange("narrator_volume", 100, 1, 130);
SEND_TO_CHAT = BUILDER.comment("Send events to chat").define("send_to_chat", true);
AKA = BUILDER.comment("aka").define("aka", "");
TTS = BUILDER.comment("Enable text to speech").define("tts", true);

ELEVENLABS_BUFFER_SIZE = BUILDER.comment("ElevenLabs Buffer Size").defineInRange("elevenlabs_buffer_size", 2048, 1024, 16384);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,13 @@ public static String getAsName(Entity entity) {
return entity.getName().getString();
}

public static String getPlayerName(Entity entity) {
if (ClientConfig.AKA.get().isEmpty()) {
return entity.getName().getString();
} else {
return ClientConfig.AKA.get();
}
}

@SubscribeEvent
public static void registerCommands(RegisterClientCommandsEvent event) {
Expand Down Expand Up @@ -114,7 +121,7 @@ public static void onPlayerTick(TickEvent.PlayerTickEvent event) {

String addedItemsString = String.join(", ", addedItems).replaceAll(", (?=[^,]*$)", " e ");
String removedItemsString = String.join(", ", removedItems).replaceAll(", (?=[^,]*$)", " e ");
String player = event.player.getName().getString();
String player = getPlayerName(event.player);

if (!addedItems.isEmpty() && !removedItems.isEmpty()) {
wsClient.sendEvent(Event.CHEST_CHANGE.getValue(), String.format("Jogador \"%s\" colocou \"%s\" e removeu \"%s\" de um baú", player, addedItemsString, removedItemsString));
Expand All @@ -137,7 +144,7 @@ public static void onItemCrafted(PlayerEvent.ItemCraftedEvent event) {
}

String item = getAsName(event.getCrafting());
String player = event.getEntity().getName().getString();
String player = getPlayerName(event.getEntity());
wsClient.sendEvent(Event.ITEM_CRAFTED.getValue(), String.format("Jogador \"%s\" craftou \"%s\"", player, item));
}

Expand All @@ -154,7 +161,7 @@ public static void onBlockBreak(BlockEvent.BreakEvent event) {
tool_name = Component.translatable("item.stanleyparable.bare_hands").getString();
}
String block = getAsName(event.getState().getBlock());
String player = event.getPlayer().getName().getString();
String player = getPlayerName(event.getPlayer());
wsClient.sendEvent(Event.BLOCK_BROKEN.getValue(), String.format("Jogador \"%s\" quebrou \"%s\" com \"%s\"", player, block, tool_name));
}

Expand All @@ -167,7 +174,7 @@ public static void onBlockPlace(BlockEvent.EntityPlaceEvent event) {
}

String block = getAsName(event.getPlacedBlock().getBlock());
String player = event.getEntity().getName().getString();
String player = getPlayerName(event.getEntity());
wsClient.sendEvent(Event.BLOCK_PLACED.getValue(), String.format("Jogador \"%s\" colocou \"%s\"", player, block));
}

Expand All @@ -181,8 +188,9 @@ public static void onPlayerDeath(LivingDeathEvent event) {
}

String deathCause = event.getSource().getLocalizedDeathMessage(event.getEntity()).getString();
String player = event.getEntity().getName().getString();
wsClient.sendEvent(Event.PLAYER_DEATH.getValue(), String.format("Jogador \"%s\" morreu \"%s\"", player, deathCause));
String originalPlayerName = event.getEntity().getName().getString();
String player = getPlayerName(event.getEntity());
wsClient.sendEvent(Event.PLAYER_DEATH.getValue(), String.format("Jogador \"%s\" morreu \"%s\"", player, deathCause.replace(originalPlayerName, player)));
}

@SubscribeEvent
Expand All @@ -206,7 +214,7 @@ public static void onAchievement(AdvancementEarnEvent event) {

String advancementTitle = event.getAdvancement().value().display().map(DisplayInfo::getTitle).map(Component::getString).orElse("");
String advancementDescription = event.getAdvancement().value().display().map(DisplayInfo::getDescription).map(Component::getString).orElse("");
String player = event.getEntity().getName().getString();
String player = getPlayerName(event.getEntity());
wsClient.sendEvent(Event.ADVANCEMENT.getValue(), String.format("Jogador \"%s\" obteve a conquista \"%s\": \"%s\"", player, advancementTitle, advancementDescription));
}

Expand All @@ -218,7 +226,7 @@ public static void onDimensionChange(PlayerEvent.PlayerChangedDimensionEvent eve
return;
}
String dimension = event.getTo().location().toString();
String player = event.getEntity().getName().getString();
String player = getPlayerName(event.getEntity());
wsClient.sendEvent(Event.DIMENSION_CHANGED.getValue(), String.format("Jogador \"%s\" entrou na dimensão \"%s\"", player, dimension));
}

Expand All @@ -232,7 +240,7 @@ public static void onItemPickup(PlayerEvent.ItemPickupEvent event) {

String item = getAsName(event.getStack());
int amount = event.getStack().getCount();
String player = event.getEntity().getName().getString();
String player = getPlayerName(event.getEntity());
wsClient.sendEvent(Event.ITEM_PICKUP.getValue(), String.format("Jogador \"%s\" pegou \"%d\" \"%s\"", player, amount, item));
}

Expand All @@ -245,7 +253,7 @@ public static void onItemSmelted(PlayerEvent.ItemSmeltedEvent event) {
}

String item = getAsName(event.getSmelting());
String player = event.getEntity().getName().getString();
String player = getPlayerName(event.getEntity());
wsClient.sendEvent(Event.ITEM_SMELTED.getValue(), String.format("Jogador \"%s\" fundiu/cozinhou \"%s\"", player, item));
}

Expand All @@ -263,8 +271,8 @@ public static void onMobKilled(LivingDeathEvent event) {
if (weapon.getDescriptionId().equals("block.minecraft.air")) {
weapon_name = Component.translatable("item.stanleyparable.bare_hands").getString();
}

wsClient.sendEvent(Event.MOB_KILLED.getValue(), String.format("Jogador \"%s\" matou \"%s\" com \"%s\"", player.getName().getString(), mob, weapon_name));
String playerName = getPlayerName(player);
wsClient.sendEvent(Event.MOB_KILLED.getValue(), String.format("Jogador \"%s\" matou \"%s\" com \"%s\"", playerName, mob, weapon_name));
}

@SubscribeEvent
Expand All @@ -275,7 +283,7 @@ public static void onClientChat(ServerChatEvent event) {
return;
}
String message = event.getRawText();
String player = event.getPlayer().getName().getString();
String player = getPlayerName(event.getPlayer());
wsClient.sendEvent(Event.PLAYER_CHAT.getValue(), String.format("Jogador \"%s\" escreveu no chat do jogo \"%s\"", player, message));
}

Expand All @@ -287,7 +295,7 @@ public static void onPlayerAte(LivingEntityUseItemEvent.Finish event) {
}

String item_name = getAsName(event.getItem());
String player = event.getEntity().getName().getString();
String player = getPlayerName(event.getEntity());
wsClient.sendEvent(Event.PLAYER_ATE.getValue(), String.format("Jogador \"%s\" comeu/bebeu \"%s\"", player, item_name));
}

Expand All @@ -306,7 +314,7 @@ public static void onPlayerJoin(PlayerEvent.PlayerLoggedInEvent event) {
return null;
});
String worldName = Objects.requireNonNull(player.getServer()).getWorldData().getLevelName();
String playerName = player.getName().getString();
String playerName = getPlayerName(player);
wsClient.sendEvent(Event.JOIN_WORLD.getValue(), String.format("Jogador \"%s\" entrou no mundo \"%s\"", playerName, worldName));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import net.minecraft.client.gui.components.AbstractSliderButton;
import net.minecraft.client.gui.components.Button;
import net.minecraft.client.gui.components.Checkbox;
import net.minecraft.client.gui.components.EditBox;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.network.chat.Component;
import net.minecraftforge.api.distmarker.Dist;
Expand All @@ -29,6 +30,7 @@ public class ConfigScreen extends Screen {
private String ping = "Offline";

private PingWidget pingWidget;
private EditBox akaWidget;

public ConfigScreen(Screen parent) {
super(Component.translatable("gui.stanleyparable.config.title"));
Expand Down Expand Up @@ -175,10 +177,18 @@ public void onPress() {
this.minecraft.setScreen(new TokenScreen(this));
}).pos(commonX, commonY).size(commonWidth, commonHeight).build());

commonY += commonHeight + commonMargin;

akaWidget = new EditBox(this.font, commonX, commonY, commonWidth, commonHeight, Component.translatable("gui.stanleyparable.aka"));
akaWidget.setValue(ClientConfig.AKA.get());
akaWidget.hint = Component.translatable("gui.stanleyparable.aka");
this.addRenderableWidget(akaWidget);

this.addRenderableWidget(new Button.Builder(Component.translatable("gui.done"), button -> {
ClientConfig.COOLDOWN_INDIVIDUAL.set(coolDownIndividual);
ClientConfig.COOLDOWN_GLOBAL.set(coolDownGlobal);
ClientConfig.NARRATOR_VOLUME.set(narratorVolume);
ClientConfig.AKA.set(akaWidget.getValue());
ClientConfig.applyServerConfig();
WebSocketClient.getInstance().setOnPong(null);
assert this.minecraft != null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
"gui.stanleyparable.narrator_volume": "Narrator Volume: ",
"gui.stanleyparable.send_to_chat": "Send to chat",
"gui.stanleyparable.tts": "Text to speech",
"gui.stanleyparable.aka": "a.k.a",
"gui.stanleyparable.openai_key": "OpenAI API Key",
"gui.stanleyparable.openai_base_url": "OpenAI API URL",
"gui.stanleyparable.openai_model": "OpenAI Chatbot Model",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
"gui.stanleyparable.narrator_volume": "Volume do Narrador: ",
"gui.stanleyparable.send_to_chat": "Aparecer no Chat",
"gui.stanleyparable.tts": "Texto para Fala",
"gui.stanleyparable.aka": "Vulgo",
"gui.stanleyparable.openai_key": "Chave de API da OpenAI",
"gui.stanleyparable.openai_base_url": "URL de API da OpenAI",
"gui.stanleyparable.openai_model": "Modelo do Chatbot da OpenAI",
Expand Down

0 comments on commit 31477b7

Please sign in to comment.