Compare commits
1 Commits
v1.21.8-00
...
014517a96a
| Author | SHA1 | Date | |
|---|---|---|---|
| 014517a96a |
@@ -3,7 +3,6 @@ package org.walruslab.kepler;
|
|||||||
import net.fabricmc.api.ModInitializer;
|
import net.fabricmc.api.ModInitializer;
|
||||||
|
|
||||||
public class Kepler implements ModInitializer {
|
public class Kepler implements ModInitializer {
|
||||||
public static final String MOD_ID = "kepler";
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onInitialize() {
|
public void onInitialize() {
|
||||||
|
|||||||
@@ -2,17 +2,15 @@ package org.walruslab.kepler.client;
|
|||||||
|
|
||||||
import net.fabricmc.api.ClientModInitializer;
|
import net.fabricmc.api.ClientModInitializer;
|
||||||
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientEntityEvents;
|
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientEntityEvents;
|
||||||
|
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientLifecycleEvents;
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
import org.walruslab.kepler.rhythm.hud.render.RhythmHudRenderer;
|
import org.walruslab.kepler.render.TrajectoryRenderer;
|
||||||
import org.walruslab.kepler.trajectory.TrajectoryRenderer;
|
|
||||||
|
|
||||||
public class KeplerClient implements ClientModInitializer {
|
public class KeplerClient implements ClientModInitializer {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onInitializeClient() {
|
public void onInitializeClient() {
|
||||||
var renderer = new TrajectoryRenderer();
|
var renderer = new TrajectoryRenderer();
|
||||||
// var hudRenderer = new RhythmHudRenderer();
|
|
||||||
// hudRenderer.setupRenderer();
|
|
||||||
ClientEntityEvents.ENTITY_LOAD.register((entity, _a) -> {
|
ClientEntityEvents.ENTITY_LOAD.register((entity, _a) -> {
|
||||||
if (entity instanceof PlayerEntity) renderer.setupRenderLine((PlayerEntity) entity);
|
if (entity instanceof PlayerEntity) renderer.setupRenderLine((PlayerEntity) entity);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
package org.walruslab.kepler.trajectory;
|
package org.walruslab.kepler.render;
|
||||||
|
|
||||||
import net.minecraft.entity.projectile.ArrowEntity;
|
import net.minecraft.entity.projectile.ArrowEntity;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import org.walruslab.kepler.trajectory.Trajectory;
|
||||||
|
import org.walruslab.kepler.trajectory.TrajectoryHit;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package org.walruslab.kepler.trajectory;
|
package org.walruslab.kepler.render;
|
||||||
|
|
||||||
import com.mojang.blaze3d.opengl.GlStateManager;
|
import com.mojang.blaze3d.opengl.GlStateManager;
|
||||||
import com.mojang.blaze3d.vertex.VertexFormat;
|
import com.mojang.blaze3d.vertex.VertexFormat;
|
||||||
@@ -21,6 +21,7 @@ import net.minecraft.util.math.Vec3d;
|
|||||||
import net.minecraft.util.math.Vec3i;
|
import net.minecraft.util.math.Vec3i;
|
||||||
import org.joml.Vector3f;
|
import org.joml.Vector3f;
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
import org.walruslab.kepler.trajectory.TrajectoryHit;
|
||||||
import org.walruslab.kepler.trajectory.item.ShootableItemFactory;
|
import org.walruslab.kepler.trajectory.item.ShootableItemFactory;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
package org.walruslab.kepler.rhythm.hud.model;
|
|
||||||
|
|
||||||
import org.joml.Vector3f;
|
|
||||||
|
|
||||||
public record RhythmHudNote(
|
|
||||||
Vector3f color,
|
|
||||||
float angle,
|
|
||||||
float distance,
|
|
||||||
float noteStart,
|
|
||||||
float noteEnd
|
|
||||||
) {
|
|
||||||
}
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
package org.walruslab.kepler.rhythm.hud.render;
|
|
||||||
|
|
||||||
import com.mojang.blaze3d.pipeline.RenderPipeline;
|
|
||||||
import net.minecraft.client.gl.RenderPipelines;
|
|
||||||
import net.minecraft.client.gui.ScreenRect;
|
|
||||||
import net.minecraft.client.gui.render.state.SimpleGuiElementRenderState;
|
|
||||||
import net.minecraft.client.render.VertexConsumer;
|
|
||||||
import net.minecraft.client.texture.TextureSetup;
|
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
|
||||||
import org.jetbrains.annotations.Nullable;
|
|
||||||
import org.joml.Matrix3x2fStack;
|
|
||||||
import org.joml.Vector2f;
|
|
||||||
import org.joml.Vector4f;
|
|
||||||
|
|
||||||
public record GuiScreenQuad(ScreenRect scissorArea, Matrix3x2fStack pose, Vector2f v1, Vector2f v2, Vector2f v3, Vector2f v4, Vector4f color) implements SimpleGuiElementRenderState {
|
|
||||||
@Override
|
|
||||||
public void setupVertices(VertexConsumer vertices, float depth) {
|
|
||||||
vertices.vertex(pose, v1.x, v1.y, depth).color(color.x, color.y, color.z, color.w);
|
|
||||||
vertices.vertex(pose, v2.x, v2.y, depth).color(color.x, color.y, color.z, color.w);
|
|
||||||
vertices.vertex(pose, v3.x, v3.y, depth).color(color.x, color.y, color.z, color.w);
|
|
||||||
vertices.vertex(pose, v4.x, v4.y, depth).color(color.x, color.y, color.z, color.w);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public RenderPipeline pipeline() {
|
|
||||||
return RenderPipelines.GUI;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public TextureSetup textureSetup() {
|
|
||||||
return TextureSetup.empty();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public @Nullable ScreenRect bounds() {
|
|
||||||
var minX = (int) Math.min(Math.min(v1.x, v2.x), Math.min(v3.x, v4.x));
|
|
||||||
var maxX = (int) Math.max(Math.max(v1.x, v2.x), Math.max(v3.x, v4.x));
|
|
||||||
|
|
||||||
var minY = (int) Math.min(Math.min(v1.y, v2.y), Math.min(v3.y, v4.y));
|
|
||||||
var maxY = (int) Math.max(Math.max(v1.y, v2.y), Math.max(v3.y, v4.y));
|
|
||||||
|
|
||||||
return new ScreenRect(minX, minY, maxX - minX, maxY - minY);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,61 +0,0 @@
|
|||||||
package org.walruslab.kepler.rhythm.hud.render;
|
|
||||||
|
|
||||||
import com.mojang.blaze3d.pipeline.RenderPipeline;
|
|
||||||
import net.fabricmc.fabric.api.client.rendering.v1.hud.HudElementRegistry;
|
|
||||||
import net.minecraft.client.gl.RenderPipelines;
|
|
||||||
import net.minecraft.client.gui.DrawContext;
|
|
||||||
import net.minecraft.client.gui.ScreenRect;
|
|
||||||
import net.minecraft.client.gui.render.state.SimpleGuiElementRenderState;
|
|
||||||
import net.minecraft.client.render.*;
|
|
||||||
import net.minecraft.client.texture.TextureSetup;
|
|
||||||
import net.minecraft.util.Identifier;
|
|
||||||
import org.jetbrains.annotations.Nullable;
|
|
||||||
import org.walruslab.kepler.Kepler;
|
|
||||||
import org.walruslab.kepler.rhythm.hud.model.RhythmHudNote;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class RhythmHudRenderer {
|
|
||||||
public void setupRenderer() {
|
|
||||||
HudElementRegistry.addLast(Identifier.of(Kepler.MOD_ID, "minco_hud"), this::handleRenderCallback);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void handleRenderCallback(DrawContext drawContext, RenderTickCounter tickCounter) {
|
|
||||||
System.out.println("asdf");
|
|
||||||
var mats = drawContext.getMatrices();
|
|
||||||
|
|
||||||
drawContext.state.addSimpleElement(new SimpleGuiElementRenderState() {
|
|
||||||
@Override
|
|
||||||
public @Nullable ScreenRect bounds() {
|
|
||||||
return new ScreenRect(10, 10, 50, 60);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setupVertices(VertexConsumer vertices, float depth) {
|
|
||||||
vertices.vertex(mats, 20.0f, 10.0f, depth).color(1.0f, 1.0f, 1.0f, 0.5f);
|
|
||||||
vertices.vertex(mats, 10.0f, 20.0f, depth).color(1.0f, 1.0f, 1.0f, 0.5f);
|
|
||||||
vertices.vertex(mats, 20.0f, 30.0f, depth).color(1.0f, 1.0f, 1.0f, 0.5f);
|
|
||||||
vertices.vertex(mats, 30.0f, 20.0f, depth).color(1.0f, 1.0f, 1.0f, 0.5f);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public RenderPipeline pipeline() {
|
|
||||||
return RenderPipelines.GUI;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public TextureSetup textureSetup() {
|
|
||||||
return TextureSetup.empty();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public @Nullable ScreenRect scissorArea() {
|
|
||||||
return drawContext.scissorStack.peekLast();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public void renderHud(List<RhythmHudNote> state) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user