@Override public Set<Name> getModulesProviding(Name resourceName) { if (TextureUtil.NOISE_RESOURCE_NAME.equals(resourceName)) { return ImmutableSet.of(TerasologyConstants.ENGINE_MODULE); } return Collections.emptySet(); }
@Override public Set<Name> getModulesProviding(Name resourceName) { if (TextureUtil.COLOR_RESOURCE_NAME.equals(resourceName)) { return ImmutableSet.of(TerasologyConstants.ENGINE_MODULE); } return Collections.emptySet(); }
private String getRemoteSize(final Module module) { return moduleManager.getInstallManager().getRemoteRegistry().stream() .filter(m -> m.getId().equals(module.getId())) .findFirst() .map(Module::getMetadata) .map(RemoteModuleExtension::getArtifactSize) .map(m -> m + " bytes") .orElse(""); }
private String getLastUpdateDate(final Module module) { return moduleManager.getInstallManager().getRemoteRegistry().stream() .filter(m -> m.getId().equals(module.getId())) .findFirst() .map(Module::getMetadata) .map(RemoteModuleExtension::getLastUpdated) .map(dateFormat::format) .orElse(""); }
private String getOnlineVersion(final DependencyInfo dependencyInfo) { return moduleManager.getInstallManager().getRemoteRegistry().stream() .filter(module -> module.getId().equals(dependencyInfo.getId())) .findFirst() .map(Module::getVersion) .map(String::valueOf) .orElse(""); }
@Override public Set<Name> getModulesProviding(Name resourceName) { if (ICON_DISCRIMINATOR.equals(resourceName)) { return ImmutableSet.copyOf(Collections2.transform(assetManager.resolve(resourceName.toString(), TextureRegionAsset.class), new Function<ResourceUrn, Name>() { @Nullable @Override public Name apply(ResourceUrn input) { return input.getModuleName(); } })); } return Collections.emptySet(); }
@Override public Optional<TextureData> getAssetData(ResourceUrn urn) throws IOException { if (TerasologyConstants.ENGINE_MODULE.equals(urn.getModuleName()) && TextureUtil.NOISE_RESOURCE_NAME.equals(urn.getResourceName())) { Name fragmentName = urn.getFragmentName(); if (!fragmentName.isEmpty()) { String[] parts = fragmentName.toLowerCase().split("\\."); if (parts.length == 5) { String type = parts[0]; int size = Integer.parseInt(parts[1]); long seed = Long.parseLong(parts[2]); int min = Integer.parseInt(parts[3]); int max = Integer.parseInt(parts[4]); TextureData textureData; switch (type) { case "white": return Optional.of(TextureDataFactory.createWhiteNoiseTexture(size, seed, min, max)); } } } } return Optional.empty(); } }
@Override public Optional<TextureData> getAssetData(ResourceUrn urn) throws IOException { if (TerasologyConstants.ENGINE_MODULE.equals(urn.getModuleName()) && TextureUtil.COLOR_RESOURCE_NAME.equals(urn.getResourceName())) { Name fragmentName = urn.getFragmentName(); if (!fragmentName.isEmpty()) { Color color = TextureUtil.getColorForColorName(fragmentName.toLowerCase()); return Optional.of(TextureDataFactory.newInstance(color)); } } return Optional.empty(); } }
private Set<Module> processResolutionResult(ResolutionResult resolutionResult) throws DependencyResolutionFailedException { if (!resolutionResult.isSuccess()) { throw new DependencyResolutionFailedException("Module dependency resolution failed."); } return resolutionResult.getModules().stream() .filter(module -> !module.getId().equals(TerasologyConstants.ENGINE_MODULE)) .filter(module -> isOnlineVersionNewer(localRegistry.getLatestModuleVersion(module.getId()), module)) .collect(Collectors.toSet()); }
private void openModuleDetailsScreen() { final ModuleDetailsScreen moduleDetailsScreen = getManager().createScreen(ModuleDetailsScreen.ASSET_URI, ModuleDetailsScreen.class); final Collection<Module> modules = gameModules.getList().stream() .map(ModuleSelectionInfo::getModule) .filter(Objects::nonNull) .collect(Collectors.toSet()); moduleDetailsScreen.setModules(modules); moduleDetailsScreen.setSelectedModule( modules.stream() .filter(module -> module.getId().equals(moduleInfoBinding.get().getModule().getId())) .findFirst() .orElse(null) ); getManager().pushScreen(moduleDetailsScreen); }
@Override public Optional<MaterialData> getAssetData(ResourceUrn urn) throws IOException { if (RESOURCE_NAME.equals(urn.getResourceName()) && !urn.getFragmentName().isEmpty()) { Optional<? extends Shader> fontShader = assetManager.getAsset(FONT_SHADER_URN, Shader.class); if (!fontShader.isPresent()) { logger.error("Unable to resolve font shader"); return Optional.empty(); } Optional<Texture> texture = assetManager.getAsset(new ResourceUrn(urn.getModuleName(), urn.getFragmentName()), Texture.class); if (texture.isPresent()) { MaterialData materialData = new MaterialData(fontShader.get()); materialData.setParam("texture", texture.get()); return Optional.of(materialData); } } return Optional.empty(); } }
@Override public Optional<MeshData> getAssetData(ResourceUrn urn) throws IOException { if (ICON_DISCRIMINATOR.equals(urn.getResourceName())) { ResourceUrn textureUrn = new ResourceUrn(urn.getModuleName().toString() + ResourceUrn.RESOURCE_SEPARATOR + urn.getFragmentName().toString()); Optional<TextureRegionAsset> textureRegionAsset = assetManager.getAsset(textureUrn, TextureRegionAsset.class); if (textureRegionAsset.isPresent() && !textureRegionAsset.get().getTexture().isDisposed()) { return Optional.of(IconMeshFactory.generateIconMeshData(textureRegionAsset.get())); } } return Optional.empty(); }
public void save(BehaviorTree tree) { Path savePath; ResourceUrn uri = tree.getUrn(); if (BEHAVIORS.equals(uri.getModuleName())) { savePath = PathManager.getInstance().getHomeModPath().resolve(BEHAVIORS.toString()).resolve("assets").resolve("behaviors"); } else { Path overridesPath = PathManager.getInstance().getHomeModPath().resolve(BEHAVIORS.toString()).resolve("overrides"); savePath = overridesPath.resolve(uri.getModuleName().toString()).resolve("behaviors"); } BehaviorTreeFormat loader = new BehaviorTreeFormat(); try { Files.createDirectories(savePath); Path file = savePath.resolve(uri.getResourceName() + ".behavior"); try (FileOutputStream fos = new FileOutputStream(file.toFile())) { loader.save(fos, tree.getData()); } } catch (IOException e) { throw new RuntimeException("Cannot save asset " + uri + " to " + savePath, e); } }
private void setUpDependencies() { dependencies.setList(Collections.emptyList()); dependencies.setItemRenderer(new AbstractItemRenderer<DependencyInfo>() { private String getString(DependencyInfo value) { if (value != null) { return value.getId().toString(); } return ""; } @Override public void draw(DependencyInfo value, Canvas canvas) { canvas.drawText(getString(value), canvas.getRegion()); } @Override public Vector2i getPreferredSize(DependencyInfo value, Canvas canvas) { String text = getString(value); return new Vector2i( canvas.getCurrentStyle().getFont().getWidth(text), canvas.getCurrentStyle().getFont().getLineHeight()); } }); dependencies.subscribe(((widget, item) -> { if (item != null) { modules.getList().stream() .filter(m -> item.getId().equals(m.getId())) .findFirst() .ifPresent(m -> modules.setSelection(m)); } })); }
while (iterator.hasNext()) { ClassMetadata<? extends T, ?> metadata = iterator.next(); if (context.getId().equals(metadata.getUri().getModuleName())) { return metadata;
private boolean isSelectedGameplayModule(ModuleSelectionInfo target) { return target.getMetadata().getId() .equals(new Name(config.getDefaultModSelection().getDefaultGameplayModuleName())); }
try (ModuleEnvironment tempEnvironment = moduleManager.loadEnvironment(resolutionResult.getModules(), false)) { for (Class<?> generatorClass : tempEnvironment.getTypesAnnotatedWith(RegisterWorldGenerator.class)) { if (tempEnvironment.getModuleProviding(generatorClass).equals(module.getId())) { RegisterWorldGenerator annotation = generatorClass.getAnnotation(RegisterWorldGenerator.class); if (isValidWorldGenerator(generatorClass)) {
.filter(module -> module.getId().equals(moduleInfoBinding.get().getId())) .findFirst() .orElse(null)