aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/kotlin/com/dulkirfabric/Registrations.kt7
-rw-r--r--src/main/kotlin/com/dulkirfabric/events/WorldRenderLastEvent.kt7
-rw-r--r--src/main/kotlin/com/dulkirfabric/features/RenderBoxTest.kt15
-rw-r--r--src/main/kotlin/com/dulkirfabric/util/WorldRenderUtils.kt56
-rw-r--r--src/main/resources/1.0 TODO.txt24
5 files changed, 102 insertions, 7 deletions
diff --git a/src/main/kotlin/com/dulkirfabric/Registrations.kt b/src/main/kotlin/com/dulkirfabric/Registrations.kt
index 3122924..a3ab96d 100644
--- a/src/main/kotlin/com/dulkirfabric/Registrations.kt
+++ b/src/main/kotlin/com/dulkirfabric/Registrations.kt
@@ -7,10 +7,13 @@ import com.dulkirfabric.commands.JoinDungeonCommands
import com.dulkirfabric.events.ChatReceivedEvent
import com.dulkirfabric.events.ClientTickEvent
import com.dulkirfabric.events.OverlayReceivedEvent
+import com.dulkirfabric.events.WorldRenderLastEvent
import com.dulkirfabric.features.KeyShortCutImpl
+import com.dulkirfabric.features.RenderBoxTest
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents
import net.fabricmc.fabric.api.client.message.v1.ClientReceiveMessageEvents
+import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents
/**
@@ -42,6 +45,7 @@ object Registrations {
fun registerEventListeners() {
EVENT_BUS.subscribe(DulkirModFabric)
EVENT_BUS.subscribe(KeyShortCutImpl)
+ EVENT_BUS.subscribe(RenderBoxTest)
}
fun registerEvents() {
@@ -55,5 +59,8 @@ object Registrations {
else !ChatReceivedEvent(message.toString()).post()
}
)
+ WorldRenderEvents.END.register(
+ WorldRenderEvents.End { context -> WorldRenderLastEvent(context).post()}
+ )
}
} \ No newline at end of file
diff --git a/src/main/kotlin/com/dulkirfabric/events/WorldRenderLastEvent.kt b/src/main/kotlin/com/dulkirfabric/events/WorldRenderLastEvent.kt
new file mode 100644
index 0000000..11b7714
--- /dev/null
+++ b/src/main/kotlin/com/dulkirfabric/events/WorldRenderLastEvent.kt
@@ -0,0 +1,7 @@
+package com.dulkirfabric.events
+
+import com.dulkirfabric.events.base.Event
+import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext
+
+data class
+WorldRenderLastEvent(val context: WorldRenderContext): Event()
diff --git a/src/main/kotlin/com/dulkirfabric/features/RenderBoxTest.kt b/src/main/kotlin/com/dulkirfabric/features/RenderBoxTest.kt
new file mode 100644
index 0000000..e037dd9
--- /dev/null
+++ b/src/main/kotlin/com/dulkirfabric/features/RenderBoxTest.kt
@@ -0,0 +1,15 @@
+package com.dulkirfabric.features
+
+import com.dulkirfabric.events.WorldRenderLastEvent
+import com.dulkirfabric.util.WorldRenderUtils
+import meteordevelopment.orbit.EventHandler
+import java.awt.Color
+
+object RenderBoxTest {
+
+ @EventHandler
+ fun onRender(event: WorldRenderLastEvent) {
+ WorldRenderUtils.drawBox(event.context,0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f,
+ Color(255, 255, 255, 255), 3f, false)
+ }
+} \ No newline at end of file
diff --git a/src/main/kotlin/com/dulkirfabric/util/WorldRenderUtils.kt b/src/main/kotlin/com/dulkirfabric/util/WorldRenderUtils.kt
new file mode 100644
index 0000000..30c19c7
--- /dev/null
+++ b/src/main/kotlin/com/dulkirfabric/util/WorldRenderUtils.kt
@@ -0,0 +1,56 @@
+package com.dulkirfabric.util
+
+import com.mojang.blaze3d.platform.GlStateManager
+import com.mojang.blaze3d.systems.RenderSystem
+import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext
+import net.minecraft.client.render.GameRenderer
+import net.minecraft.client.render.Tessellator
+import net.minecraft.client.render.VertexFormat
+import net.minecraft.client.render.VertexFormats
+import java.awt.Color
+
+
+object WorldRenderUtils {
+ fun drawBox(
+ context: WorldRenderContext,
+ x1: Float,
+ y1: Float,
+ z1: Float,
+ x2: Float,
+ y2: Float,
+ z2: Float,
+ color: Color,
+ thickness: Float,
+ depthTest: Boolean = true
+ ) {
+ val matrices = context.matrixStack()
+ matrices.push()
+ RenderSystem.setShader(GameRenderer::getRenderTypeLinesProgram)
+ RenderSystem.enableBlend()
+ RenderSystem.blendFunc(GlStateManager.SrcFactor.SRC_ALPHA, GlStateManager.DstFactor.ONE_MINUS_SRC_ALPHA)
+ RenderSystem.lineWidth(thickness)
+ RenderSystem.setShaderColor(color.red / 255f, color.green / 255f, color.blue / 255f, color.alpha / 255f)
+ if (!depthTest) RenderSystem.disableDepthTest()
+ matrices.translate(-context.camera().pos.x, -context.camera().pos.y, -context.camera().pos.z)
+ val tess = Tessellator.getInstance()
+ val buf = tess.buffer
+ val matrix4f = matrices.peek().positionMatrix
+
+ buf.begin(VertexFormat.DrawMode.LINES, VertexFormats.POSITION_COLOR)
+ buf.fixedColor(255, 255, 255, 255)
+
+ buf.vertex(matrix4f, x1, y1, z1).next()
+ buf.vertex(matrix4f, x2, y1, z1).next()
+
+ //buf.vertex(matrix4f, x2, y2, z1).next()
+
+ buf.unfixColor()
+ tess.draw()
+
+
+ RenderSystem.enableDepthTest()
+ RenderSystem.disableBlend()
+ RenderSystem.setShaderColor(1f, 1f, 1f, 1f)
+ matrices.pop()
+ }
+} \ No newline at end of file
diff --git a/src/main/resources/1.0 TODO.txt b/src/main/resources/1.0 TODO.txt
index 68d3262..d36d3fa 100644
--- a/src/main/resources/1.0 TODO.txt
+++ b/src/main/resources/1.0 TODO.txt
@@ -1,22 +1,32 @@
1.0 TODO:
- - Patcher Inventory scaling
+ - Patcher Inventory scaling - issues
- Tooltip Scaling
- Old animation/custom animation ?
- Reparty Command
- HUD ELEMENTS CODE
LIST OF EASY STUFF:
- - Block outlines?
+ - Block outlines? - issues
- Secret Chime with a custom sound
- Broken Hyp
- Abiphone DND
- double hook noot noot
-- <details>
- <summary>
- <h1>
-
- JBR and hotswap plugin
- Slot Binding (emulate keypress) --- APPROACH LAST
- - Custom Enchant Colors --- APPROACH LAST \ No newline at end of file
+ - Custom Enchant Colors --- APPROACH LAST
+
+
+ RENDERING TO-DO:
+ - WireFrame
+ - Line
+ - Tracer
+ - Filled box
+ - Outline Circle
+ - Entity Outline
+ - Text in World
+ - Text in HUD
+ - Image in World
+ - Image in HUD
+ - Surface sphere \ No newline at end of file