Broken code (test)

This commit is contained in:
Chickenmanfy
2024-01-21 08:44:03 -08:00
commit 008ac8a035
30 changed files with 1487 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
package chickenmanfy.scify.mixin.client;
import net.minecraft.client.MinecraftClient;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(MinecraftClient.class)
public class ExampleClientMixin {
@Inject(at = @At("HEAD"), method = "run")
private void run(CallbackInfo info) {
// This code is injected into the start of MinecraftClient.run()V
}
}

View File

@@ -0,0 +1,74 @@
package chickenmanfy.scify
import io.github.prospector.modmenu.ModMenu
import io.github.prospector.modmenu.api.ConfigScreenFactory
import io.github.prospector.modmenu.api.ModMenuApi
import net.fabricmc.api.ClientModInitializer
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper
import net.minecraft.client.MinecraftClient
import net.minecraft.client.option.KeyBinding
import net.minecraft.client.util.InputUtil
import net.minecraft.text.Text
import org.lwjgl.glfw.GLFW
import net.fabricmc.api.EnvType
import net.fabricmc.api.Environment
import net.minecraft.client.gui.screen.Screen
import net.minecraft.client.gui.widget.ButtonWidget
import net.minecraft.client.util.math.MatrixStack
object SciFyClient : ClientModInitializer {
override fun onInitializeClient() {
val menu = KeyBindingHelper.registerKeyBinding(
KeyBinding(
"Menu",
InputUtil.Type.KEYSYM,
GLFW.GLFW_KEY_RIGHT_SHIFT,
"SciFy"
)
)
ClientTickEvents.END_CLIENT_TICK.register(ClientTickEvents.EndTick { client: MinecraftClient ->
while (menu.wasPressed()) {
// Debug
client.player!!.sendMessage(Text.literal("Button input received."), true)
}
})
}
}
@Environment(EnvType.CLIENT)
class ScifyModMenu : ModMenuApi {
override fun getModConfigScreenFactory(): ConfigScreenFactory<*> {
return ConfigScreenFactory<*> { parent -> Menu(parent) }
}
}
@Environment(EnvType.CLIENT)
class menu(private val parent: Screen) : Screen(Text.literal("Your Mod Config")) {
override fun init() {
// Add a button to open Mod Menu
val modMenuButton = ButtonWidget.builder(
Text.literal("Mod Menu")
) { button: ButtonWidget? ->
// Open Mod Menu
ModMenu.getInstance().openConfigScreen()
}
.dimensions(width / 2 - 100, height / 2, 200, 20)
.build()
addDrawableChild(modMenuButton)
}
override fun render(matrices: MatrixStack, mouseX: Int, mouseY: Int, delta: Float) {
renderBackground(matrices)
super.render(matrices, mouseX, mouseY, delta)
}
fun onClose() {
client!!.setScreen(parent)
}
}

View File

@@ -0,0 +1,11 @@
{
"required": true,
"package": "chickenmanfy.scify.mixin.client",
"compatibilityLevel": "JAVA_17",
"client": [
"ExampleClientMixin"
],
"injectors": {
"defaultRequire": 1
}
}