ModsJava
ItemsEngine
ItemsAdder-compatible API and hook bridge backed by CraftEngine for Paper and Folia.
⬇ Download on SpigotItemsEngine
ItemsAdder API Compatibility for CraftEngine
Run plugins that expect an ItemsAdder integration on CraftEngine-powered Paper and Folia servers.
SOURCE CODE • DOWNLOADS • ISSUE TRACKER
What is ItemsEngine?
ItemsEngine is an open-source compatibility bridge that presents itself as an ItemsAdder provider and routes supported ItemsAdder API calls to real CraftEngine data.
It is designed for server owners who manage custom items, blocks, furniture and font images through CraftEngine but still need to use plugins that integrate with the public ItemsAdder API.
ItemsEngine uses Paper's provides: [ItemsAdder] mechanism. This allows compatible plugins that declare depend: [ItemsAdder] to load without requiring the real ItemsAdder plugin.
Calls such as getPlugin("ItemsAdder") are resolved to ItemsEngine, while supported API operations are backed by CraftEngine registries.
Why use ItemsEngine?
- Keep existing integrations — Continue using plugins that expect the public ItemsAdder API.
- Use CraftEngine content — Back supported API calls with real CraftEngine registry data.
- Avoid unnecessary migration work — Existing integrations can continue using familiar ItemsAdder API names.
- Fail safely — Unsupported operations return neutral results instead of fabricated data.
- Run on modern platforms — Designed for supported Paper and Folia environments.
- Open source — Available under the MIT License.
Main features
- Custom item support
Build, identify and query CraftEngine items through supported ItemsAdder API methods.
- Custom block support
Detect already placed CraftEngine blocks and handle supported placement and removal operations.
- Furniture support
Bridge supported furniture identification, placement and removal operations.
- Font images and emojis
Expose CraftEngine font-image entries and resolvable emoji aliases through familiar ItemsAdder syntax.
- Sprite-sheet support
Resolve individual sprite cells using namespace, sprite, row and column values.
- PlaceholderAPI integration
Resolve supported ItemsAdder-style placeholders without downloading a separate PlaceholderAPI eCloud expansion.
- Event bridging
Translate CraftEngine reload, block and furniture events into corresponding ItemsAdder event paths.
- Cancellation propagation
Preserve supported event cancellation states between both systems.
- Anti-xray and anti-cheat hooks
Provide common public ItemsAdder API paths used by compatible protection and integration plugins.
- Validated compatibility layer
Use a narrow reflection adapter and bytecode-level API descriptor checks to reduce silent incompatibilities.
Placeholder compatibility
ItemsEngine preserves supported ItemsAdder placeholder spellings while producing values from real CraftEngine registries.
Font images and emojis
Code (Text):
%img_namespace:image%
%img_image-or-emoji%
%img_namespace:sprite:row:column%
%img_offset_-16%
%img_offset_16%
Code (Text):
:image:
:namespace:image:
:namespace:sprite:row:column:
:offset_-16:
:offset_16:
Code (Text):
%itemsadder_loaded%
%itemsadder_version%
%itemsadder_craftengine_version%
%itemsadder_items_count%
%itemsadder_blocks_count%
%itemsadder_furniture_count%
%itemsadder_images_count%
Code (Text):
%itemsadder_mainhand_id%
%itemsadder_offhand_id%
Recommendation: Always use fully qualified IDs such as namespace:id whenever possible.
A bare ID is resolved only when it uniquely identifies one entry. Ambiguous or unknown values fail safely instead of returning fabricated data.
Anti-xray and anti-cheat integrations
ItemsEngine connects several common public ItemsAdder API integration paths to CraftEngine-backed data.
Supported integration points include:
- ItemsAdder provider identity
- ItemsAdder load events
- CustomBlock.byAlreadyPlaced(Block)
- ItemsAdder.isCustomBlock(Block)
- CustomStack.byItemStack(ItemStack)
- Supported custom block place and break events
Important: Compatibility is targeted at plugins that use the public ItemsAdder API.
ItemsEngine does not claim universal compatibility with unpublished, private or internal classes used by closed-source premium plugins.
Requirements
- Server software: Paper or Folia
- Minecraft versions: Supported 1.21.x–26.x builds
- Required dependency: CraftEngine
- Optional dependency: PlaceholderAPI
- Paper 1.21.x: Java 21
- Paper 26.1 and newer: Java 25
ItemsEngine is not designed to run on the Spigot server implementation.
Although the resource is published on SpigotMC, the plugin requires a supported Paper or Folia server at runtime.
Installation
- Install a supported version of CraftEngine.
- Download the latest ItemsEngine JAR from the releases page.
- Place the JAR inside your server's plugins/ directory.
- Install PlaceholderAPI 2.12.3 or newer when placeholder functionality is required.
- Make sure the real ItemsAdder JAR is not installed on the same server.
- Fully restart the server.
- Run /itemsengine status and verify the reported integration state.
Do not use /reload.
A complete server restart is required.
Important limitations
- ItemsEngine is not ItemsAdder.
- It does not generate resource packs.
- It does not manage resource-pack distribution.
- It is not a complete reimplementation of every ItemsAdder feature.
- Only supported API surfaces with a validated behavioral equivalent are bridged.
- Running ItemsAdder and ItemsEngine together as simultaneous providers is unsupported.
- Unsupported calls may return null, false or an empty collection.
This fail-closed design allows consuming plugins to detect unsupported operations safely instead of receiving incorrect or invented data.
For plugin developers
You do not need to replace your ItemsAdder API dependency.
Your plugin may continue declaring ItemsAdder through depend, softdepend or loadbefore.
Continue listening for the ItemsAdder load event before accessing registry-backed data. Do not assume that all registry data is ready during onEnable.
Code (Text):
CustomStack stack = CustomStack.getInstance("namespace:item");
if (stack != null) {
player.getInventory().addItem(stack.getItemStack());
}
The project has been tested through real Paper and Folia server probes covering placeholders and placed custom-block API consumption.
The same Java 21 bytecode JAR can be used on supported Java 21 and Java 25 server environments according to the target Paper version.
For the detailed and conservative compatibility matrix, see:
ItemsEngine Compatibility Documentation
Use CraftEngine. Keep ItemsAdder integrations working.
ItemsEngine provides a safe, transparent and developer-friendly bridge between the CraftEngine and ItemsAdder API ecosystems.
GITHUB • LATEST RELEASE • REPORT AN ISSUE
ItemsEngine
CraftEngine için ItemsAdder API Uyumluluk Köprüsü
ItemsAdder entegrasyonu bekleyen eklentileri CraftEngine tabanlı Paper ve Folia sunucularında çalıştırın.
KAYNAK KOD • İNDİR • HATA TAKİBİ
ItemsEngine nedir?
ItemsEngine, kendisini bir ItemsAdder sağlayıcısı olarak sunan ve desteklenen ItemsAdder API çağrılarını gerçek CraftEngine verilerine yönlendiren açık kaynaklı bir uyumluluk köprüsüdür.
Özel item, blok, mobilya ve font görsellerini CraftEngine ile yöneten ancak public ItemsAdder API entegrasyonuna sahip eklentileri kullanmaya devam etmek isteyen sunucu sahipleri için geliştirilmiştir.
ItemsEngine, Paper'ın provides: [ItemsAdder] mekanizmasını kullanır. Böylece depend: [ItemsAdder] tanımlayan uyumlu eklentiler, gerçek ItemsAdder eklentisine ihtiyaç duymadan yüklenebilir.
getPlugin("ItemsAdder") gibi çağrılar ItemsEngine'e çözümlenir ve desteklenen API işlemleri CraftEngine kayıtlarıyla karşılanır.
Neden ItemsEngine?
- Mevcut entegrasyonları koruyun — Public ItemsAdder API bekleyen eklentileri kullanmaya devam edin.
- CraftEngine verilerini kullanın — Desteklenen API çağrılarını gerçek CraftEngine kayıtlarıyla karşılayın.
- Geçiş maliyetini azaltın — Mevcut entegrasyonların tanıdığı ItemsAdder API adlarını değiştirmeyin.
- Güvenli başarısızlık — Desteklenmeyen işlemlerde sahte veri yerine tarafsız sonuçlar alın.
- Modern platform desteği — Desteklenen Paper ve Folia ortamlarında çalıştırın.
- Açık kaynak — MIT Lisansı altında sunulur.
Temel özellikler
- Özel item desteği
CraftEngine itemlerini desteklenen ItemsAdder API metotları üzerinden oluşturun, tanıyın ve sorgulayın.
- Özel blok desteği
Yerleştirilmiş CraftEngine bloklarını algılayın ve desteklenen yerleştirme ile kaldırma işlemlerini kullanın.
- Mobilya desteği
Desteklenen mobilya tanıma, yerleştirme ve kaldırma işlemlerini köprüleyin.
- Font görselleri ve emojiler
CraftEngine font görsellerini ve çözümlenebilir emoji aliaslarını tanıdık ItemsAdder biçimleriyle kullanın.
- Sprite sheet desteği
Namespace, sprite, satır ve sütun değerleriyle belirli sprite hücrelerini çözümleyin.
- PlaceholderAPI entegrasyonu
Ayrı bir PlaceholderAPI eCloud expansion indirmeden desteklenen ItemsAdder placeholder'larını kullanın.
- Event köprüsü
CraftEngine reload, blok ve mobilya eventlerini karşılık gelen ItemsAdder event yollarına dönüştürün.
- İptal durumu aktarımı
Desteklenen event cancellation durumlarını iki sistem arasında koruyun.
- Anti-xray ve anti-cheat bağlantıları
Public ItemsAdder API kullanan uyumlu koruma ve entegrasyon eklentilerinin yaygın bağlantı yollarını kullanın.
- Doğrulanmış uyumluluk katmanı
Sessiz uyumsuzluk riskini azaltmak için dar bir reflection adaptörü ve bytecode düzeyinde API descriptor kontrollerinden yararlanın.
Placeholder uyumluluğu
ItemsEngine, desteklenen ItemsAdder placeholder yazımlarını korurken değerleri gerçek CraftEngine kayıtlarından üretir.
Font görselleri ve emojiler
Code (Text):
%img_namespace:image%
%img_image-or-emoji%
%img_namespace:sprite:row:column%
%img_offset_-16%
%img_offset_16%
Code (Text):
:image:
:namespace:image:
:namespace:sprite:row:column:
:offset_-16:
:offset_16:
Code (Text):
%itemsadder_loaded%
%itemsadder_version%
%itemsadder_craftengine_version%
%itemsadder_items_count%
%itemsadder_blocks_count%
%itemsadder_furniture_count%
%itemsadder_images_count%
Code (Text):
%itemsadder_mainhand_id%
%itemsadder_offhand_id%
Öneri: Mümkün olduğunda daima namespace:id biçimindeki tam kimlikleri kullanın.
Kısa bir ID yalnızca tek bir kayıtla benzersiz biçimde eşleştiğinde çözümlenir. Belirsiz veya bilinmeyen değerlerde sahte sonuç üretilmez.
Anti-xray ve anti-cheat entegrasyonları
ItemsEngine, yaygın public ItemsAdder API bağlantı yollarını CraftEngine destekli verilere bağlar.
Temel entegrasyon noktaları:
- ItemsAdder sağlayıcı kimliği
- ItemsAdder yükleme eventleri
- CustomBlock.byAlreadyPlaced(Block)
- ItemsAdder.isCustomBlock(Block)
- CustomStack.byItemStack(ItemStack)
- Desteklenen özel blok yerleştirme ve kırma eventleri
Önemli: Uyumluluk, public ItemsAdder API kullanan eklentiler için hedeflenir.
ItemsEngine, kapalı kaynaklı ücretli eklentilerin yayımlanmamış, özel veya dahili sınıflarıyla evrensel uyumluluk iddiasında bulunmaz.
Gereksinimler
- Sunucu yazılımı: Paper veya Folia
- Minecraft sürümleri: Desteklenen 1.21.x–26.x yapıları
- Zorunlu bağımlılık: CraftEngine
- İsteğe bağlı bağımlılık: PlaceholderAPI
- Paper 1.21.x: Java 21
- Paper 26.1 ve sonrası: Java 25
ItemsEngine, Spigot sunucu yazılımında çalışmak üzere tasarlanmamıştır.
Kaynak SpigotMC üzerinde yayımlansa da eklentinin çalışma ortamında desteklenen bir Paper veya Folia sunucusu bulunmalıdır.
Kurulum
- Desteklenen bir CraftEngine sürümü kurun.
- Releases sayfasından en güncel ItemsEngine JAR dosyasını indirin.
- JAR dosyasını sunucunuzun plugins/ klasörüne yerleştirin.
- Placeholder özelliklerine ihtiyaç duyuyorsanız PlaceholderAPI 2.12.3 veya daha yeni bir sürümünü kurun.
- Gerçek ItemsAdder JAR dosyasının aynı sunucuda kurulu olmadığından emin olun.
- Sunucuyu tamamen yeniden başlatın.
- /itemsengine status komutunu çalıştırarak entegrasyon durumunu kontrol edin.
/reload kullanmayın.
Tam bir sunucu yeniden başlatması gereklidir.
Önemli sınırlamalar
- ItemsEngine, ItemsAdder'ın kendisi değildir.
- Resource pack üretmez.
- Resource pack dağıtımını yönetmez.
- ItemsAdder'ın tüm özelliklerini yeniden uygulamayı amaçlamaz.
- Yalnızca doğrulanmış davranışsal karşılığı bulunan desteklenen API yüzeyleri köprülenir.
- ItemsAdder ve ItemsEngine'in aynı anda sağlayıcı olarak kullanılması desteklenmez.
- Desteklenmeyen çağrılar null, false veya boş bir koleksiyon döndürebilir.
Bu fail-closed yaklaşımı, entegrasyon kullanan eklentilerin yanlış veya uydurulmuş veri almak yerine desteklenmeyen işlemleri güvenli biçimde algılamasını sağlar.
Eklenti geliştiricileri için
ItemsAdder API bağımlılığınızı değiştirmeniz gerekmez.
Eklentiniz ItemsAdder adını depend, softdepend veya loadbefore içerisinde kullanmaya devam edebilir.
Kayıt tabanlı verilere erişmeden önce ItemsAdder yükleme eventini dinlemeye devam edin. Tüm kayıtların onEnable aşamasında hazır olduğunu varsaymayın.
Code (Text):
CustomStack stack = CustomStack.getInstance("namespace:item");
if (stack != null) {
player.getInventory().addItem(stack.getItemStack());
}
Proje; placeholder işlemlerini ve yerleştirilmiş özel blokların API üzerinden okunmasını kapsayan gerçek Paper ve Folia sunucu problarıyla test edilmiştir.
Aynı Java 21 bytecode JAR dosyası, hedef Paper sürümüne göre desteklenen Java 21 ve Java 25 sunucu ortamlarında kullanılabilir.
Ayrıntılı ve temkinli uyumluluk matrisi:
ItemsEngine Uyumluluk Belgesi
CraftEngine kullanın. ItemsAdder entegrasyonlarını koruyun.
ItemsEngine, CraftEngine ve ItemsAdder API ekosistemleri arasında güvenli, şeffaf ve geliştirici dostu bir köprü sunar.
GITHUB • SON SÜRÜM • HATA BİLDİR
ItemsEngine is a free Minecraft Java mod. Compatible with Minecraft 1.21, 26.1, 26.2. Downloaded 6 times (via Spigot). Download it and open it directly in the game.