Skip to content
View Teuu25255's full-sized avatar
😆
A procura do 1º emprego na área
😆
A procura do 1º emprego na área

Block or report Teuu25255

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Teuu25255/README.md
Cabeçalho
Digitando...

📍 Sete Lagoas, MG  •  🎓 UNA Sete Lagoas  •  💼 Aberto a oportunidades


👨‍💻 Resumo

Sou estudante de Ciência da Computação (UNA Sete Lagoas) e Técnico em Informática, e estou em busca de oportunidade como Desenvolvedor Júnior (Back-end, Front-end ou Full Stack).

Aprendo construindo: desenvolvo projetos próprios, como e-commerces, um jogo 2D e plugins para servidores de Minecraft, e publico tudo aqui. Minha experiência anterior me deu disciplina, responsabilidade e trabalho em equipe, e hoje levo isso para o código.


Competências

Conhecimento em:

Tecnologias principais

Estudando / em evolução

Em evolução

Projetos

🔨 Bigorna — plugin para Minecraft (Java)

Banner do plugin Bigorna

Plugin que personaliza a bigorna tradicional do Minecraft com novas funções para diversificar servidores. Publicado no Modrinth, com 54 downloads e compatível com Paper, Spigot e Bukkit (Minecraft 1.20.x e 1.21.x).

Principais recursos

  • 🖱️ Menu totalmente configurável por YAML
  • ✏️ Renomear itens e editar descrição pelo chat
  • ✨ Menu de encantamentos (compra, adição e remoção)
  • ⚡ Upgrade automático usando os livros do inventário
  • ⚒️ Forja com a mesma função da bigorna tradicional
  • 🔐 Permissões separadas por função e suporte opcional a Vault (economia)
  • 🎨 Suporte a MiniMessage e códigos &

Tecnologias: Java 21 · Paper API · YAML · Maven/Gradle · Vault

Menu principal Menu de encantar Forja
📸 Ver mais imagens do plugin
Renomear Auto Upgrade Comandos

Modrinth Código-fonte


⚔️ SmiteDungeon — plugin de dungeons para Minecraft (Java)

Plugin de dungeons com progressão de encantamentos, menus interativos e economia integrada. O jogador entra na dungeon, derrota mobs, desbloqueia encantamentos e os evolui com dinheiro e itens.

O que o plugin faz

  • 🧙 5 encantamentos, cada um com nível, chance de ativação e efeito próprio
  • 🔓 Requisitos de desbloqueio: quantidade de kills na dungeon e nível mínimo de varinha
  • 💰 Evolução paga com dinheiro (via Vault) e/ou itens, com compra de +1, +5, +10 ou até o nível máximo
  • 🖱️ Menus interativos que mostram em verde ou vermelho o que o jogador consegue pagar
  • 👥 Instâncias por jogador: cada jogador vê apenas os próprios mobs na mesma área, usando PacketEvents
  • 🛠️ Painel administrativo, modo desempenho por jogador e dados salvos em banco SQL
Encantamento O que faz
Tóxico Dano em área com chance de ativação; raio e dano crescem por nível
Wither Atinge vários alvos por ativação; a quantidade cresce por nível
Caixa Sorteia um ganho (%) e entrega recompensas por comando
Tsunami Elimina todos os mobs da região de uma vez
Custom Sem fórmula fixa: cada nível é uma lista de comandos definida pelo admin

Destaques técnicos

  • Menus, mensagens e encantamentos configuráveis em YAML, recarregados sem reiniciar o servidor
  • Ao atualizar o plugin, chaves novas entram nos arquivos do admin sem apagar o que ele já alterou
  • Fórmulas de progressão parametrizadas, com limite máximo e precisão de 4 casas decimais
  • O raio dos efeitos nunca ultrapassa o tamanho real da área da dungeon
  • Sem Vault ou PacketEvents o plugin avisa e continua funcionando; se o banco falhar, ele se desativa com segurança

