Skip to content
This repository was archived by the owner on Mar 22, 2026. It is now read-only.

Commit 0e1142d

Browse files
committed
Merge branch 'master' into physics
# Conflicts: # BUILD.bazel # MODULE.bazel # README.md # blazerod/render/src/main/kotlin/top/fifthlight/blazerod/model/ModelInstance.kt # maven_install.json
2 parents 94ffba9 + 44fc0e9 commit 0e1142d

File tree

152 files changed

+5920
-1319
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

152 files changed

+5920
-1319
lines changed

.github/workflows/build.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ jobs:
2929
@//blazerod/model/model-pmd \
3030
@//blazerod/model/model-pmx \
3131
@//blazerod/model/model-vmd \
32+
@//blazerod/model/model-assimp:model-assimp-merged \
3233
@//blazerod/example/ball_block
3334
- name: test
3435
run: |
@@ -50,4 +51,5 @@ jobs:
5051
bazel-bin/blazerod/model/model-pmd/model-pmd.jar
5152
bazel-bin/blazerod/model/model-pmx/model-pmx.jar
5253
bazel-bin/blazerod/model/model-vmd/model-vmd.jar
54+
bazel-bin/blazerod/model/model-assimp/model-assimp-merged.jar
5355
bazel-bin/blazerod/example/ball_block/ball_block.jar

BUILD.bazel

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ load("@rules_kotlin//kotlin:jvm.bzl", "kt_jvm_library")
33
load("@//rule:extract_update_log.bzl", "extract_update_log")
44
load("//:properties.bzl", "mod_version")
55
load("@rules_java//java:defs.bzl", "java_plugin")
6+
load("@rules_java//java:defs.bzl", "java_library")
67

78
kt_compiler_plugin(
89
name = "serialization_plugin",
@@ -142,3 +143,15 @@ platform(
142143
"@platforms//cpu:aarch64",
143144
]
144145
)
146+
147+
alias(
148+
name = "license",
149+
visibility = ["//visibility:public"],
150+
actual = "LICENSE",
151+
)
152+
153+
java_library(
154+
name = "license_jar",
155+
visibility = ["//visibility:public"],
156+
resources = [":license"],
157+
)

MODULE.bazel

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ git_override(
2525
commit = "22b643d23414379b760fced29f36e766dde5fd2a",
2626
patch_strip = 1,
2727
patches = [
28-
"@//external/rules_jni/patches:armv7-cpu.patch",
28+
"@//third_party/rules_jni/patches:armv7-cpu.patch",
2929
],
3030
)
3131

