Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: haykam821/Mod-Viewer
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: AnotherMC/Mod-Viewer
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Can’t automatically merge. Don’t worry, you can still create the pull request.
  • 1 commit
  • 3 files changed
  • 1 contributor

Commits on Aug 3, 2022

  1. Copy the full SHA
    b606bb0 View commit details
Showing with 47 additions and 15 deletions.
  1. +6 −6 gradle.properties
  2. +19 −9 src/main/java/io/github/haykam821/modviewer/MicroIconRenderer.java
  3. +22 −0 src/main/resources/data/modviewer/lang/pl_pl.json
12 changes: 6 additions & 6 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -5,11 +5,11 @@ mod_version = 1.0.0
org.gradle.jvmargs = -Xmx1G

# Versions
minecraft_version = 1.19
yarn_mappings = 1.19+build.1
loader_version = 0.14.7
fabric_version = 0.55.3+1.19
minecraft_version = 1.19.1
yarn_mappings = 1.19.1+build.1
loader_version = 0.14.8
fabric_version = 0.58.5+1.19.1

sgui_version = 1.1.0+1.19
server_translations_api_version = 1.4.14+1.19-rc2
sgui_version = 1.1.3+1.19.1
server_translations_api_version = 1.4.16+1.19
permissions_api_version = 0.1-SNAPSHOT
28 changes: 19 additions & 9 deletions src/main/java/io/github/haykam821/modviewer/MicroIconRenderer.java
Original file line number Diff line number Diff line change
@@ -5,6 +5,7 @@
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
@@ -18,9 +19,10 @@
import net.minecraft.text.Text;
import net.minecraft.text.TextColor;
import net.minecraft.util.Formatting;
import net.minecraft.util.math.MathHelper;

public final class MicroIconRenderer {
private static final int MAX_ICON_SIZE = 24;
private static final int MAX_ICON_SIZE = 32;

private static final String PIXEL_STRING = "█";
private static final String TRANSPARENCY_STRING = "▒";
@@ -49,16 +51,24 @@ private static Text[] renderIcon(ModContainer mod) {

Int2ObjectMap<Text> pixels = new Int2ObjectOpenHashMap<>();

MutableText[] rendered = new MutableText[image.getHeight()];
for (int y = 0; y < image.getHeight(); y += 1) {
rendered[y] = Text.empty();
for (int x = 0; x < image.getWidth(); x += 1) {
var stepSize = MathHelper.ceil(image.getWidth() / 32d);
var width = image.getWidth();
var height = image.getHeight();


var rendered = new ArrayList<MutableText>();


for (int y = 0; y < height; y += stepSize) {
var text = Text.empty();
for (int x = 0; x < width; x += stepSize) {
int argba = image.getRGB(x, y);
rendered[y].append(pixels.computeIfAbsent(argba, MicroIconRenderer::getPixel));
text.append(pixels.computeIfAbsent(argba, MicroIconRenderer::getPixel));
}
rendered.add(text);
}

return rendered;
return rendered.toArray(new MutableText[0]);
}
} catch (IOException exception) {
ModViewer.LOGGER.warn("Failed to render icon for mod {}", mod.getMetadata().getId(), exception);
@@ -69,11 +79,11 @@ private static Text[] renderIcon(ModContainer mod) {
private static boolean isInvalidSize(BufferedImage image) {
int width = image.getWidth();
if (width <= 0) return true;
if (width > MAX_ICON_SIZE) return true;
//if (width > MAX_ICON_SIZE) return true;

int height = image.getHeight();
if (height <= 0) return true;
if (height > MAX_ICON_SIZE) return true;
//if (height > MAX_ICON_SIZE) return true;

return false;
}
22 changes: 22 additions & 0 deletions src/main/resources/data/modviewer/lang/pl_pl.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"text.modviewer.ui.grid.mod.environment": "Środowisko: %s",
"text.modviewer.ui.grid.mod.environment.client": "Llient",
"text.modviewer.ui.grid.mod.environment.server": "Serwer",
"text.modviewer.ui.grid.mod.environment.universal": "Uniwersalne",
"text.modviewer.ui.grid.mod.id": "Mod ID: %s",
"text.modviewer.ui.grid.mod.license": "Licencja: %s",
"text.modviewer.ui.grid.mod.version": "Wersja: %s",
"text.modviewer.ui.title": "Mod Viewer (%d modów)",
"text.modviewer.ui.toolbar.toggle_libraries": "Widoczność bibliotek",
"text.modviewer.ui.toolbar.toggle_libraries.hiding": "Schowane",
"text.modviewer.ui.toolbar.toggle_libraries.showing": "Pokazane",
"text.modviewer.ui.view.authors": "Autorzy",
"text.modviewer.ui.view.breaks": "Psuje",
"text.modviewer.ui.view.conflicts": "Konflikt",
"text.modviewer.ui.view.depends": "Zależy",
"text.modviewer.ui.view.description": "Opis",
"text.modviewer.ui.view.error": "Błąd",
"text.modviewer.ui.view.icon": "Ikona",
"text.modviewer.ui.view.recommends": "Poleca",
"text.modviewer.ui.view.suggests": "Sugeruje"
}