Tecnologias: Java · Paper/Bukkit API · PacketEvents · Vault · YAML · SQL (JDBC)

💻 Trechos de código

Fórmula de chance de ativação (usada por vários encantamentos, valores vindos do encantamentos.yml)

public double calcularChanceGenerica(String prefixo, int nivel) {
    if (nivel <= 0) return 0.0;

    double base = getDouble(prefixo + ".chance-base", 0.0);
    double porNivel = getDouble(prefixo + ".chance-por-nivel", 0.0);
    double maxima = getDouble(prefixo + ".chance-maxima", 100.0);

    double chance = base + (porNivel * (nivel - 1));
    chance = Math.max(0.0, Math.min(100.0, Math.min(chance, maxima)));
    return arredondar4Casas(chance);
}

Atualização de configuração sem perder o que o admin editou

for (String chave : configPadrao.getKeys(true)) {
    if (!config.contains(chave) && !configPadrao.isConfigurationSection(chave)) {
        config.set(chave, configPadrao.get(chave));
        alterado = true;
    }
}
if (alterado) {
    salvar();
}
Ver mais trechos

Encantamento Tsunami (trecho resumido)

public static int aplicar(MensagensManager mensagens, Area area, Player player, String regionName) {
    List<LivingEntity> mobs = area.getMobsInRegion(regionName);
    int eliminados = 0;

    for (LivingEntity mob : mobs) {
        // Folga grande sobre a vida atual para garantir a morte
        area.applyEnchantDamage(mob, mob.getHealth() + 9999.0, player);
        eliminados++;
    }

    if (eliminados > 0) {
        player.getWorld().playSound(player.getLocation(), Sound.ENTITY_GENERIC_EXPLODE, 1.0f, 0.6f);
        player.sendMessage(mensagens.get("encantamentos.tsunami-ativado", "quantidade", eliminados));
    }
    return eliminados;
}

Limite de alcance pelo tamanho da dungeon

public double clampAlcanceAreaMaxima(double alcanceDesejado, DatabaseManager.RegionBounds bounds) {
    if (bounds == null) {
        return alcanceDesejado;
    }

    double largura = Math.abs(bounds.getMaxX() - bounds.getMinX());
    double altura = Math.abs(bounds.getMaxY() - bounds.getMinY());
    double comprimento = Math.abs(bounds.getMaxZ() - bounds.getMinZ());
    double maiorDimensao = Math.max(largura, Math.max(altura, comprimento));

    double limiteAbsoluto = maiorDimensao * (getAlcanceLimitePercentual() / 100.0);
    return Math.min(alcanceDesejado, limiteAbsoluto);
}

Código-fonte


💎 DonaFlor — e-commerce de semijoias (React + TypeScript)

Loja virtual de semijoias com visual de boutique, feita do zero, com fluxo completo de compra e área do cliente.

  • 🛍️ Mostruário com filtro por categoria e botão de adicionar à sacola com notificação instantânea
  • 🛒 Carrinho gerenciado por hook próprio (useCart) e página de checkout
  • 👤 Área do cliente: login, cadastro e página Meus pedidos
  • 📦 Cada pedido mostra status, produtos, total, forma de pagamento (Pix, cartão ou boleto), endereço de entrega e rastreio
  • 💬 Mensagens entre cliente e loja dentro de cada pedido
  • 🎨 Design system próprio (paleta champagne/cacau, Cormorant Garamond + Inter) e layout responsivo
  • 🧭 Rotas baseadas em arquivos com TanStack Router

ℹ️ Projeto de portfólio: pedidos e usuários são dados simulados guardados no navegador, e não há pagamento real.

Tecnologias: React · TypeScript · TanStack Router · Tailwind CSS · Sonner · Lucide

💻 Trechos de código

Filtro por categoria e adição à sacola

const [activeCategory, setActiveCategory] = useState<Category>("Todos");
const { add } = useCart();
const visibleProducts =
  activeCategory === "Todos"
    ? products
    : products.filter((p) => p.category === activeCategory);

