public DefaultWorldGeneratorPluginLibrary(ModuleEnvironment moduleEnvironment, Context context) { library = new DefaultClassLibrary<>(context); for (Class entry : moduleEnvironment.getTypesAnnotatedWith(RegisterPlugin.class)) { if (WorldGeneratorPlugin.class.isAssignableFrom(entry)) { library.register(new SimpleUri(moduleEnvironment.getModuleProviding(entry), entry.getSimpleName()), entry); } } }
/** * returns the class representing the block family based off the registered id. * * @param uri * @return */ public Class<? extends BlockFamily> getBlockFamily(String uri) { ClassMetadata<? extends BlockFamily, ?> resolved = library.resolve(uri); if (uri == null || uri.isEmpty() || resolved == null) { logger.error(" Failed to resolve Blockfamily {}", uri); return SymmetricFamily.class; } return resolved.getType(); }
private <T> Map<Class<? extends T>, Integer> applySerializationInfo(List<NetData.SerializationInfo> infoList, ClassLibrary<T> classLibrary) { Map<Class<? extends T>, Integer> idTable = Maps.newHashMap(); for (NetData.SerializationInfo info : infoList) { ClassMetadata<? extends T, ?> metadata = classLibrary.getMetadata(new SimpleUri(info.getName())); if (metadata != null) { idTable.put(metadata.getType(), info.getId()); for (int i = 0; i < info.getFieldIds().size(); ++i) { FieldMetadata<?, ?> field = metadata.getField(info.getFieldName(i)); if (field != null) { field.setId(info.getFieldIds().byteAt(i)); } else { logger.error("Server has unknown field '{}' on '{}'", info.getFieldName(i), info.getName()); } } } else { logger.error("Server has unknown class '{}'", info.getName()); } } return idTable; }
public void apply(UISkinBuilder builder) { super.apply(builder); if (elements != null) { for (Map.Entry<String, ElementInfo> entry : elements.entrySet()) { ClassLibrary<UIWidget> library = CoreRegistry.get(NUIManager.class).getWidgetMetadataLibrary(); ClassMetadata<? extends UIWidget, ?> metadata = library.resolve(entry.getKey(), ModuleContext.getContext()); if (metadata != null) { builder.setElementClass(metadata.getType()); entry.getValue().apply(builder); } else { logger.warn("Failed to resolve UIWidget class {}, skipping style information", entry.getKey()); } } } } }
public BlockFamilyLibrary(ModuleEnvironment moduleEnvironment, Context context) { library = new DefaultClassLibrary<>(context); for (Class<?> entry : moduleEnvironment.getTypesAnnotatedWith(RegisterBlockFamily.class)) { if (!BlockFamily.class.isAssignableFrom(entry)) { logger.error("Cannot load {}, must be a subclass of BlockFamily", entry.getSimpleName()); continue; } RegisterBlockFamily registerInfo = entry.getAnnotation(RegisterBlockFamily.class); String id = registerInfo.value(); logger.debug("Registering blockFamily {}", id); library.register(new SimpleUri(moduleEnvironment.getModuleProviding(entry), registerInfo.value()), (Class<? extends BlockFamily>) entry); } }
ClassMetadata<? extends UIWidget, ?> elementMetadata = nuiManager.getWidgetMetadataLibrary().resolve(type, ModuleContext.getContext()); if (elementMetadata == null) { logger.error("Unknown UIWidget type {}", type);
currentClass = nuiManager .getWidgetMetadataLibrary() .resolve(type, ModuleContext.getContext()) .getType(); } else { currentClass = nuiManager .getWidgetMetadataLibrary() .resolve(type, ModuleContext.getContext()) .getType(); currentClass = nuiManager .getWidgetMetadataLibrary() .resolve(type, ModuleContext.getContext()) .getType();