use of net.minecraft.resource.Resource in project MiniMap by pl3xgaming.
the class Texture method initialize.
public static void initialize() {
REGISTERED_TEXTURES.forEach(texture -> {
try {
Resource resource = texture.resource();
if (resource.hasMetadata()) {
texture.meta = texture.load(resource);
} else {
texture.meta = new AnimationMetadata();
}
MiniMap.LOG.info("Loaded texture " + texture.identifier);
} catch (IOException e) {
e.printStackTrace();
}
});
}
use of net.minecraft.resource.Resource in project fabricskyboxes by AMereBagatelle.
the class SkyboxResourceListener method reload.
@Override
public void reload(ResourceManager manager) {
SkyboxManager skyboxManager = SkyboxManager.getInstance();
// clear registered skyboxes on reload
skyboxManager.clearSkyboxes();
// load new skyboxes
Collection<Identifier> resources = manager.findResources("sky", (string) -> string.endsWith(".json"));
for (Identifier id : resources) {
Resource resource;
try {
resource = manager.getResource(id);
try {
JsonObject json = GSON.fromJson(new InputStreamReader(resource.getInputStream()), JsonObject.class);
objectWrapper.setFocusedObject(json);
AbstractSkybox skybox = this.parseSkyboxJson(id);
if (skybox != null) {
skyboxManager.addSkybox(skybox);
}
} finally {
try {
resource.close();
} catch (IOException e) {
FabricSkyBoxesClient.getLogger().error("Error closing resource " + id.toString());
e.printStackTrace();
}
}
} catch (IOException e) {
FabricSkyBoxesClient.getLogger().error("Error reading skybox " + id.toString());
e.printStackTrace();
}
}
}
use of net.minecraft.resource.Resource in project CITResewn by SHsuperCM.
the class ModelLoaderMixin method forceLiteralResewnModelIdentifier.
@Inject(method = "loadModelFromJson", cancellable = true, at = @At("HEAD"))
public void forceLiteralResewnModelIdentifier(Identifier id, CallbackInfoReturnable<JsonUnbakedModel> cir) {
if (id instanceof ResewnItemModelIdentifier) {
InputStream is = null;
Resource resource = null;
try {
JsonUnbakedModel json = JsonUnbakedModel.deserialize(IOUtils.toString(is = (resource = resourceManager.getResource(id)).getInputStream(), StandardCharsets.UTF_8));
json.id = id.toString();
json.id = json.id.substring(0, json.id.length() - 5);
((JsonUnbakedModelAccessor) json).getTextureMap().replaceAll((layer, original) -> {
Optional<SpriteIdentifier> left = original.left();
if (left.isPresent()) {
String originalPath = left.get().getTextureId().getPath();
String[] split = originalPath.split("/");
if (originalPath.startsWith("./") || (split.length > 2 && split[1].equals("cit"))) {
Identifier resolvedIdentifier = CIT.resolvePath(id, originalPath, ".png", identifier -> resourceManager.containsResource(identifier));
if (resolvedIdentifier != null)
return Either.left(new SpriteIdentifier(left.get().getAtlasId(), new ResewnTextureIdentifier(resolvedIdentifier)));
}
}
return original;
});
Identifier parentId = ((JsonUnbakedModelAccessor) json).getParentId();
if (parentId != null) {
String[] parentIdPathSplit = parentId.getPath().split("/");
if (parentId.getPath().startsWith("./") || (parentIdPathSplit.length > 2 && parentIdPathSplit[1].equals("cit"))) {
parentId = CIT.resolvePath(id, parentId.getPath(), ".json", identifier -> resourceManager.containsResource(identifier));
if (parentId != null)
((JsonUnbakedModelAccessor) json).setParentId(new ResewnItemModelIdentifier(parentId));
}
}
json.getOverrides().replaceAll(override -> {
String[] modelIdPathSplit = override.getModelId().getPath().split("/");
if (override.getModelId().getPath().startsWith("./") || (modelIdPathSplit.length > 2 && modelIdPathSplit[1].equals("cit"))) {
Identifier resolvedOverridePath = CIT.resolvePath(id, override.getModelId().getPath(), ".json", identifier -> resourceManager.containsResource(identifier));
if (resolvedOverridePath != null)
return new ModelOverride(new ResewnItemModelIdentifier(resolvedOverridePath), override.streamConditions().collect(Collectors.toList()));
}
return override;
});
cir.setReturnValue(json);
} catch (Exception ignored) {
} finally {
IOUtils.closeQuietly(is, resource);
}
}
}
use of net.minecraft.resource.Resource in project MiniMap by pl3xgaming.
the class Cursor method initialize.
public static void initialize() {
REGISTERED_CURSORS.forEach(cursor -> {
try {
Resource resource = cursor.resource();
if (resource.hasMetadata()) {
cursor.meta = cursor.load(resource);
} else {
cursor.meta = new CursorMetadata();
}
cursor.texture.meta = new AnimationMetadata(cursor.meta.width(), cursor.meta.height(), cursor.meta.frames(), cursor.meta.frametime());
MiniMap.LOG.info("Loaded mouse cursor " + cursor.identifier);
} catch (IOException e) {
e.printStackTrace();
}
});
}
use of net.minecraft.resource.Resource in project tweed-api by Siphalor.
the class ConfigLoader method loadConfigs.
/**
* Reloads all matching {@link ConfigFile}s.
* @param resourceManager the current {@link ResourceManager}
* @param environment the current environment
* @param scope the definition scope
*/
public static void loadConfigs(ResourceManager resourceManager, ConfigEnvironment environment, ConfigScope scope) {
Collection<ConfigFile> configFiles = TweedRegistry.getConfigFiles();
for (ConfigFile configFile : configFiles) {
configFile.reset(environment, scope);
configFile.load(readMainConfigFile(configFile), environment, scope, ConfigOrigin.MAIN);
updateMainConfigFile(configFile, environment, scope);
try {
List<Resource> resources = resourceManager.getAllResources(configFile.getFileIdentifier());
for (Resource resource : resources) {
configFile.load(resource, environment, scope, ConfigOrigin.DATAPACK);
}
} catch (Exception ignored) {
}
configFile.finishReload(environment, scope);
if (ConfigEnvironment.SERVER.contains(environment)) {
configFile.syncToClients(ConfigEnvironment.SYNCED, scope, ConfigOrigin.DATAPACK);
}
}
}
Aggregations