@@ -80,6 +80,18 @@ maven.install(
8080
"io.github.douira:glsl-transformer:2.0.1",
8181
"org.anarres:jcpp:1.4.14",
8282
"com.illposed.osc:javaosc-core:0.9",
83+
"org.lwjgl:lwjgl:3.3.3",
84+
"org.lwjgl:lwjgl-assimp:3.3.3",
85+
"org.lwjgl:lwjgl-assimp:jar:natives-windows:3.3.3",
86+
"org.lwjgl:lwjgl-assimp:jar:natives-windows-x86:3.3.3",
87+
"org.lwjgl:lwjgl-assimp:jar:natives-windows-arm64:3.3.3",
88+
"org.lwjgl:lwjgl-assimp:jar:natives-linux-arm32:3.3.3",
89+
"org.lwjgl:lwjgl-assimp:jar:natives-linux-arm64:3.3.3",
90+
"org.lwjgl:lwjgl-assimp:jar:natives-linux:3.3.3",
91+
"org.lwjgl:lwjgl-assimp:jar:natives-macos:3.3.3",
92+
"org.lwjgl:lwjgl-assimp:jar:natives-macos-arm64:3.3.3",
93+
"team.unnamed:mocha:3.0.0",
94+
"org.javassist:javassist:3.30.2-GA",
8395

8496
# test dependencies
8597
"org.jetbrains.kotlin:kotlin-test-junit5:2.1.10",
@@ -106,14 +118,14 @@ git_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:git.bzl", "g
106118
git_repository(
107119
name = "libbulletjme",
108120
commit = "ea117c17501001bd96db05e0fc479420efb3d79e",
109-
build_file = "@//external/libbulletjme:BUILD.libbulletjme.bazel",
121+
build_file = "@//third_party/libbulletjme:BUILD.libbulletjme.bazel",
110122
remote = "https://github.com/stephengold/Libbulletjme.git",
111123
patch_strip = 1,
112124
patches = [
113-
"@//external/libbulletjme/patches:vhacd-mutex.patch",
114-
"@//external/libbulletjme/patches:winsock2-case.patch",
115-
"@//external/libbulletjme/patches:remove-collision-group-one-bit-assert.patch",
116-
"@//external/libbulletjme/patches:add-ground-object.patch",
125+
"@//third_party/libbulletjme/patches:vhacd-mutex.patch",
126+
"@//third_party/libbulletjme/patches:winsock2-case.patch",
127+
"@//third_party/libbulletjme/patches:remove-collision-group-one-bit-assert.patch",
128+
"@//third_party/libbulletjme/patches:add-ground-object.patch",
117129
],
118130
)
119131

@@ -130,7 +142,14 @@ http_jar(
130142
sha256 = "0e6bd470311cc938b992e9065e0f94a3f603b68b5dfcde25102c64b8733b69bd",
131143
downloaded_file_name = "iris.jar",
132144
)
133-
145+
http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
146+
# Download YSM for its bundled model
147+
http_archive(
148+
name = "yes_steve_model",
149+
url = "https://cdn.modrinth.com/data/86xjpqqS/versions/1cHRrrpZ/yesstevemodel-fabric-1.21.1-2.4.1-release.jar",
150+
sha256 = "ec51cfae84d219a45fac5098a31bfe980bcb7c2d8b413e8fffbd05a411a85680",
151+
build_file = "@//third_party/ysm:BUILD.ysm.bazel",
152+
)
134153
http_file = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file")
135154
http_file(
136155
name = "makeup_ultra_fast",

blazerod/BUILD.bazel

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ kt_jvm_library(
3131
resource_strip_prefix = "blazerod/src/main/resources",
3232
resource_jars = [
3333
":fabric_mod_json",
34+
"//:license_jar"
3435
],
3536
exports = [
3637
"//blazerod/model/model-formats",
@@ -49,6 +50,7 @@ merge_jij(
4950
"//blazerod/model/model-pmd": "blazerod-model-formats-pmd:=",
5051
"//blazerod/model/model-pmx": "blazerod-model-formats-pmx:=",
5152
"//blazerod/model/model-vmd": "blazerod-model-formats-vmd:=",
53+
"//blazerod/model/model-bedrock": "blazerod-model-formats-bedrock:=",
5254
"//blazerod/render": "blazerod-render:=",
5355
"@libbulletjme//:libbulletjme": "libbulletjme_blazerod:22.0.1+patch1",
5456
"@libbulletjme//:libbulletjme_natives": "libbulletjme_natives_blazerod:22.0.1+patch1",

blazerod/example/ball_block/src/main/java/top/fifthlight/blazerod/example/ballblock/BallBlockEntityRenderer.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import net.minecraft.client.render.block.entity.BlockEntityRendererFactory;
88
import net.minecraft.client.util.math.MatrixStack;
99
import net.minecraft.util.math.Vec3d;
10-
import org.joml.Matrix4f;
1110

1211
import java.util.Objects;
1312

@@ -16,16 +15,12 @@ public class BallBlockEntityRenderer implements BlockEntityRenderer<BallBlockEnt
1615
public BallBlockEntityRenderer(BlockEntityRendererFactory.Context context) {
1716
}
1817

19-
private final Matrix4f matrix = new Matrix4f();
20-
2118
@Override
2219
public void render(BallBlockEntity entity, float tickProgress, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, int overlay, Vec3d cameraPos) {
2320
var instance = BallBlockMod.getBallInstance();
2421
if (instance == null) {
2522
return;
2623
}
27-
matrix.set(matrices.peek().getPositionMatrix());
28-
matrix.mulLocal(RenderSystem.getModelViewStack());
2924
var client = MinecraftClient.getInstance();
3025
var frameBuffer = client.getFramebuffer();
3126
var colorFrameBuffer = RenderSystem.outputColorTextureOverride != null
@@ -35,6 +30,6 @@ public void render(BallBlockEntity entity, float tickProgress, MatrixStack matri
3530
? (RenderSystem.outputDepthTextureOverride != null ? RenderSystem.outputDepthTextureOverride : frameBuffer.getDepthAttachmentView())
3631
: null;
3732
var renderer = BallBlockMod.getRenderer();
38-
renderer.render(Objects.requireNonNull(colorFrameBuffer), depthFrameBuffer, instance.createRenderTask(matrix, light), instance.getScene());
33+
renderer.render(Objects.requireNonNull(colorFrameBuffer), depthFrameBuffer, instance.createRenderTask(matrices.peek().getPositionMatrix(), light), instance.getScene());
3934
}
4035
}

blazerod/example/ball_block/src/main/java/top/fifthlight/blazerod/example/ballblock/BallBlockMod.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ public static ModelInstance getBallInstance() {
8686
@Override
8787
public void onInitializeClient() {
8888
ModBlocks.initialize();
89+
ModelFileLoaders.initialize();
8990
BlockEntityRendererFactories.register(ModBlockEntities.BALL_BLOCK_ENTITY, BallBlockEntityRenderer::new);
9091
ClientLifecycleEvents.CLIENT_STARTED.register(client -> loadModel());
9192
ClientLifecycleEvents.CLIENT_STOPPING.register(client -> {
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
load("@rules_kotlin//kotlin:jvm.bzl", "kt_jvm_library")
2+
load("//:properties.bzl", "blazerod_version")
3+
load("//rule:fabric_mod_json_jar.bzl", "fabric_mod_json_jar")
4+
load("//rule:merge_jij.bzl", "merge_jij")
5+
6+
fabric_mod_json_jar(
7+
name = "fabric_mod_json",
8+
src = "src/main/resources/fabric.mod.json",
9+
resource_strip_prefix = "blazerod/model/model-assimp",
10+
substitutions = {
11+
"${version}": blazerod_version,
12+
},
13+
)
14+
15+
kt_jvm_library(
16+
name = "model-assimp",
17+
srcs = glob(["src/main/kotlin/**/*.kt"]),
18+
resource_jars = [
19+
":fabric_mod_json",
20+
"//blazerod:icon",
21+
],
22+
resources = glob(
23+
include = ["src/main/resources/**"],
24+
exclude = ["src/main/resources/fabric.mod.json"],
25+
),
26+
visibility = ["//visibility:public"],
27+
deps = [
28+
"//blazerod/model/model-base",
29+
"@maven//:org_lwjgl_lwjgl",
30+
"@maven//:org_lwjgl_lwjgl_assimp",
31+
],
32+
runtime_deps = [
33+
"@maven//:org_slf4j_slf4j_api",
34+
"@maven//:org_lwjgl_lwjgl_assimp_natives_windows",
35+
"@maven//:org_lwjgl_lwjgl_assimp_natives_windows_x86",
36+
"@maven//:org_lwjgl_lwjgl_assimp_natives_windows_arm64",
37+
"@maven//:org_lwjgl_lwjgl_assimp_natives_linux_arm32",
38+
"@maven//:org_lwjgl_lwjgl_assimp_natives_linux_arm64",
39+
"@maven//:org_lwjgl_lwjgl_assimp_natives_linux",
40+
"@maven//:org_lwjgl_lwjgl_assimp_natives_macos",
41+
"@maven//:org_lwjgl_lwjgl_assimp_natives_macos_arm64",
42+
],
43+
)
44+
45+
46+
merge_jij(
47+
name = "model-assimp-merged",
48+
input = ":model-assimp",
49+
visibility = ["//visibility:public"],
50+
deps = {
51+
"@maven//:org_lwjgl_lwjgl_assimp": "org_lwjgl_lwjgl_assimp:3.3.3",
52+
"@maven//:org_lwjgl_lwjgl_assimp_natives_windows": "org_lwjgl_lwjgl_assimp_natives_windows:3.3.3",
53+
"@maven//:org_lwjgl_lwjgl_assimp_natives_windows_x86": "org_lwjgl_lwjgl_assimp_natives_windows_x86:3.3.3",
54+
"@maven//:org_lwjgl_lwjgl_assimp_natives_windows_arm64": "org_lwjgl_lwjgl_assimp_natives_windows_arm64:3.3.3",
55+
"@maven//:org_lwjgl_lwjgl_assimp_natives_linux_arm32": "org_lwjgl_lwjgl_assimp_natives_linux_arm32:3.3.3",
56+
"@maven//:org_lwjgl_lwjgl_assimp_natives_linux_arm64": "org_lwjgl_lwjgl_assimp_natives_linux_arm64:3.3.3",
57+
"@maven//:org_lwjgl_lwjgl_assimp_natives_linux": "org_lwjgl_lwjgl_assimp_natives_linux:3.3.3",
58+
"@maven//:org_lwjgl_lwjgl_assimp_natives_macos": "org_lwjgl_lwjgl_assimp_natives_macos:3.3.3",
59+
"@maven//:org_lwjgl_lwjgl_assimp_natives_macos_arm64": "org_lwjgl_lwjgl_assimp_natives_macos_arm64:3.3.3",
60+
},
61+
)

0 commit comments

Comments
 (0)