mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2025-12-27 19:09:08 +00:00
添加外部配方原料支持
This commit is contained in:
@@ -105,6 +105,7 @@ public abstract class AbstractItemManager<I> extends AbstractModelGenerator impl
|
||||
|
||||
@Override
|
||||
public boolean registerExternalItemProvider(ExternalItemProvider<I> externalItemProvider) {
|
||||
if (!ResourceLocation.isValidNamespace(externalItemProvider.plugin())) return false;
|
||||
if (this.externalItemProviders.containsKey(externalItemProvider.plugin())) return false;
|
||||
this.externalItemProviders.put(externalItemProvider.plugin(), externalItemProvider);
|
||||
return true;
|
||||
@@ -510,7 +511,7 @@ public abstract class AbstractItemManager<I> extends AbstractModelGenerator impl
|
||||
Map<String, Object> data = MiscUtils.castToMap(obj, false);
|
||||
String plugin = data.get("plugin").toString();
|
||||
String id = data.get("id").toString();
|
||||
ExternalItemProvider<I> provider = AbstractItemManager.this.getExternalItemProvider(plugin);
|
||||
ExternalItemProvider<I> provider = AbstractItemManager.this.getExternalItemProvider(plugin.toLowerCase(Locale.ENGLISH));
|
||||
return new ExternalModifier<>(id, Objects.requireNonNull(provider, "Item provider " + plugin + " not found"));
|
||||
}, "external");
|
||||
if (VersionHelper.isOrAbove1_20_5()) {
|
||||
|
||||
@@ -217,6 +217,7 @@ public abstract class CraftEngine implements Plugin {
|
||||
this.fontManager.delayedInit();
|
||||
this.vanillaLootManager.delayedInit();
|
||||
this.advancementManager.delayedInit();
|
||||
this.compatibilityManager.onDelayedEnable();
|
||||
// reload the plugin
|
||||
try {
|
||||
this.reloadPlugin(Runnable::run, Runnable::run, true);
|
||||
|
||||
@@ -25,4 +25,18 @@ public final class StringUtils {
|
||||
result[index] = s.substring(start);
|
||||
return result;
|
||||
}
|
||||
|
||||
public static String toLowerCase(String str) {
|
||||
if (str == null) {
|
||||
return null;
|
||||
}
|
||||
char[] chars = str.toCharArray();
|
||||
for (int i = 0; i < chars.length; i++) {
|
||||
char c = chars[i];
|
||||
if (c >= 'A' && c <= 'Z') {
|
||||
chars[i] = (char) (c + 32);
|
||||
}
|
||||
}
|
||||
return new String(chars);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user