// ...
<button
  onClick={() => {
    add(p.id);
    toast.success(`${p.name} adicionada à sacola`);
  }}
>
  + Adicionar à sacola
</button>
Ver mais trechos

Status de pedidos com tipagem forte (trecho resumido)

const STATUS_LABEL: Record<OrderStatus, { label: string; cls: string }> = {
  pago: { label: "Pago", cls: "bg-emerald-100 text-emerald-700" },
  preparacao: { label: "Em preparação", cls: "bg-indigo-100 text-indigo-700" },
  enviado: { label: "Enviado", cls: "bg-sky-100 text-sky-700" },
  entregue: { label: "Entregue", cls: "bg-emerald-100 text-emerald-700" },
  // ...
};

function StatusPill({ status }: { status: OrderStatus }) {
  const s = STATUS_LABEL[status];
  return (
    <span className={`text-[10px] uppercase tracking-wider px-2 py-0.5 rounded-full ${s.cls}`}>
      {s.label}
    </span>
  );
}

Rota "Meus pedidos" com TanStack Router

export const Route = createFileRoute("/meus-pedidos")({
  head: () => ({ meta: [{ title: "Meus Pedidos — Dona Flor Semi Joias" }] }),
  component: MeusPedidosPage,
});

Código-fonte


🛒 LapisCraft — loja para servidor de Minecraft (PHP)

E-commerce de games para um servidor de Minecraft, do front-end ao back-end.

  • 🏪 Páginas de loja, carrinho (com contador em tempo real), suporte e perfil
  • 🔐 Login com sessão e painel administrativo restrito por perfil (admin)
  • 📡 Indicador de jogadores online e informações do servidor na página inicial
  • 💳 Rodapé com formas de pagamento e contatos
  • 🎨 Interface temática de Minecraft, com identidade visual própria

Tecnologias: PHP · HTML5 · CSS3 · JavaScript · Font Awesome

💻 Trechos de código

Contador do carrinho em tempo real (JavaScript)

function atualizarContadorCarrinho() {
  let carrinho = JSON.parse(localStorage.getItem('carrinho')) || [];
  let total = carrinho.reduce((soma, item) => soma + (item.qtd || 1), 0);
  document.getElementById('carrinho-contador').textContent = total;
}

document.addEventListener('DOMContentLoaded', atualizarContadorCarrinho);
Ver mais trechos

Menu que muda conforme o perfil do usuário (PHP, trecho simplificado)

<?php if (isset($_SESSION["logado"]) && $_SESSION["logado"] === true): ?>
  <li><a href="frontend/paginas/MeuPerfil.html">Meu Perfil</a></li>
<?php endif; ?>

<?php if (isset($_SESSION["logado"]) && $_SESSION["logado"] === true
          && $_SESSION["usuario_role"] === "admin"): ?>
  <li><a href="...">Admin</a></li>
<?php endif; ?>

Código-fonte


🐱 CatRun2D — jogo 2D em Java

Jogo 2D feito para praticar lógica de programação e orientação a objetos. Tecnologias: Java · [preencher]

Código-fonte


🎓 Formação e cursos

  • 🎓 Bacharelado em Ciência da Computação, UNA Sete Lagoas (previsão: Dez/2028)
  • 💻 Técnico em Informática, E. E. Doutor Arthur Bernardes (2023)
  • 🛡️ Defesa Cibernética, Cisco (2025)
  • 🎮 Game Designer e Desenvolvedor Unreal, EBAC (2026)

📫 Vamos conversar?

Gmail LinkedIn WhatsApp

Rodapé

Popular repositories Loading

  1. Cat-RUN-2D Cat-RUN-2D Public

    Forked from AndersonJJR/Game

    Java

  2. Bigorna-Plugin-Minecraft Bigorna-Plugin-Minecraft Public

    Plugin de Bigorna customizada para seu servidor de MINECRAFT!!!

    Java

  3. Teuu25255 Teuu25255 Public