🎓 1. Sistema de Habilidades de Crafteo

Concepto: Los jugadores desarrollan habilidades específicas de crafteo que desbloquean o mejoran recetas

// Nuevo componente de skills
public class CraftingSkillComponent {
    Map<String, Integer> skillLevels; // "Blacksmithing": 5
    // Recetas requieren nivel de skill específico
}
Habilidad Recetas Afectadas Bonus por Nivel
⚔️ Herrería Armas, Armaduras +% durabilidad, +% daño
🧪 Alquimia Pociones, Encantamientos +% duración, +% potencia
🪵 Carpintería Muebles, Herramientas -% recursos, +calidad
🍳 Cocina Comida, Buffs +% restauración, +efectos
📈
Sistema de Progresión
Las habilidades suben al craftear items relacionados. Mayor dificultad = más experiencia.

📜 2. Recetas Descubribles por Experimentación

Concepto: Algunas recetas se descubren combinando materiales en el crafteo

// Nuevo sistema de descubrimiento
if (player.craftsUnknownCombination(inputs)) {
    if (matchesHiddenRecipe(inputs)) {
        CraftingPlugin.learnRecipe(player, recipeId);
        showDiscoveryAnimation();
    }
}

Mecánicas Sugeridas

  • Algunas recetas no aparecen en el libro hasta ser descubiertas
  • Pistas en el mundo (libros, NPCs) sobre combinaciones secretas
  • Sistema de "casi-descubrimiento" que da feedback
  • Logros por descubrir recetas raras

⭐ 3. Calidad de Crafteo

Concepto: El resultado del crafteo varía según las habilidades del jugador y otros factores

// Modificar output basado en skill/luck
float qualityMultiplier = calculateQuality(playerSkill, recipeComplexity);
output.setDurability(baseDurability * qualityMultiplier);
Calidad Probabilidad Base Bonus
⚪ Normal 60% Sin bonus
🟢 Buena 25% +10% stats
🔵 Excelente 12% +25% stats
🟣 Épica 3% +50% stats + efecto especial
🎲
Factores que Mejoran la Calidad
• Nivel de habilidad del jugador
• Tier del bench usado
• Calidad de los materiales de entrada
• Items especiales (herramientas de crafteo)

🔧 4. Recetas Modificables

Concepto: Permitir variaciones en recetas añadiendo materiales opcionales

// Permitir variaciones en recetas
public class ModifiableRecipe extends CraftingRecipe {
    MaterialQuantity[] optionalEnhancements; // Materiales opcionales
    // Añadir materiales extra mejora el output
}

Ejemplo: Espada de Hierro

Material Opcional Efecto en el Output
+1 Hierro Extra +15% durabilidad
+1 Diamante +20% daño
+1 Cuero Fino +10% velocidad de ataque
+1 Gema Mágica Añade encantamiento aleatorio

🤝 5. Crafteo Cooperativo

Concepto: Algunas recetas requieren múltiples jugadores trabajando juntos

// RecipeRequirement extendido
int requiredPlayers = 2; // Mínimo 2 jugadores en el bench
String[] requiredRoles; // ["Smith", "Enchanter"]
👥
Mecánicas
• Items legendarios requieren trabajo en equipo
• Cada jugador aporta habilidades diferentes
• Bonus por cooperación bien coordinada

🔌 Implementación en Hytale

El sistema existente ya proporciona puntos de extensión:

Extender CraftingRecipe

public class EnhancedCraftingRecipe extends CraftingRecipe {
    int requiredSkillLevel;
    String skillType;
    MaterialQuantity[] optionalInputs;
    QualityRange outputQualityRange;
}

Nuevo Codec para Recetas Mejoradas

getCodecRegistry(CraftingRecipe.CODEC)
    .register("Enhanced", EnhancedCraftingRecipe.class, 
              EnhancedCraftingRecipe.CODEC);

Componente de Habilidades del Jugador

getEntityStoreRegistry().registerComponent(
    CraftingSkills.class,
    "CraftingSkills",
    CraftingSkills.CODEC
);