Skip to content
This repository was archived by the owner on Jul 18, 2023. It is now read-only.

Commit a5dc0f5

Browse files
committed
chore: pre alpha 17
makes celestial display types also provide their draw location and size
1 parent baa0d6b commit a5dc0f5

File tree

5 files changed

+14
-6
lines changed

5 files changed

+14
-6
lines changed

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ val fabric = "0.37.1+1.17"
1515
val lba = "0.9.0"
1616

1717
group = "dev.galacticraft"
18-
version ="0.4.0-prealpha.16+$mc"
18+
version ="0.4.0-prealpha.17+$mc"
1919

2020
base.archivesName.set("GalacticraftAPI")
2121

src/main/java/dev/galacticraft/api/universe/display/CelestialDisplay.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import net.minecraft.client.render.BufferBuilder;
3030
import net.minecraft.client.render.Shader;
3131
import net.minecraft.client.util.math.MatrixStack;
32+
import net.minecraft.util.math.Vector4f;
3233

3334
import java.util.function.Consumer;
3435
import java.util.function.Supplier;
@@ -37,7 +38,7 @@ public record CelestialDisplay<C extends CelestialDisplayConfig, T extends Celes
3738
public static final Codec<CelestialDisplay<?, ?>> CODEC = AddonRegistry.CELESTIAL_DISPLAY_TYPE.dispatch(CelestialDisplay::type, CelestialDisplayType::codec);
3839

3940
@Environment(EnvType.CLIENT)
40-
public void render(MatrixStack matrices, BufferBuilder buffer, int scale, double mouseX, double mouseY, float delta, Consumer<Supplier<Shader>> shaderSetter) {
41-
this.type().render(matrices, buffer, scale, mouseX, mouseY, delta, shaderSetter, this.config());
41+
public Vector4f render(MatrixStack matrices, BufferBuilder buffer, int scale, double mouseX, double mouseY, float delta, Consumer<Supplier<Shader>> shaderSetter) {
42+
return this.type().render(matrices, buffer, scale, mouseX, mouseY, delta, shaderSetter, this.config());
4243
}
4344
}

src/main/java/dev/galacticraft/api/universe/display/CelestialDisplayType.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,21 @@
2828
import net.minecraft.client.render.BufferBuilder;
2929
import net.minecraft.client.render.Shader;
3030
import net.minecraft.client.util.math.MatrixStack;
31+
import net.minecraft.util.math.Vector4f;
3132

3233
import java.util.function.Consumer;
3334
import java.util.function.Supplier;
3435

3536
public abstract class CelestialDisplayType<C extends CelestialDisplayConfig> {
3637
private final Codec<CelestialDisplay<C, CelestialDisplayType<C>>> codec;
38+
public static final Vector4f NULL_VECTOR = new Vector4f(0, 0, 0, 0);
39+
3740
public CelestialDisplayType(Codec<C> codec) {
3841
this.codec = codec.fieldOf("config").xmap((config) -> new CelestialDisplay<>(this, config), CelestialDisplay::config).codec();
3942
}
4043

4144
@Environment(EnvType.CLIENT)
42-
public abstract void render(MatrixStack matrices, BufferBuilder buffer, int size, double mouseX, double mouseY, float delta, Consumer<Supplier<Shader>> shaderSetter, C config);
45+
public abstract Vector4f render(MatrixStack matrices, BufferBuilder buffer, int size, double mouseX, double mouseY, float delta, Consumer<Supplier<Shader>> shaderSetter, C config);
4346

4447
public Codec<CelestialDisplay<C, CelestialDisplayType<C>>> codec() {
4548
return this.codec;

src/main/java/dev/galacticraft/impl/universe/display/type/EmptyCelestialDisplayType.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import net.minecraft.client.render.BufferBuilder;
2828
import net.minecraft.client.render.Shader;
2929
import net.minecraft.client.util.math.MatrixStack;
30+
import net.minecraft.util.math.Vector4f;
3031

3132
import java.util.function.Consumer;
3233
import java.util.function.Supplier;
@@ -39,6 +40,7 @@ private EmptyCelestialDisplayType() {
3940
}
4041

4142
@Override
42-
public void render(MatrixStack matrices, BufferBuilder buffer, int size, double mouseX, double mouseY, float delta, Consumer<Supplier<Shader>> shaderSetter, EmptyCelestialDisplayConfig config) {
43+
public Vector4f render(MatrixStack matrices, BufferBuilder buffer, int size, double mouseX, double mouseY, float delta, Consumer<Supplier<Shader>> shaderSetter, EmptyCelestialDisplayConfig config) {
44+
return NULL_VECTOR;
4345
}
4446
}

src/main/java/dev/galacticraft/impl/universe/display/type/IconCelestialDisplayType.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import net.minecraft.client.texture.AbstractTexture;
3333
import net.minecraft.client.util.math.MatrixStack;
3434
import net.minecraft.util.math.Matrix4f;
35+
import net.minecraft.util.math.Vector4f;
3536
import org.lwjgl.opengl.GL32C;
3637

3738
import java.util.function.Consumer;
@@ -45,7 +46,7 @@ protected IconCelestialDisplayType(Codec<IconCelestialDisplayConfig> codec) {
4546
}
4647

4748
@Override
48-
public void render(MatrixStack matrices, BufferBuilder buffer, int size, double mouseX, double mouseY, float delta, Consumer<Supplier<Shader>> shaderSetter, IconCelestialDisplayConfig config) {
49+
public Vector4f render(MatrixStack matrices, BufferBuilder buffer, int size, double mouseX, double mouseY, float delta, Consumer<Supplier<Shader>> shaderSetter, IconCelestialDisplayConfig config) {
4950
shaderSetter.accept(GameRenderer::getPositionTexShader);
5051
Matrix4f model = matrices.peek().getModel();
5152
AbstractTexture texture = MinecraftClient.getInstance().getTextureManager().getTexture(config.texture());
@@ -60,5 +61,6 @@ public void render(MatrixStack matrices, BufferBuilder buffer, int size, double
6061
buffer.vertex(model, config.scale() * size, config.scale() * -size, 0).texture((config.u() + config.width()) / width, config.v() / height).next();
6162
buffer.end();
6263
BufferRenderer.draw(buffer);
64+
return new Vector4f(config.scale() * -size, config.scale() * -size, (config.scale() * size) * 2, (config.scale() * size) * 2);
6365
}
6466
}

0 commit comments

Comments
 (0)