Skip to content

Commit

Permalink
0.6.13a
Browse files Browse the repository at this point in the history
Updated translations (#498, #499)
Updated ViveCraft support to 1.1.0
Made Model Properties into a separate gui
Added a button to convert a template project to a normal one
NeoForge 1.20.2 port
Pehkui support on 1.20.2 Fabric

Fixed tag editor crash with circular tags (Closes #497)
Fixed version check holding up all network actions on malformed version check file
Fixed networking bug on 1.20.2 (Closes #504)
Fixed CTing visible breaking in the editor
Fixed Head Yaw and Pitch animations rotating the head with Play vanilla animations off
Fixed iris and ad astra crashing (Closes #506)
Fixed Head Yaw locking to one direction with quick movements (Closes #502)
Fixed rounding in spinners failing in rare cases and showing an error popup
Fixed 1.19.3 fabric not loading (Closes #518)
Fixed 1.19.0 fabric not loading
Fixed a potential command execution vulnerability with native file choosers on Linux and malicious resource packs
Fixed gestures and layers stop working with too many layers (Closes #503)
Fixed gesture data desync after model reload (Closes #522)
Fixed social settings not showing the correct model if the other player is too far away
  • Loading branch information
tom5454 committed Nov 4, 2023
1 parent 92b18ca commit e8ad894
Show file tree
Hide file tree
Showing 191 changed files with 10,262 additions and 7,875 deletions.
14,087 changes: 7,054 additions & 7,033 deletions Blockbench/cpm_plugin.js

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions Blockbench/cpm_plugin.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion CustomPlayerModels-1.10/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false

mod_version=0.6.12a
mod_version=0.6.13a
2 changes: 1 addition & 1 deletion CustomPlayerModels-1.12/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false

mod_version=0.6.12a
mod_version=0.6.13a
2 changes: 1 addition & 1 deletion CustomPlayerModels-1.14/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false

mod_version=0.6.12a
mod_version=0.6.13a
Original file line number Diff line number Diff line change
Expand Up @@ -36,32 +36,34 @@ public Image read(File f) throws IOException {

@Override
public Image read(InputStream f) throws IOException {
NativeImage ni = NativeImage.read(f);
Image i = new Image(ni.getWidth(), ni.getHeight());
for(int y = 0;y<ni.getHeight();y++) {
for(int x = 0;x<ni.getWidth();x++) {
int rgb = ni.getPixelRGBA(x, y);
int a = (rgb >> 24 & 255);
int b = (rgb >> 16 & 255);
int g = (rgb >> 8 & 255);
int r = (rgb & 255);
i.setRGB(x, y, (a << 24) | (r << 16) | (g << 8) | b);
try (NativeImage ni = NativeImage.read(f)) {
Image i = new Image(ni.getWidth(), ni.getHeight());
for(int y = 0;y<ni.getHeight();y++) {
for(int x = 0;x<ni.getWidth();x++) {
int rgb = ni.getPixelRGBA(x, y);
int a = (rgb >> 24 & 255);
int b = (rgb >> 16 & 255);
int g = (rgb >> 8 & 255);
int r = (rgb & 255);
i.setRGB(x, y, (a << 24) | (r << 16) | (g << 8) | b);
}
}
return i;
}
return i;
}

@Override
public void write(Image img, File f) throws IOException {
createFromBufferedImage(img).writeToFile(f);
try (NativeImage i = createFromBufferedImage(img)) {
i.writeToFile(f);
}
}

@Override
public void write(Image img, OutputStream f) throws IOException {
WriteCallback wc = new WriteCallback(Channels.newChannel(f));
NativeImage ni = createFromBufferedImage(img);

try {
try (NativeImage ni = createFromBufferedImage(img)) {
if (!STBImageWrite.stbi_write_png_to_func(wc, 0L, ni.getWidth(), ni.getHeight(), ni.format().components(), MemoryUtil.memByteBuffer(ni.pixels, ni.size), 0)) {
throw new IOException("Could not write image: " + STBImage.stbi_failure_reason());
}
Expand Down
2 changes: 1 addition & 1 deletion CustomPlayerModels-1.15/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false

mod_version=0.6.12a
mod_version=0.6.13a
Original file line number Diff line number Diff line change
Expand Up @@ -31,29 +31,34 @@ public Image read(File f) throws IOException {

@Override
public Image read(InputStream f) throws IOException {
NativeImage ni = NativeImage.read(f);
Image i = new Image(ni.getWidth(), ni.getHeight());
for(int y = 0;y<ni.getHeight();y++) {
for(int x = 0;x<ni.getWidth();x++) {
int rgb = ni.getPixelRGBA(x, y);
int a = (rgb >> 24 & 255);
int b = (rgb >> 16 & 255);
int g = (rgb >> 8 & 255);
int r = (rgb & 255);
i.setRGB(x, y, (a << 24) | (r << 16) | (g << 8) | b);
try (NativeImage ni = NativeImage.read(f)) {
Image i = new Image(ni.getWidth(), ni.getHeight());
for(int y = 0;y<ni.getHeight();y++) {
for(int x = 0;x<ni.getWidth();x++) {
int rgb = ni.getPixelRGBA(x, y);
int a = (rgb >> 24 & 255);
int b = (rgb >> 16 & 255);
int g = (rgb >> 8 & 255);
int r = (rgb & 255);
i.setRGB(x, y, (a << 24) | (r << 16) | (g << 8) | b);
}
}
return i;
}
return i;
}

@Override
public void write(Image img, File f) throws IOException {
createFromBufferedImage(img).writeToFile(f);
try (NativeImage i = createFromBufferedImage(img)) {
i.writeToFile(f);
}
}

@Override
public void write(Image img, OutputStream f) throws IOException {
f.write(createFromBufferedImage(img).asByteArray());
try (NativeImage i = createFromBufferedImage(img)) {
f.write(i.asByteArray());
}
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public File open() {
if(fc.getFilter() instanceof FileFilter) {
FileFilter ff = (FileFilter) fc.getFilter();
if(ff.isFolder()) {
String sel = TinyFileDialogs.tinyfd_selectFolderDialog(fc.getTitle(), path);
String sel = TinyFileDialogs.tinyfd_selectFolderDialog(fc.getSafeTitle(), path);
if(sel == null)return null;
return new File(sel);
} else if(ff.getExt() != null) {
Expand All @@ -35,16 +35,16 @@ public File open() {
aFilterPatterns.flip();

String sel = fc.isSaveDialog() ?
TinyFileDialogs.tinyfd_saveFileDialog(fc.getTitle(), path, aFilterPatterns, fc.getDesc()) :
TinyFileDialogs.tinyfd_openFileDialog(fc.getTitle(), path, aFilterPatterns, fc.getDesc(), false);
TinyFileDialogs.tinyfd_saveFileDialog(fc.getSafeTitle(), path, aFilterPatterns, fc.getSafeDescription()) :
TinyFileDialogs.tinyfd_openFileDialog(fc.getSafeTitle(), path, aFilterPatterns, fc.getSafeDescription(), false);
if(sel == null)return null;
return new File(sel);
}
}
}
String sel = fc.isSaveDialog() ?
TinyFileDialogs.tinyfd_saveFileDialog(fc.getTitle(), path, null, fc.getDesc()) :
TinyFileDialogs.tinyfd_openFileDialog(fc.getTitle(), path, null, fc.getDesc(), false);
TinyFileDialogs.tinyfd_saveFileDialog(fc.getSafeTitle(), path, null, fc.getSafeDescription()) :
TinyFileDialogs.tinyfd_openFileDialog(fc.getSafeTitle(), path, null, fc.getSafeDescription(), false);
if(sel == null)return null;
return new File(sel);
}
Expand Down
2 changes: 1 addition & 1 deletion CustomPlayerModels-1.16/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false

mod_version=0.6.12a
mod_version=0.6.13a
Original file line number Diff line number Diff line change
Expand Up @@ -31,29 +31,34 @@ public Image read(File f) throws IOException {

@Override
public Image read(InputStream f) throws IOException {
NativeImage ni = NativeImage.read(f);
Image i = new Image(ni.getWidth(), ni.getHeight());
for(int y = 0;y<ni.getHeight();y++) {
for(int x = 0;x<ni.getWidth();x++) {
int rgb = ni.getPixelRGBA(x, y);
int a = (rgb >> 24 & 255);
int b = (rgb >> 16 & 255);
int g = (rgb >> 8 & 255);
int r = (rgb & 255);
i.setRGB(x, y, (a << 24) | (r << 16) | (g << 8) | b);
try (NativeImage ni = NativeImage.read(f)) {
Image i = new Image(ni.getWidth(), ni.getHeight());
for(int y = 0;y<ni.getHeight();y++) {
for(int x = 0;x<ni.getWidth();x++) {
int rgb = ni.getPixelRGBA(x, y);
int a = (rgb >> 24 & 255);
int b = (rgb >> 16 & 255);
int g = (rgb >> 8 & 255);
int r = (rgb & 255);
i.setRGB(x, y, (a << 24) | (r << 16) | (g << 8) | b);
}
}
return i;
}
return i;
}

@Override
public void write(Image img, File f) throws IOException {
createFromBufferedImage(img).writeToFile(f);
try (NativeImage i = createFromBufferedImage(img)) {
i.writeToFile(f);
}
}

@Override
public void write(Image img, OutputStream f) throws IOException {
f.write(createFromBufferedImage(img).asByteArray());
try (NativeImage i = createFromBufferedImage(img)) {
f.write(i.asByteArray());
}
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public File open() {
if(fc.getFilter() instanceof FileFilter) {
FileFilter ff = (FileFilter) fc.getFilter();
if(ff.isFolder()) {
String sel = TinyFileDialogs.tinyfd_selectFolderDialog(fc.getTitle(), path);
String sel = TinyFileDialogs.tinyfd_selectFolderDialog(fc.getSafeTitle(), path);
if(sel == null)return null;
return new File(sel);
} else if(ff.getExt() != null) {
Expand All @@ -35,16 +35,16 @@ public File open() {
aFilterPatterns.flip();

String sel = fc.isSaveDialog() ?
TinyFileDialogs.tinyfd_saveFileDialog(fc.getTitle(), path, aFilterPatterns, fc.getDesc()) :
TinyFileDialogs.tinyfd_openFileDialog(fc.getTitle(), path, aFilterPatterns, fc.getDesc(), false);
TinyFileDialogs.tinyfd_saveFileDialog(fc.getSafeTitle(), path, aFilterPatterns, fc.getSafeDescription()) :
TinyFileDialogs.tinyfd_openFileDialog(fc.getSafeTitle(), path, aFilterPatterns, fc.getSafeDescription(), false);
if(sel == null)return null;
return new File(sel);
}
}
}
String sel = fc.isSaveDialog() ?
TinyFileDialogs.tinyfd_saveFileDialog(fc.getTitle(), path, null, fc.getDesc()) :
TinyFileDialogs.tinyfd_openFileDialog(fc.getTitle(), path, null, fc.getDesc(), false);
TinyFileDialogs.tinyfd_saveFileDialog(fc.getSafeTitle(), path, null, fc.getSafeDescription()) :
TinyFileDialogs.tinyfd_openFileDialog(fc.getSafeTitle(), path, null, fc.getSafeDescription(), false);
if(sel == null)return null;
return new File(sel);
}
Expand Down
2 changes: 1 addition & 1 deletion CustomPlayerModels-1.17/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ dependencies {
// http://www.gradle.org/docs/current/userguide/dependency_management.html
compileOnly files("of.jar")

compileOnly fg.deobf("com.github.Virtuoel:Pehkui:3.7.0-1.17.1-forge")
compileOnly fg.deobf("com.github.Virtuoel:Pehkui:3.7.8-1.17.1-forge")
}

sourceSets {
Expand Down
2 changes: 1 addition & 1 deletion CustomPlayerModels-1.17/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false

mod_version=0.6.12a
mod_version=0.6.13a
Original file line number Diff line number Diff line change
Expand Up @@ -31,29 +31,34 @@ public Image read(File f) throws IOException {

@Override
public Image read(InputStream f) throws IOException {
NativeImage ni = NativeImage.read(f);
Image i = new Image(ni.getWidth(), ni.getHeight());
for(int y = 0;y<ni.getHeight();y++) {
for(int x = 0;x<ni.getWidth();x++) {
int rgb = ni.getPixelRGBA(x, y);
int a = (rgb >> 24 & 255);
int b = (rgb >> 16 & 255);
int g = (rgb >> 8 & 255);
int r = (rgb & 255);
i.setRGB(x, y, (a << 24) | (r << 16) | (g << 8) | b);
try (NativeImage ni = NativeImage.read(f)) {
Image i = new Image(ni.getWidth(), ni.getHeight());
for(int y = 0;y<ni.getHeight();y++) {
for(int x = 0;x<ni.getWidth();x++) {
int rgb = ni.getPixelRGBA(x, y);
int a = (rgb >> 24 & 255);
int b = (rgb >> 16 & 255);
int g = (rgb >> 8 & 255);
int r = (rgb & 255);
i.setRGB(x, y, (a << 24) | (r << 16) | (g << 8) | b);
}
}
return i;
}
return i;
}

@Override
public void write(Image img, File f) throws IOException {
createFromBufferedImage(img).writeToFile(f);
try (NativeImage i = createFromBufferedImage(img)) {
i.writeToFile(f);
}
}

@Override
public void write(Image img, OutputStream f) throws IOException {
f.write(createFromBufferedImage(img).asByteArray());
try (NativeImage i = createFromBufferedImage(img)) {
f.write(i.asByteArray());
}
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public File open() {
if(fc.getFilter() instanceof FileFilter) {
FileFilter ff = (FileFilter) fc.getFilter();
if(ff.isFolder()) {
String sel = TinyFileDialogs.tinyfd_selectFolderDialog(fc.getTitle(), path);
String sel = TinyFileDialogs.tinyfd_selectFolderDialog(fc.getSafeTitle(), path);
if(sel == null)return null;
return new File(sel);
} else if(ff.getExt() != null) {
Expand All @@ -35,16 +35,16 @@ public File open() {
aFilterPatterns.flip();

String sel = fc.isSaveDialog() ?
TinyFileDialogs.tinyfd_saveFileDialog(fc.getTitle(), path, aFilterPatterns, fc.getDesc()) :
TinyFileDialogs.tinyfd_openFileDialog(fc.getTitle(), path, aFilterPatterns, fc.getDesc(), false);
TinyFileDialogs.tinyfd_saveFileDialog(fc.getSafeTitle(), path, aFilterPatterns, fc.getSafeDescription()) :
TinyFileDialogs.tinyfd_openFileDialog(fc.getSafeTitle(), path, aFilterPatterns, fc.getSafeDescription(), false);
if(sel == null)return null;
return new File(sel);
}
}
}
String sel = fc.isSaveDialog() ?
TinyFileDialogs.tinyfd_saveFileDialog(fc.getTitle(), path, null, fc.getDesc()) :
TinyFileDialogs.tinyfd_openFileDialog(fc.getTitle(), path, null, fc.getDesc(), false);
TinyFileDialogs.tinyfd_saveFileDialog(fc.getSafeTitle(), path, null, fc.getSafeDescription()) :
TinyFileDialogs.tinyfd_openFileDialog(fc.getSafeTitle(), path, null, fc.getSafeDescription(), false);
if(sel == null)return null;
return new File(sel);
}
Expand Down
4 changes: 2 additions & 2 deletions CustomPlayerModels-1.18/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -182,8 +182,8 @@ dependencies {
// http://www.gradle.org/docs/current/userguide/dependency_management.html
compileOnly files("of.jar")

compileOnly fg.deobf("com.github.Virtuoel:Pehkui:3.7.0-1.18.2-forge")
compileOnly fg.deobf('curse.maven:vivecraft-667903:4684110')
compileOnly fg.deobf("com.github.Virtuoel:Pehkui:3.7.8-1.18.2-forge")
compileOnly fg.deobf('curse.maven:vivecraft-667903:4794416')
}

sourceSets {
Expand Down
2 changes: 1 addition & 1 deletion CustomPlayerModels-1.18/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false

mod_version=0.6.12a
mod_version=0.6.13a
Original file line number Diff line number Diff line change
Expand Up @@ -190,14 +190,15 @@ public void playerRenderPost(MultiBufferSource buffer, PlayerModel model) {
manager.unbindClear(model);
}

private boolean startedIrisHandGroup;
public void renderHand(MultiBufferSource buffer, PlayerModel model) {
manager.bindHand(minecraft.player, buffer, model);
if (irisLoaded && buffer instanceof Groupable gr)gr.startGroup();
if (irisLoaded && buffer instanceof Groupable gr)startedIrisHandGroup = gr.maybeStartGroup();
}

public void renderHandPost(MultiBufferSource buffer, HumanoidModel model) {
manager.unbindClear(model);
if (irisLoaded && buffer instanceof Groupable gr)gr.endGroup();
if (irisLoaded && buffer instanceof Groupable gr && startedIrisHandGroup)gr.endGroup();
}

public void renderSkull(Model skullModel, GameProfile profile, MultiBufferSource buffer) {
Expand Down
Loading

0 comments on commit e8ad894

Please sign in to comment.