#
🔧 Items Customs
#
📝 Introduction
Le systÚme de shops et blackmarkets d'Horizons supporte l'utilisation d'items custom provenant de plugins externes. Cela vous permet d'ajouter des items personnalisés avec leurs propres modÚles 3D, textures et comportements dans vos boutiques.
#
🔌 Plugins SupportĂ©s
#
✅ ItemsAdder
#
✅ Oraxen
Statut: Implémenté et testé
Le plugin ItemsAdder et Oraxen sont actuellement les seuls provider d'items custom supportĂ©. D'autres providers peuvent ĂȘtre ajoutĂ©s Ă l'avenir.
#
📋 Format de Configuration
#
Format de Clé d'Item Custom
Les items custom sont identifiés par leur format de clé unique. Le format est obligatoire et doit contenir exactement 3 parties séparées par : :
Format obligatoire: provider:namespace:item_id
Exemples:
itemsadder:iaalchemy:demoniac_pickaxeitemsadder:myitems:ruby_sworditemsadder:weapons:magic_stafforaxen:demoniac_sword
#
Identification Automatique
Un item est automatiquement reconnu comme custom si :
- La clé contient au moins deux caractÚres
:(formatprovider:namespace:item_id) - OU le flag
custom_item: trueest présent dans la configuration
⚠️ Important: Le format provider:item_id (2 parties) n'est PAS supportĂ©. Vous devez toujours utiliser le format complet avec namespace.
#
🛒 Configuration dans les Shops
#
Syntaxe de Base
shop:
Forgeron:
display_name: "&c&lForgeron"
entity_type: "VILLAGER"
profession: "WEAPONSMITH"
villager_type: "PLAINS"
Position:
world: "world"
x: 100
y: 64
z: 200
gui_title: "&4Boutique d'Armement"
items:
# Item vanilla (comme avant)
DIAMOND_SWORD:
pricing:
type: "STATIC"
base_price: 1000
# Item custom avec prix statique
"itemsadder:myitems:ruby_sword":
pricing:
type: "STATIC"
base_price: 1500
# Item custom avec prix dynamique (SUPPLY_DEMAND)
"itemsadder:iaalchemy:demoniac_pickaxe":
custom_item: true # Optionnel mais recommandé
pricing:
type: "DYNAMIC"
base_price: 2000
min_price: 1500
max_price: 3000
adjustment:
type: "SUPPLY_DEMAND"
demand_multiplier: 0.15
supply_threshold: 50
cooldown_rate: 0.03
# Item custom avec prix dynamique (FIXED_PERCENTAGE)
"itemsadder:weapons:magic_staff":
pricing:
type: "DYNAMIC"
base_price: 3000
min_price: 2000
max_price: 5000
adjustment:
type: "FIXED_PERCENTAGE"
change_rate: 0.05
supply_threshold: 30
#
🏴â☠️ Configuration dans les MarchĂ©s Noirs
#
Syntaxe de Base
blackmarket:
TraderNoir:
display_name: "&8&lMarchand Noir"
entity_type: "VILLAGER"
profession: "NONE"
villager_type: "DESERT"
Position:
world: "world"
x: 200
y: 64
z: 300
gui_title: "&8Marché Noir"
items:
# Item vanilla
DIAMOND:
stock: 5
price: 1000
# Item custom avec namespace complet
"itemsadder:darkmagic:necromancer_staff":
stock: 1
price: 10000
#
Format de Clé
- Le format
provider:namespace:item_idest obligatoire pour les items custom (exactement 3 parties) - Les clĂ©s doivent ĂȘtre entre guillemets dans le YAML si elles contiennent des caractĂšres spĂ©ciaux
- Le provider doit ĂȘtre installĂ© et chargĂ© pour que les items fonctionnent
- Le format
provider:item_id(2 parties) n'est PAS supporté
#
Prix Dynamiques
✅ Les items custom supportent tous les types de prix (STATIC, DYNAMIC avec SUPPLY_DEMAND ou FIXED_PERCENTAGE), exactement comme les items vanilla.
Les prix dynamiques sont mis Ă jour automatiquement selon l'offre et la demande, et les tendances de prix (âââ) sont affichĂ©es dans l'interface du shop, au mĂȘme titre que pour les items vanilla.
#
🔍 DĂ©pannage
#
L'item n'apparaĂźt pas dans le shop
- Vérifier que le plugin provider est installé (ex: ItemsAdder)
- Vérifier que l'item existe dans le provider
- VĂ©rifier le format de la clĂ© : doit ĂȘtre
provider:namespace:item_id(exactement 3 parties séparées par:) - Vérifier les logs : des messages d'erreur détaillés sont affichés dans la console
#
Erreur "Invalid custom item"
Cela signifie que :
- Le provider n'est pas installé
- L'item n'existe pas dans le provider
- Le format de la clé est incorrect
Solution : Vérifiez les logs de la console pour le message d'erreur détaillé.
#
🛠️ Commande de Debug
Horizons fournit une commande dédiée pour tester et gérer les items custom : /customitems
#
Commandes disponibles
/customitems providers- Liste les providers d'items custom chargés/customitems test <provider:namespace:item_id>- Teste si un item custom existe/customitems give <provider:namespace:item_id> [amount]- Donne un item custom/customitems identify- Identifie l'item tenu en main
Alias: /ci, /citems, /citem
Permission: horizons.command.customitems
#
Plus de détails disponibles sur la page de la commande
#
Cas d'utilisation
Trouver l'ID d'un item custom :
- Tenez l'item en main
- Exécutez
/customitems identify - Utilisez l'ID complet affiché dans votre configuration
Tester un item avant de l'ajouter Ă un shop :
/customitems test itemsadder:namespace:item_name
Vérifier que ItemsAdder est chargé :
/customitems providers
Pour plus de détails, consultez la documentation complÚte de la commande.