diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index fe2502d0..2c7c5fc5 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -18,8 +18,6 @@ jobs:
- name: Checkout
uses: actions/checkout@v5.0.0
- with:
- submodules: recursive
- name: Set up JDK 8
uses: actions/setup-java@v3
@@ -46,23 +44,4 @@ jobs:
run: chmod +x ./gradlew
- name: Build with Gradle
- run: ./gradlew build
-
- - name: Publish (CurseForge/Modrinth/GitHub)
- uses: Kir-Antipov/mc-publish@v3.3.0
- with:
- modrinth-id: 412tAvWq
- modrinth-token: "${{env.MODRINTH_TOKEN}}"
-
- github-tag: "v${{env.VERSION}}"
- github-token: "${{env.GITHUB_TOKEN}}"
-
- name: "mpkmod-${{env.VERSION}}"
- version: "${{env.VERSION}}"
- version-type: release
- github-generate-changelog: true
-
- loaders: forge,fabric
- game-versions: "1.8.9,1.19.4,1.20.4,1.20.6,1.21,1.21.3,1.21.5,1.21.6,1.21.8" #TODO: Clean this up
- game-version-filter: releases
- java: "1.8,17"
+ run: ./gradlew build publishMods
\ No newline at end of file
diff --git a/README.md b/README.md
index 73ffc69f..ad6f5455 100644
--- a/README.md
+++ b/README.md
@@ -32,12 +32,10 @@ If you think that mpkmod should have a specific feature, encounter any bugs or i
* [Forge](https://files.minecraftforge.net/)
- 1.8.9
* [Fabric](https://fabricmc.net/)
- - 1.19.4
- - 1.20.4
- - 1.20.6
- - 1.21
- - 1.21.3
- - 1.21.5
+ - 1.21.6-8
+
+I aim to keep the mod updated for the latest version of minecraft.
+To use the mod with other versions please check out the [ViaFabricPlus](github.com/ViaVersion/ViaFabricPlus) project.
---
diff --git a/common/build.gradle b/common/build.gradle
index d9de428b..f5a0b431 100644
--- a/common/build.gradle
+++ b/common/build.gradle
@@ -8,7 +8,7 @@ dependencies {
compileOnly 'org.apache.logging.log4j:log4j-api:2.0-beta9'
compileOnly 'org.apache.logging.log4j:log4j-core:2.0-beta9'
- library project(':network-api:common')
+ library "com.github.MPKMod.MPKNetworkAPI:common:main-SNAPSHOT"
}
compileJava.doLast {
diff --git a/fabric-1.19.4/.gitignore b/fabric-1.19.4/.gitignore
deleted file mode 100644
index c476faf2..00000000
--- a/fabric-1.19.4/.gitignore
+++ /dev/null
@@ -1,40 +0,0 @@
-# gradle
-
-.gradle/
-build/
-out/
-classes/
-
-# eclipse
-
-*.launch
-
-# idea
-
-.idea/
-*.iml
-*.ipr
-*.iws
-
-# vscode
-
-.settings/
-.vscode/
-bin/
-.classpath
-.project
-
-# macos
-
-*.DS_Store
-
-# fabric
-
-run/
-
-# java
-
-hs_err_*.log
-replay_*.log
-*.hprof
-*.jfr
diff --git a/fabric-1.19.4/build.gradle b/fabric-1.19.4/build.gradle
deleted file mode 100644
index fb1eab06..00000000
--- a/fabric-1.19.4/build.gradle
+++ /dev/null
@@ -1,21 +0,0 @@
-plugins {
- id 'fabric-loom' version "1.11-SNAPSHOT"
-}
-
-loom.runs.client.runDir = "../runs/run"
-
-dependencies {
- minecraft "com.mojang:minecraft:${project.minecraft_version}"
- mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
- modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
-
- modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
-}
-
-processResources {
- inputs.property "version", project.version
-
- filesMatching("fabric.mod.json") {
- expand "version": project.version
- }
-}
\ No newline at end of file
diff --git a/fabric-1.19.4/gradle.properties b/fabric-1.19.4/gradle.properties
deleted file mode 100644
index d58864f2..00000000
--- a/fabric-1.19.4/gradle.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-# Done to increase the memory available to gradle.
-org.gradle.jvmargs=-Xmx1G
-org.gradle.parallel=true
-
-# Fabric Properties
-# check these on https://fabricmc.net/develop
-minecraft_version=1.19.4
-yarn_mappings=1.19.4+build.2
-loader_version=0.15.11
-
-# Fabric API
-fabric_version=0.87.2+1.19.4
-yarn_mappings_version=2
-
-jdkVersion=17
diff --git a/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/EventHandler.java b/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/EventHandler.java
deleted file mode 100644
index 8c3d926b..00000000
--- a/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/EventHandler.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_19_4;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.Player;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_19_4.mixin.KeyBindingAccessor;
-import io.github.kurrycat.mpkmod.ticks.ButtonMS;
-import io.github.kurrycat.mpkmod.ticks.ButtonMSList;
-import io.github.kurrycat.mpkmod.util.BoundingBox3D;
-import io.github.kurrycat.mpkmod.util.Vector3D;
-import net.fabricmc.fabric.api.networking.v1.PacketSender;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.network.ClientPlayNetworkHandler;
-import net.minecraft.client.network.ClientPlayerEntity;
-import net.minecraft.client.option.GameOptions;
-import net.minecraft.client.util.InputUtil;
-import net.minecraft.client.util.math.MatrixStack;
-import net.minecraft.util.Util;
-import net.minecraft.util.math.Vec3d;
-import net.minecraft.util.math.Box;
-
-public class EventHandler {
- private static final ButtonMSList timeQueue = new ButtonMSList();
-
- /**
- * @param key The GLFW key code. See {@link net.minecraft.client.util.InputUtil}.
- * @param scanCode
- * @param action The action, where 0 = unpressed, 1 = pressed, 2 = held.
- */
- public void onKey(int key, int scanCode, int action) {
- GameOptions options = MinecraftClient.getInstance().options;
- long eventNanos = Util.getMeasuringTimeNano();
-
- InputUtil.Key inputKey = InputUtil.fromKeyCode(key, scanCode);
-
- int[] keys = {
- ((KeyBindingAccessor) options.forwardKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.leftKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.backKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.rightKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.sprintKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.sneakKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.jumpKey).getBoundKey().getCode()
- };
-
- for (int i = 0; i < keys.length; i++) {
- if (key == keys[i]) {
- timeQueue.add(ButtonMS.of(ButtonMS.Button.values()[i], eventNanos, action == 1));
- }
- }
-
- if (action == 1) {
- FunctionCompatibility.pressedButtons.add(inputKey.getCode());
- } else if (action == 0) {
- FunctionCompatibility.pressedButtons.remove(inputKey.getCode());
- }
-
- API.Events.onKeyInput(key, inputKey.getLocalizedText().getString(), action == 1);
-
- MPKMod.keyBindingMap.forEach((id, keyBinding) -> {
- if (keyBinding.isPressed()) {
- API.Events.onKeybind(id);
- }
- });
- }
-
- public void onInGameOverlayRender(MatrixStack matrixStack, float tickDelta) {
- matrixStack.push();
- API.getFunctionHolder().matrixStack = matrixStack;
- API.Events.onRenderOverlay();
- matrixStack.pop();
- }
-
- public void onRenderWorldOverlay(MatrixStack matrixStack, float tickDelta) {
- matrixStack.push();
- API.getFunctionHolder().matrixStack = matrixStack;
- Vec3d pos = MinecraftClient.getInstance().gameRenderer.getCamera().getPos();
- matrixStack.translate(-pos.x, -pos.y, -pos.z);
- API.Events.onRenderWorldOverlay(tickDelta);
- matrixStack.pop();
- }
-
- public void onClientTickStart(MinecraftClient mc) {
- if (mc.isPaused() || mc.world == null) return;
- API.Events.onTickStart();
- }
-
- public void onClientTickEnd(MinecraftClient mc) {
- if (mc.isPaused() || mc.world == null) return;
- ClientPlayerEntity mcPlayer = mc.player;
-
- if (mcPlayer != null) {
- Box playerBB = mcPlayer.getBoundingBox();
- new Player()
- .setPos(new Vector3D(mcPlayer.getX(), mcPlayer.getY(), mcPlayer.getZ()))
- .setLastPos(new Vector3D(mcPlayer.prevX, mcPlayer.prevY, mcPlayer.prevZ))
- .setMotion(new Vector3D(mcPlayer.getVelocity().x, mcPlayer.getVelocity().y, mcPlayer.getVelocity().z))
- .setRotation(mcPlayer.getRotationClient().y, mcPlayer.getRotationClient().x)
- .setOnGround(mcPlayer.isOnGround())
- .setSprinting(mcPlayer.isSprinting())
- .setBoundingBox(new BoundingBox3D(
- new Vector3D(playerBB.minX, playerBB.minY, playerBB.minZ),
- new Vector3D(playerBB.maxX, playerBB.maxY, playerBB.maxZ)
- ))
- .constructKeyInput()
- .setKeyMSList(timeQueue)
- .buildAndSave();
- timeQueue.clear();
- }
-
- API.Events.onTickEnd();
- }
-
-
- public void onServerConnect(ClientPlayNetworkHandler clientPlayNetworkHandler, PacketSender packetSender, MinecraftClient minecraftClient) {
- API.Events.onServerConnect(clientPlayNetworkHandler.getConnection().isLocal());
- }
-
- public void onServerDisconnect(ClientPlayNetworkHandler clientPlayNetworkHandler, MinecraftClient minecraftClient) {
- API.Events.onServerDisconnect();
- }
-}
diff --git a/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/FunctionCompatibility.java b/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/FunctionCompatibility.java
deleted file mode 100644
index 81fd7705..00000000
--- a/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/FunctionCompatibility.java
+++ /dev/null
@@ -1,456 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_19_4;
-
-import com.mojang.blaze3d.systems.RenderSystem;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.*;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_19_4.mixin.KeyBindingAccessor;
-import io.github.kurrycat.mpkmod.gui.MPKGuiScreen;
-import io.github.kurrycat.mpkmod.util.BoundingBox3D;
-import io.github.kurrycat.mpkmod.util.Debug;
-import io.github.kurrycat.mpkmod.util.Vector2D;
-import io.github.kurrycat.mpkmod.util.Vector3D;
-import io.github.kurrycat.mpkmod.util.ScissorBox;
-import io.github.kurrycat.mpknetapi.common.network.packet.MPKPacket;
-import io.netty.buffer.Unpooled;
-import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
-import net.minecraft.block.BlockState;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.screen.Screen;
-import net.minecraft.client.network.ClientPlayerEntity;
-import net.minecraft.client.network.ServerInfo;
-import net.minecraft.client.option.GameOptions;
-import net.minecraft.client.option.KeyBinding;
-import net.minecraft.client.render.*;
-import net.minecraft.client.sound.PositionedSoundInstance;
-import net.minecraft.client.util.Window;
-import net.minecraft.client.util.math.MatrixStack;
-import net.minecraft.network.PacketByteBuf;
-import net.minecraft.registry.Registries;
-import net.minecraft.sound.SoundEvents;
-import net.minecraft.util.Util;
-import net.minecraft.util.hit.BlockHitResult;
-import net.minecraft.util.hit.HitResult;
-import net.minecraft.util.math.BlockPos;
-import net.minecraft.util.math.MathHelper;
-import org.joml.Matrix4f;
-import org.lwjgl.opengl.GL11;
-
-import java.awt.*;
-import java.util.List;
-import java.util.*;
-
-public class FunctionCompatibility implements FunctionHolder,
- SoundManager.Interface,
- WorldInteraction.Interface,
- Renderer3D.Interface,
- Renderer2D.Interface,
- FontRenderer.Interface,
- io.github.kurrycat.mpkmod.compatibility.MCClasses.Minecraft.Interface,
- io.github.kurrycat.mpkmod.compatibility.MCClasses.Keyboard.Interface,
- Profiler.Interface {
- public static final Set pressedButtons = new HashSet<>();
- public MatrixStack matrixStack = new MatrixStack();
- private static final Stack scissorStack = new Stack<>();
-
- public void playButtonSound() {
- MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
- }
-
- public List getCollisionBoundingBoxes(Vector3D blockPosVector) {
- final Vector3D blockPosVec = blockPosVector.copy();
- BlockPos blockPos = new BlockPos(blockPosVec.getXI(), blockPosVec.getYI(), blockPosVec.getZI());
- if (MinecraftClient.getInstance().world == null) return null;
- ArrayList boundingBoxes = new ArrayList<>();
- BlockState blockState = MinecraftClient.getInstance().world.getBlockState(blockPos);
-
- blockState.getCollisionShape(MinecraftClient.getInstance().world, blockPos).simplify().forEachBox(
- ((minX, minY, minZ, maxX, maxY, maxZ) -> boundingBoxes.add(
- new BoundingBox3D(new Vector3D(minX, minY, minZ), new Vector3D(maxX, maxY, maxZ)).move(blockPosVec)
- ))
- );
-
- return boundingBoxes;
- }
-
- public Vector3D getLookingAt() {
- if (MinecraftClient.getInstance().getCameraEntity() == null)
- return null;
-
- HitResult hitResult = MinecraftClient.getInstance().getCameraEntity().raycast(20, 0, false);
- if (hitResult instanceof BlockHitResult) {
- BlockPos blockPos = ((BlockHitResult) hitResult).getBlockPos();
- return new Vector3D(blockPos.getX(), blockPos.getY(), blockPos.getZ());
- }
-
- return null;
- }
-
- @Override
- public String getBlockName(Vector3D blockPos) {
- BlockPos blockpos = new BlockPos(blockPos.getXI(), blockPos.getYI(), blockPos.getZI());
- if (MinecraftClient.getInstance().world == null)
- return null;
-
- return Registries.BLOCK.getKey(
- MinecraftClient.getInstance().world.getBlockState(blockpos).getBlock()
- ).get().getValue().toString();
- }
-
- @Override
- public HashMap getBlockProperties(Vector3D blockPos) {
- HashMap properties = new HashMap<>();
- if (MinecraftClient.getInstance().world == null)
- return properties;
-
- BlockPos blockpos = new BlockPos(blockPos.getXI(), blockPos.getYI(), blockPos.getZI());
- BlockState blockState = MinecraftClient.getInstance().world.getBlockState(blockpos);
- blockState.getEntries().forEach((key, value) ->
- properties.put(key.getName(), Util.getValueAsString(key, value))
- );
- return null;
- }
-
- /**
- * Is called in {@link io.github.kurrycat.mpkmod.compatibility.MCClasses.WorldInteraction.Interface WorldInteraction.Interface}
- */
- public String getLookingAtBlock() {
- if (MinecraftClient.getInstance().getCameraEntity() == null)
- return null;
-
- HitResult hitResult = MinecraftClient.getInstance().getCameraEntity().raycast(20, 0, false);
- if (hitResult.getType() == HitResult.Type.BLOCK && MinecraftClient.getInstance().world != null) {
- return Registries.BLOCK.getKey(
- MinecraftClient.getInstance().world.getBlockState(((BlockHitResult) hitResult).getBlockPos()).getBlock()
- ).get().getValue().toTranslationKey();
- }
- return null;
- }
-
- public void drawBox(BoundingBox3D bb, Color color, float partialTicks) {
- int r = color.getRed(), g = color.getGreen(), b = color.getBlue(), a = color.getAlpha();
-
- RenderSystem.applyModelViewMatrix();
-
- RenderSystem.enableBlend();
- RenderSystem.enableDepthTest();
- RenderSystem.setShader(GameRenderer::getPositionColorProgram);
-
- Tessellator tessellator = Tessellator.getInstance();
- BufferBuilder builder = tessellator.getBuffer();
-
- RenderSystem.lineWidth(1.0F);
-
- Matrix4f posMat = matrixStack.peek().getPositionMatrix();
-
- float minX = (float) bb.minX();
- float minY = (float) bb.minY();
- float minZ = (float) bb.minZ();
- float maxX = (float) bb.maxX();
- float maxY = (float) bb.maxY();
- float maxZ = (float) bb.maxZ();
-
- builder.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR);
-
- builder.vertex(posMat, minX, maxY, minZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, maxY, minZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, minY, minZ).color(r, g, b, a).next();
- builder.vertex(posMat, minX, minY, minZ).color(r, g, b, a).next();
-
- builder.vertex(posMat, minX, minY, maxZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, minY, maxZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, maxY, maxZ).color(r, g, b, a).next();
- builder.vertex(posMat, minX, maxY, maxZ).color(r, g, b, a).next();
-
- builder.vertex(posMat, minX, minY, minZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, minY, minZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, minY, maxZ).color(r, g, b, a).next();
- builder.vertex(posMat, minX, minY, maxZ).color(r, g, b, a).next();
-
- builder.vertex(posMat, minX, maxY, maxZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, maxY, maxZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, maxY, minZ).color(r, g, b, a).next();
- builder.vertex(posMat, minX, maxY, minZ).color(r, g, b, a).next();
-
- builder.vertex(posMat, minX, minY, maxZ).color(r, g, b, a).next();
- builder.vertex(posMat, minX, maxY, maxZ).color(r, g, b, a).next();
- builder.vertex(posMat, minX, maxY, minZ).color(r, g, b, a).next();
- builder.vertex(posMat, minX, minY, minZ).color(r, g, b, a).next();
-
- builder.vertex(posMat, maxX, minY, minZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, maxY, minZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, maxY, maxZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, minY, maxZ).color(r, g, b, a).next();
-
- tessellator.draw();
-
- RenderSystem.enableBlend();
- }
-
- /**
- * Is called in {@link Renderer2D.Interface}
- */
- public void drawRect(Vector2D pos, Vector2D size, Color color) {
- if (matrixStack == null) return;
- //0.04 because drawString SHADOW_OFFSET is 0.03
- matrixStack.translate(0, 0, 0.04);
- Matrix4f posMat = matrixStack.peek().getPositionMatrix();
- int r = color.getRed(), g = color.getGreen(), b = color.getBlue(), a = color.getAlpha();
- double x = pos.getX(), y = pos.getY(), w = size.getX(), h = size.getY();
-
- Tessellator tessellator = Tessellator.getInstance();
- BufferBuilder bb = tessellator.getBuffer();
- RenderSystem.enableBlend();
- RenderSystem.setShader(GameRenderer::getPositionColorProgram);
- bb.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR);
- bb.vertex(posMat, (float) x, (float) (y + h), 0).color(r, g, b, a).next();
- bb.vertex(posMat, (float) (x + w), (float) (y + h), 0).color(r, g, b, a).next();
- bb.vertex(posMat, (float) (x + w), (float) y, 0).color(r, g, b, a).next();
- bb.vertex(posMat, (float) x, (float) y, 0).color(r, g, b, a).next();
- tessellator.draw();
-
- RenderSystem.disableBlend();
- }
-
- /**
- * Is called in {@link Renderer2D.Interface}
- */
- public void drawLines(Collection points, Color color) {
- if (points.size() < 2) {
- Debug.stacktrace("At least two points expected, got: " + points.size());
- return;
- }
- int r = color.getRed(), g = color.getGreen(), b = color.getBlue(), a = color.getAlpha();
-
- matrixStack.translate(0, 0, 0.04);
- Matrix4f posMat = matrixStack.peek().getPositionMatrix();
-
- RenderSystem.enableBlend();
- RenderSystem.enableDepthTest();
- RenderSystem.setShader(GameRenderer::getPositionColorProgram);
-
- Tessellator tessellator = Tessellator.getInstance();
- BufferBuilder builder = tessellator.getBuffer();
-
- RenderSystem.lineWidth(1.0f);
-
- builder.begin(VertexFormat.DrawMode.DEBUG_LINE_STRIP, VertexFormats.POSITION_COLOR);
-
- for (Vector2D p : points) {
- builder.vertex(posMat, (float) p.getX(), (float) p.getY(), 0).color(r, g, b, a).next();
- }
-
- tessellator.draw();
-
- RenderSystem.enableBlend();
- }
-
- public Vector2D getScaledSize() {
- return new Vector2D(
- MinecraftClient.getInstance().getWindow().getScaledWidth(),
- MinecraftClient.getInstance().getWindow().getScaledHeight()
- );
- }
-
- public Vector2D getScreenSize() {
- return new Vector2D(MinecraftClient.getInstance().getWindow().getWidth(), MinecraftClient.getInstance().getWindow().getHeight());
- }
-
- public void enableScissor(double x, double y, double w, double h) {
- ScissorBox box;
- if (scissorStack.isEmpty()) box = new ScissorBox(x, y, w, h);
- else {
- ScissorBox prev = scissorStack.peek();
- double bx = Math.max(prev.x, x), by = Math.max(prev.y, y);
- box = new ScissorBox(bx, by,
- Math.min(x + w, prev.x + prev.w) - bx,
- Math.min(y + h, prev.y + prev.h) - by
- );
- }
- scissorStack.push(box);
- setScissor(box);
- }
-
- public void disableScissor() {
- if (!scissorStack.isEmpty()) scissorStack.pop();
- if (scissorStack.isEmpty()) setScissor(null);
- else setScissor(scissorStack.peek());
- }
-
- public void clearScissors() {
- scissorStack.clear();
- setScissor(null);
- }
-
- private void setScissor(ScissorBox box) {
- if (box == null) {
- GL11.glDisable(GL11.GL_SCISSOR_TEST);
- } else {
- GL11.glEnable(GL11.GL_SCISSOR_TEST);
- Window r = MinecraftClient.getInstance().getWindow();
-
- double scaleFactor = r.getScaleFactor();
- double posX = box.x * scaleFactor;
- double posY = r.getFramebufferHeight() - (box.y + box.h) * scaleFactor;
- double width = box.w * scaleFactor;
- double height = box.h * scaleFactor;
- GL11.glScissor((int) posX, (int) posY, Math.max(0, (int) width), Math.max(0, (int) height));
- }
- }
-
- public boolean scissorContains(Vector2D point) {
- return scissorStack.isEmpty() || scissorStack.peek().contains(point);
- }
-
- public void drawString(String text, double x, double y, Color color, double fontSize, boolean shadow) {
- matrixStack.translate(0, 0, 0.04);
- matrixStack.push();
- matrixStack.translate(x, y, 0);
- double scale = fontSize / MinecraftClient.getInstance().textRenderer.fontHeight;
- matrixStack.scale((float) scale, (float) scale, 1);
- if (shadow)
- MinecraftClient.getInstance().textRenderer
- .drawWithShadow(matrixStack, text, 0, 0, color.getRGB());
- else
- MinecraftClient.getInstance().textRenderer
- .draw(matrixStack, text, 0, 0, color.getRGB());
- matrixStack.pop();
- }
-
- public Vector2D getStringSize(String text, double fontSize) {
- return new Vector2D(
- MinecraftClient.getInstance().textRenderer.getWidth(text) *
- (float) (fontSize / MinecraftClient.getInstance().textRenderer.fontHeight),
- (float) fontSize
- );
- }
-
- public String getIP() {
- ServerInfo d = MinecraftClient.getInstance().getCurrentServerEntry();
-
- if (d == null)
- return "Multiplayer";
- else
- return d.address;
- }
-
- public String getFPS() {
- String[] split = MinecraftClient.getInstance().fpsDebugString.split(" ");
- if (split.length == 0)
- return "Error";
- return split[0];
- }
-
- public void displayGuiScreen(MPKGuiScreen screen) {
- MinecraftClient.getInstance().setScreen(
- screen == null
- ? null
- : new io.github.kurrycat.mpkmod.compatibility.fabric_1_19_4.MPKGuiScreen(screen));
- }
-
- public String getCurrentGuiScreen() {
- Screen curr = MinecraftClient.getInstance().currentScreen;
-
- if (curr == null)
- return null;
- else if (curr instanceof io.github.kurrycat.mpkmod.compatibility.fabric_1_19_4.MPKGuiScreen) {
- String id = ((io.github.kurrycat.mpkmod.compatibility.fabric_1_19_4.MPKGuiScreen) curr).eventReceiver.getID();
- if (id == null)
- id = "unknown";
-
- return id;
- }
-
- return curr.getClass().getSimpleName();
- }
-
- /**
- * Is called in {@link io.github.kurrycat.mpkmod.compatibility.MCClasses.Minecraft.Interface Minecraft.Interface}
- */
- public String getUserName() {
- if (MinecraftClient.getInstance().player == null) return null;
- return MinecraftClient.getInstance().player.getName().getString();
- }
-
- public void copyToClipboard(String content) {
- MinecraftClient.getInstance().keyboard.setClipboard(content);
- }
-
- public boolean setInputs(Float yaw, boolean relYaw, Float pitch, boolean relPitch, int pressedInputs, int releasedInputs, int L, int R) {
- if (!io.github.kurrycat.mpkmod.compatibility.MCClasses.Minecraft.isSingleplayer()) return false;
- ClientPlayerEntity player = MinecraftClient.getInstance().player;
- if (player == null) return false;
- GameOptions op = MinecraftClient.getInstance().options;
-
- float prevYaw = player.getYaw();
- float prevPitch = player.getPitch();
-
- if (yaw != null) {
- player.setYaw(relYaw ? (player.getYaw() + yaw) : yaw);
- player.prevYaw += player.getYaw() - prevYaw;
- }
- if (pitch != null) {
- player.setPitch(relPitch ? (player.getPitch() + pitch) : pitch);
- player.setPitch(MathHelper.clamp(player.getPitch(), -90.0F, 90.0F));
-
- player.prevPitch += player.getPitch() - prevPitch;
- player.prevPitch = MathHelper.clamp(player.prevPitch, -90.0F, 90.0F);
- }
-
- if (player.getVehicle() != null) {
- player.getVehicle().onPassengerLookAround(player);
- }
-
- KeyBinding[] keys = new KeyBinding[]{
- op.forwardKey,
- op.leftKey,
- op.backKey,
- op.rightKey,
- op.sprintKey,
- op.sneakKey,
- op.jumpKey
- };
-
- for (int i = 0; i < keys.length; i++) {
- if ((releasedInputs & 1 << i) != 0) {
- KeyBinding.setKeyPressed(((KeyBindingAccessor) keys[i]).getBoundKey(), false);
- }
- if ((pressedInputs & 1 << i) != 0) {
- KeyBinding.setKeyPressed(((KeyBindingAccessor) keys[i]).getBoundKey(), true);
- KeyBinding.onKeyPressed(((KeyBindingAccessor) keys[i]).getBoundKey());
- }
- }
-
- KeyBinding.setKeyPressed(((KeyBindingAccessor) op.attackKey).getBoundKey(), L > 0);
- for (int i = 0; i < L; i++)
- KeyBinding.onKeyPressed(((KeyBindingAccessor) op.attackKey).getBoundKey());
-
- KeyBinding.setKeyPressed(((KeyBindingAccessor) op.useKey).getBoundKey(), R > 0);
- for (int i = 0; i < R; i++)
- KeyBinding.onKeyPressed(((KeyBindingAccessor) op.useKey).getBoundKey());
-
- return true;
- }
-
- public boolean isF3Enabled() {
- return MinecraftClient.getInstance().options.debugEnabled;
- }
-
- public void sendPacket(MPKPacket packet) {
- ClientPlayNetworking.send(MPKMod.NETWORKING_IDENTIFIER, new PacketByteBuf(Unpooled.wrappedBuffer(packet.getData())));
- }
-
- public List getPressedButtons() {
- return new ArrayList<>(pressedButtons);
- }
-
- public void startSection(String name) {
- MinecraftClient.getInstance().getProfiler().push(name);
- }
-
- public void endStartSection(String name) {
- MinecraftClient.getInstance().getProfiler().swap(name);
- }
-
- public void endSection() {
- MinecraftClient.getInstance().getProfiler().pop();
- }
-}
diff --git a/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/MPKGuiScreen.java b/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/MPKGuiScreen.java
deleted file mode 100644
index 7c2dbe2d..00000000
--- a/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/MPKGuiScreen.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_19_4;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.Profiler;
-import io.github.kurrycat.mpkmod.util.MathUtil;
-import io.github.kurrycat.mpkmod.util.Vector2D;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.screen.Screen;
-import net.minecraft.client.util.math.MatrixStack;
-import net.minecraft.text.Text;
-
-public class MPKGuiScreen extends Screen {
- public io.github.kurrycat.mpkmod.gui.MPKGuiScreen eventReceiver;
-
- public MPKGuiScreen(io.github.kurrycat.mpkmod.gui.MPKGuiScreen screen) {
- super(Text.translatable(API.MODID + ".gui.title"));
- eventReceiver = screen;
- }
-
- public void init() {
- eventReceiver.onInit();
- }
-
- @Override
- public void resize(MinecraftClient client, int width, int height) {
- super.resize(client, width, height);
- eventReceiver.onResize(width, height);
- }
-
- public void render(MatrixStack matrixStack, int mouseX, int mouseY, float delta) {
- matrixStack.push();
- API.getFunctionHolder().matrixStack = matrixStack;
- Profiler.startSection(eventReceiver.getID() == null ? "mpk_gui" : eventReceiver.getID());
- try {
- eventReceiver.drawScreen(new Vector2D(mouseX, mouseY), delta);
- } catch (Exception e) {
- API.LOGGER.warn("Error in drawScreen with id: " + eventReceiver.getID(), e);
- }
- Profiler.endSection();
- matrixStack.pop();
- }
-
- public void close() {
- super.close();
- eventReceiver.onGuiClosed();
- }
-
- public boolean shouldPause() {
- return false;
- }
-
- public boolean mouseClicked(double mouseX, double mouseY, int state) {
- eventReceiver.onMouseClicked(new Vector2D(mouseX, mouseY), state);
- return super.mouseClicked(mouseX, mouseY, state);
- }
-
- public boolean mouseReleased(double mouseX, double mouseY, int state) {
- eventReceiver.onMouseReleased(new Vector2D(mouseX, mouseY), state);
- return super.mouseReleased(mouseX, mouseY, state);
- }
-
- public boolean mouseDragged(double mouseX, double mouseY, int clickedMouseButton, double moveX, double moveY) {
- eventReceiver.onMouseClickMove(new Vector2D(mouseX, mouseY), clickedMouseButton, 0);
- return super.mouseDragged(mouseX, mouseY, clickedMouseButton, moveX, moveY);
- }
-
- public boolean keyPressed(int keyCode, int scanCode, int modifiers) {
- eventReceiver.onKeyEvent(keyCode, scanCode, modifiers, false);
- return super.keyPressed(keyCode, scanCode, modifiers);
- }
-
- @Override
- public boolean charTyped(char c, int modifiers) {
- eventReceiver.onKeyEvent(c, 0, modifiers, true);
- return super.charTyped(c, modifiers);
- }
-
- @Override
- public boolean mouseScrolled(double mouseX, double mouseY, double delta) {
- eventReceiver.onMouseScroll(
- new Vector2D(mouseX, mouseY),
- (int) (MathUtil.constrain(delta, -1, 1) * 7)
- );
- return super.mouseScrolled(mouseX, mouseY, delta);
- }
-}
diff --git a/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/MPKMod.java b/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/MPKMod.java
deleted file mode 100644
index 8caca831..00000000
--- a/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/MPKMod.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_19_4;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import io.github.kurrycat.mpknetapi.common.MPKNetworking;
-import io.github.kurrycat.mpknetapi.common.network.packet.MPKPacket;
-import net.fabricmc.api.ModInitializer;
-import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
-import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
-import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents;
-import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
-import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback;
-import net.minecraft.SharedConstants;
-import net.minecraft.client.MinecraftClient;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.KeyBinding;
-import net.minecraft.util.Identifier;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class MPKMod implements ModInitializer {
- public static Map keyBindingMap = new HashMap<>();
- public static final MPKMod INSTANCE = new MPKMod();
- public final EventHandler eventHandler = new EventHandler();
- public static final Identifier NETWORKING_IDENTIFIER = Identifier.of(MPKNetworking.CHANNEL_NAMESPACE, MPKNetworking.CHANNEL_PATH);
-
- @Override
- public void onInitialize() {
- // This code runs as soon as Minecraft is in a mod-load-ready state.
- // However, some things (like resources) may still be uninitialized.
- API.LOGGER.info("Loading " + API.NAME + " " + API.VERSION);
- API.preInit(getClass());
- registerKeybindingsFromGUIs();
-
- HudRenderCallback.EVENT.register(eventHandler::onInGameOverlayRender);
- ClientTickEvents.START_CLIENT_TICK.register(eventHandler::onClientTickStart);
- ClientTickEvents.END_CLIENT_TICK.register(eventHandler::onClientTickEnd);
- ClientPlayConnectionEvents.JOIN.register(eventHandler::onServerConnect);
- ClientPlayConnectionEvents.DISCONNECT.register(eventHandler::onServerDisconnect);
-
- ClientPlayNetworking.registerGlobalReceiver(NETWORKING_IDENTIFIER, ((client, handler, buf, responseSender) -> {
- MPKPacket packet = MPKPacket.handle(API.PACKET_LISTENER_CLIENT, buf.array(), null);
- if (packet != null) {
- API.Events.onPluginMessage(packet);
- }
- }));
- }
-
- public void init() {
- API.LOGGER.info(API.COMPATIBILITY_MARKER, "Registering compatibility functions...");
- API.registerFunctionHolder(new FunctionCompatibility());
- API.LOGGER.info(API.COMPATIBILITY_MARKER, "Registered compatibility functions.");
-
- registerKeyBindings();
- API.init(SharedConstants.getGameVersion().getName());
-
- API.Events.onLoadComplete();
- }
-
- public void registerKeyBinding(String id) {
- net.minecraft.client.option.KeyBinding keyBinding = new net.minecraft.client.option.KeyBinding(
- API.MODID + ".key." + id + ".desc",
- -1,
- API.KEYBINDING_CATEGORY
- );
-
- keyBindingMap.put(id, keyBinding);
- }
-
- private void registerKeyBindings() {
- for(net.minecraft.client.option.KeyBinding k : MinecraftClient.getInstance().options.allKeys) {
- new io.github.kurrycat.mpkmod.compatibility.MCClasses.KeyBinding(
- () -> k.getBoundKeyLocalizedText().getString(),
- k.getTranslationKey(),
- k::isPressed
- );
- }
-
- API.LOGGER.info(API.COMPATIBILITY_MARKER, "Registered {} Keybindings", KeyBinding.getKeyMap().size());
- }
-
- private void registerKeybindingsFromGUIs() {
- API.guiScreenMap.forEach((id, guiScreen) -> {
- if (guiScreen.shouldCreateKeyBind())
- registerKeyBinding(id);
- });
-
- API.keyBindingMap.forEach((id, consumer) -> registerKeyBinding(id));
- keyBindingMap.forEach((id, key) -> KeyBindingHelper.registerKeyBinding(key));
- }
-}
diff --git a/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/mixin/GameRendererMixin.java b/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/mixin/GameRendererMixin.java
deleted file mode 100644
index e2d72037..00000000
--- a/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/mixin/GameRendererMixin.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_19_4.mixin;
-
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_19_4.MPKMod;
-import net.minecraft.client.render.GameRenderer;
-import net.minecraft.client.util.math.MatrixStack;
-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(value = GameRenderer.class)
-public class GameRendererMixin {
- @Inject(at = @At(value = "INVOKE_STRING", target = "Lnet/minecraft/util/profiler/Profiler;swap(Ljava/lang/String;)V", args = "ldc=hand"), method = "renderWorld")
- public void render(float tickDelta, long limitTime, MatrixStack matrix, CallbackInfo info) {
- MPKMod.INSTANCE.eventHandler.onRenderWorldOverlay(matrix, tickDelta);
- }
-}
diff --git a/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/mixin/KeyBindingAccessor.java b/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/mixin/KeyBindingAccessor.java
deleted file mode 100644
index bdc0cad3..00000000
--- a/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/mixin/KeyBindingAccessor.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_19_4.mixin;
-
-import net.minecraft.client.option.KeyBinding;
-import net.minecraft.client.util.InputUtil;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.gen.Accessor;
-
-@Mixin(KeyBinding.class)
-public interface KeyBindingAccessor {
- @Accessor
- InputUtil.Key getBoundKey();
-}
diff --git a/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/mixin/KeyboardMixin.java b/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/mixin/KeyboardMixin.java
deleted file mode 100644
index c9720f44..00000000
--- a/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/mixin/KeyboardMixin.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_19_4.mixin;
-
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_19_4.MPKMod;
-import net.minecraft.client.Keyboard;
-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(Keyboard.class)
-public class KeyboardMixin {
- @Inject(method = "onKey", at = @At(value = "TAIL"))
- private void onKey(long window, int key, int scancode, int action, int modifiers, CallbackInfo ci) {
- if(key != -1) {
- MPKMod.INSTANCE.eventHandler.onKey(key, scancode, action);
- }
- }
-}
diff --git a/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/mixin/MinecraftClientMixin.java b/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/mixin/MinecraftClientMixin.java
deleted file mode 100644
index 99e35d61..00000000
--- a/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/mixin/MinecraftClientMixin.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_19_4.mixin;
-
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_19_4.MPKMod;
-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 MinecraftClientMixin {
- @Inject(at = @At("TAIL"), method = "")
- private void init(CallbackInfo info) {
- MPKMod.INSTANCE.init();
- }
-}
diff --git a/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/mixin/MouseMixin.java b/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/mixin/MouseMixin.java
deleted file mode 100644
index b6b05b70..00000000
--- a/fabric-1.19.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_19_4/mixin/MouseMixin.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_19_4.mixin;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import net.minecraft.client.Mouse;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.Shadow;
-import org.spongepowered.asm.mixin.injection.At;
-import org.spongepowered.asm.mixin.injection.Inject;
-import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
-
-@Mixin(Mouse.class)
-public class MouseMixin {
- @Shadow
- private double cursorDeltaX;
- @Shadow
- private double cursorDeltaY;
- @Shadow
- private double x;
- @Shadow
- private double y;
-
- @Inject(method = "onCursorPos", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Mouse;updateMouse()V"))
- private void onCursorPos(long window, double x, double y, CallbackInfo ci) {
- API.Events.onMouseInput(
- io.github.kurrycat.mpkmod.util.Mouse.Button.NONE,
- io.github.kurrycat.mpkmod.util.Mouse.State.NONE,
- (int) x, (int) y, (int) cursorDeltaX, (int) -cursorDeltaY,
- 0, System.nanoTime()
- );
- }
-
- @Inject(method = "onMouseScroll", at = @At(value = "TAIL"))
- private void onMouseScroll(long window, double horizontal, double vertical, CallbackInfo ci) {
- API.Events.onMouseInput(
- io.github.kurrycat.mpkmod.util.Mouse.Button.NONE,
- io.github.kurrycat.mpkmod.util.Mouse.State.NONE,
- (int) x, (int) y, 0, 0,
- (int) vertical, System.nanoTime()
- );
- }
-
- @Inject(method = "onMouseButton", at = @At(value = "TAIL"))
- private void onMouseButton(long window, int button, int action, int mods, CallbackInfo ci) {
- API.Events.onMouseInput(
- io.github.kurrycat.mpkmod.util.Mouse.Button.fromInt(button),
- button == -1 ? io.github.kurrycat.mpkmod.util.Mouse.State.NONE :
- (action == 1 ? io.github.kurrycat.mpkmod.util.Mouse.State.DOWN : io.github.kurrycat.mpkmod.util.Mouse.State.UP),
- (int) x, (int) y, 0, 0,
- 0, System.nanoTime()
- );
- }
-}
diff --git a/fabric-1.19.4/src/main/resources/assets/mpkmod/icon.png b/fabric-1.19.4/src/main/resources/assets/mpkmod/icon.png
deleted file mode 100644
index 48bcd55b..00000000
Binary files a/fabric-1.19.4/src/main/resources/assets/mpkmod/icon.png and /dev/null differ
diff --git a/fabric-1.19.4/src/main/resources/assets/mpkmod/lang/en_US.lang b/fabric-1.19.4/src/main/resources/assets/mpkmod/lang/en_US.lang
deleted file mode 100644
index 6bb9fb6f..00000000
--- a/fabric-1.19.4/src/main/resources/assets/mpkmod/lang/en_US.lang
+++ /dev/null
@@ -1,6 +0,0 @@
-mpkmod.key.main_gui.desc=Open MPK Mod GUI
-mpkmod.key.lb_gui.desc=Open Landing Block GUI
-mpkmod.key.lb_set.desc=Set Landing Block
-mpkmod.key.options_gui.desc=Open Options GUI
-mpkmod.main_gui.title=MPK Mod GUI
-mpkmod.lb_gui.title=Landing Block GUI
\ No newline at end of file
diff --git a/fabric-1.19.4/src/main/resources/assets/mpkmod/lang/en_us.json b/fabric-1.19.4/src/main/resources/assets/mpkmod/lang/en_us.json
deleted file mode 100644
index 167f27be..00000000
--- a/fabric-1.19.4/src/main/resources/assets/mpkmod/lang/en_us.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "mpkmod.key.main_gui.desc": "Open MPK Mod GUI",
- "mpkmod.key.lb_gui.desc": "Open Landing Block GUI",
- "mpkmod.key.lb_set.desc": "Set Landing Block",
- "mpkmod.key.options_gui.desc": "Open Options GUI",
- "mpkmod.main_gui.title": "MPK Mod GUI",
- "mpkmod.lb_gui.title": "Landing Block GUI"
-}
\ No newline at end of file
diff --git a/fabric-1.19.4/src/main/resources/assets/mpkmod/lang/pl_pl.json b/fabric-1.19.4/src/main/resources/assets/mpkmod/lang/pl_pl.json
deleted file mode 100644
index 886d7746..00000000
--- a/fabric-1.19.4/src/main/resources/assets/mpkmod/lang/pl_pl.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "mpkmod.key.main_gui.desc": "Otwórz menu MPK",
- "mpkmod.key.lb_gui.desc": "Otwórz menu Bloku Lądowania",
- "mpkmod.key.lb_set.desc": "Ustaw Blok Lądowania",
- "mpkmod.key.options_gui.desc": "Otwórz menu opcji",
- "mpkmod.main_gui.title": "Menu MPK",
- "mpkmod.lb_gui.title": "Menu Bloku Lądowania"
-}
\ No newline at end of file
diff --git a/fabric-1.19.4/src/main/resources/assets/mpkmod/lang/pl_pl.lang b/fabric-1.19.4/src/main/resources/assets/mpkmod/lang/pl_pl.lang
deleted file mode 100644
index 0d946226..00000000
--- a/fabric-1.19.4/src/main/resources/assets/mpkmod/lang/pl_pl.lang
+++ /dev/null
@@ -1,6 +0,0 @@
-mpkmod.key.main_gui.desc=Otwórz menu MPK
-mpkmod.key.lb_gui.desc=Otwórz menu Bloku Lądowania
-mpkmod.key.lb_set.desc=Ustaw Blok Lądowania
-mpkmod.key.options_gui.desc=Otwórz menu opcji
-mpkmod.main_gui.title=Menu MPK
-mpkmod.lb_gui.title=Menu Bloku Lądowania
\ No newline at end of file
diff --git a/fabric-1.19.4/src/main/resources/fabric.mod.json b/fabric-1.19.4/src/main/resources/fabric.mod.json
deleted file mode 100644
index 27204938..00000000
--- a/fabric-1.19.4/src/main/resources/fabric.mod.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "schemaVersion": 1,
- "id": "mpkmod",
- "version": "${version}",
-
- "name": "MPK Mod",
- "description": "A Mod that adds some features that help parkour to the game.",
- "authors": [
- "kurrycat",
- "CodeKid0 (Fabric port)",
- "Contributors"
- ],
- "contact": {
- "sources": "https://github.com/kurrycat2004/MPKMod_2"
- },
-
- "license": "MIT",
- "icon": "assets/mpkmod/icon.png",
- "environment": "client",
- "entrypoints": {
- "main": [
- "io.github.kurrycat.mpkmod.compatibility.fabric_1_19_4.MPKMod"
- ]
- },
- "mixins": [
- "mpkmod.mixins.json"
- ],
-
- "depends": {
- "fabricloader": ">=0.15.11",
- "fabric-api": "*",
- "minecraft": "~1.19.4",
- "java": ">=17"
- },
- "suggests": {}
-}
diff --git a/fabric-1.19.4/src/main/resources/mpkmod.mixins.json b/fabric-1.19.4/src/main/resources/mpkmod.mixins.json
deleted file mode 100644
index b6a72349..00000000
--- a/fabric-1.19.4/src/main/resources/mpkmod.mixins.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "required": true,
- "minVersion": "0.8",
- "package": "io.github.kurrycat.mpkmod.compatibility.fabric_1_19_4.mixin",
- "compatibilityLevel": "JAVA_17",
- "mixins": [
- ],
- "client": [
- "GameRendererMixin",
- "KeyBindingAccessor",
- "KeyboardMixin",
- "MinecraftClientMixin",
- "MouseMixin"
- ],
- "injectors": {
- "defaultRequire": 1
- }
-}
diff --git a/fabric-1.20.4/.gitignore b/fabric-1.20.4/.gitignore
deleted file mode 100644
index c476faf2..00000000
--- a/fabric-1.20.4/.gitignore
+++ /dev/null
@@ -1,40 +0,0 @@
-# gradle
-
-.gradle/
-build/
-out/
-classes/
-
-# eclipse
-
-*.launch
-
-# idea
-
-.idea/
-*.iml
-*.ipr
-*.iws
-
-# vscode
-
-.settings/
-.vscode/
-bin/
-.classpath
-.project
-
-# macos
-
-*.DS_Store
-
-# fabric
-
-run/
-
-# java
-
-hs_err_*.log
-replay_*.log
-*.hprof
-*.jfr
diff --git a/fabric-1.20.4/build.gradle b/fabric-1.20.4/build.gradle
deleted file mode 100644
index e9cf65e7..00000000
--- a/fabric-1.20.4/build.gradle
+++ /dev/null
@@ -1,21 +0,0 @@
-plugins {
- id 'fabric-loom' version "1.11-SNAPSHOT"
-}
-
-loom.runs.client.runDir = "../runs/run"
-
-dependencies {
- minecraft "com.mojang:minecraft:${project.minecraft_version}"
- mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
- modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
-
- modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
-}
-
-processResources {
- inputs.property "version", project.version
-
- filesMatching("fabric.mod.json") {
- expand "version": project.version
- }
-}
\ No newline at end of file
diff --git a/fabric-1.20.4/gradle.properties b/fabric-1.20.4/gradle.properties
deleted file mode 100644
index 91a28d90..00000000
--- a/fabric-1.20.4/gradle.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-# Done to increase the memory available to gradle.
-org.gradle.jvmargs=-Xmx1G
-org.gradle.parallel=true
-
-# Fabric Properties
-# check these on https://fabricmc.net/develop
-minecraft_version=1.20.4
-yarn_mappings=1.20.4+build.3
-loader_version=0.15.11
-
-# Fabric API
-fabric_version=0.97.0+1.20.4
-
-jdkVersion=17
diff --git a/fabric-1.20.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_4/EventHandler.java b/fabric-1.20.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_4/EventHandler.java
deleted file mode 100644
index b18ba6c1..00000000
--- a/fabric-1.20.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_4/EventHandler.java
+++ /dev/null
@@ -1,122 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_20_4;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.Player;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_20_4.mixin.KeyBindingAccessor;
-import io.github.kurrycat.mpkmod.ticks.ButtonMS;
-import io.github.kurrycat.mpkmod.ticks.ButtonMSList;
-import io.github.kurrycat.mpkmod.util.BoundingBox3D;
-import io.github.kurrycat.mpkmod.util.Vector3D;
-import net.fabricmc.fabric.api.networking.v1.PacketSender;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.DrawContext;
-import net.minecraft.client.network.ClientPlayNetworkHandler;
-import net.minecraft.client.network.ClientPlayerEntity;
-import net.minecraft.client.option.GameOptions;
-import net.minecraft.client.util.InputUtil;
-import net.minecraft.client.util.math.MatrixStack;
-import net.minecraft.util.Util;
-import net.minecraft.util.math.Vec3d;
-import net.minecraft.util.math.Box;
-
-public class EventHandler {
- private static final ButtonMSList timeQueue = new ButtonMSList();
-
- /**
- * @param key The GLFW key code. See {@link net.minecraft.client.util.InputUtil}.
- * @param scanCode
- * @param action The action, where 0 = unpressed, 1 = pressed, 2 = held.
- */
- public void onKey(int key, int scanCode, int action) {
- GameOptions options = MinecraftClient.getInstance().options;
- long eventNanos = Util.getMeasuringTimeNano();
-
- InputUtil.Key inputKey = InputUtil.fromKeyCode(key, scanCode);
-
- int[] keys = {
- ((KeyBindingAccessor)options.forwardKey).getBoundKey().getCode(),
- ((KeyBindingAccessor)options.leftKey).getBoundKey().getCode(),
- ((KeyBindingAccessor)options.backKey).getBoundKey().getCode(),
- ((KeyBindingAccessor)options.rightKey).getBoundKey().getCode(),
- ((KeyBindingAccessor)options.sprintKey).getBoundKey().getCode(),
- ((KeyBindingAccessor)options.sneakKey).getBoundKey().getCode(),
- ((KeyBindingAccessor)options.jumpKey).getBoundKey().getCode()
- };
-
- for (int i = 0; i < keys.length; i++) {
- if (key == keys[i]) {
- timeQueue.add(ButtonMS.of(ButtonMS.Button.values()[i], eventNanos, action == 1));
- }
- }
-
- if (action == 1) {
- FunctionCompatibility.pressedButtons.add(inputKey.getCode());
- } else if (action == 0) {
- FunctionCompatibility.pressedButtons.remove(inputKey.getCode());
- }
-
- API.Events.onKeyInput(key, inputKey.getLocalizedText().getString(), action == 1);
-
- MPKMod.keyBindingMap.forEach((id, keyBinding) -> {
- if (keyBinding.isPressed()) {
- API.Events.onKeybind(id);
- }
- });
- }
-
- public void onInGameOverlayRender(DrawContext drawContext, float tickDelta) {
- drawContext.getMatrices().push();
- API.getFunctionHolder().drawContext = drawContext;
- API.Events.onRenderOverlay();
- drawContext.getMatrices().pop();
- }
-
- public void onRenderWorldOverlay(MatrixStack matrixStack, float tickDelta) {
- MPKMod.INSTANCE.matrixStack = matrixStack;
- matrixStack.push();
- Vec3d pos = MinecraftClient.getInstance().gameRenderer.getCamera().getPos();
- MPKMod.INSTANCE.matrixStack.translate(-pos.x, -pos.y, -pos.z);
- API.Events.onRenderWorldOverlay(tickDelta);
- matrixStack.pop();
- }
-
- public void onClientTickStart(MinecraftClient mc) {
- if (mc.isPaused() || mc.world == null) return;
- API.Events.onTickStart();
- }
-
- public void onClientTickEnd(MinecraftClient mc) {
- if (mc.isPaused() || mc.world == null) return;
- ClientPlayerEntity mcPlayer = mc.player;
-
- if (mcPlayer != null) {
- Box playerBB = mcPlayer.getBoundingBox();
- new Player()
- .setPos(new Vector3D(mcPlayer.getX(), mcPlayer.getY(), mcPlayer.getZ()))
- .setLastPos(new Vector3D(mcPlayer.prevX, mcPlayer.prevY, mcPlayer.prevZ))
- .setMotion(new Vector3D(mcPlayer.getVelocity().x, mcPlayer.getVelocity().y, mcPlayer.getVelocity().z))
- .setRotation(mcPlayer.getRotationClient().y, mcPlayer.getRotationClient().x)
- .setOnGround(mcPlayer.isOnGround())
- .setSprinting(mcPlayer.isSprinting())
- .setBoundingBox(new BoundingBox3D(
- new Vector3D(playerBB.minX, playerBB.minY, playerBB.minZ),
- new Vector3D(playerBB.maxX, playerBB.maxY, playerBB.maxZ)
- ))
- .constructKeyInput()
- .setKeyMSList(timeQueue)
- .buildAndSave();
- timeQueue.clear();
- }
-
- API.Events.onTickEnd();
- }
-
-
- public void onServerConnect(ClientPlayNetworkHandler clientPlayNetworkHandler, PacketSender packetSender, MinecraftClient minecraftClient) {
- API.Events.onServerConnect(clientPlayNetworkHandler.getConnection().isLocal());
- }
-
- public void onServerDisconnect(ClientPlayNetworkHandler clientPlayNetworkHandler, MinecraftClient minecraftClient) {
- API.Events.onServerDisconnect();
- }
-}
diff --git a/fabric-1.20.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_4/FunctionCompatibility.java b/fabric-1.20.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_4/FunctionCompatibility.java
deleted file mode 100644
index c568856e..00000000
--- a/fabric-1.20.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_4/FunctionCompatibility.java
+++ /dev/null
@@ -1,457 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_20_4;
-
-import com.mojang.blaze3d.systems.RenderSystem;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.*;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_20_4.mixin.KeyBindingAccessor;
-import io.github.kurrycat.mpkmod.gui.MPKGuiScreen;
-import io.github.kurrycat.mpkmod.util.BoundingBox3D;
-import io.github.kurrycat.mpkmod.util.Debug;
-import io.github.kurrycat.mpkmod.util.Vector2D;
-import io.github.kurrycat.mpkmod.util.Vector3D;
-import io.github.kurrycat.mpkmod.util.ScissorBox;
-import io.github.kurrycat.mpknetapi.common.network.packet.MPKPacket;
-import io.netty.buffer.Unpooled;
-import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
-import net.minecraft.block.BlockState;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.DrawContext;
-import net.minecraft.client.gui.screen.Screen;
-import net.minecraft.client.network.ClientPlayerEntity;
-import net.minecraft.client.network.ServerInfo;
-import net.minecraft.client.option.GameOptions;
-import net.minecraft.client.option.KeyBinding;
-import net.minecraft.client.render.*;
-import net.minecraft.client.sound.PositionedSoundInstance;
-import net.minecraft.client.util.Window;
-import net.minecraft.client.util.math.MatrixStack;
-import net.minecraft.network.PacketByteBuf;
-import net.minecraft.registry.Registries;
-import net.minecraft.sound.SoundEvents;
-import net.minecraft.util.Util;
-import net.minecraft.util.hit.BlockHitResult;
-import net.minecraft.util.hit.HitResult;
-import net.minecraft.util.math.BlockPos;
-import net.minecraft.util.math.MathHelper;
-import org.joml.Matrix4f;
-import org.lwjgl.opengl.GL11;
-
-import java.awt.*;
-import java.util.*;
-import java.util.List;
-
-public class FunctionCompatibility implements FunctionHolder,
- SoundManager.Interface,
- WorldInteraction.Interface,
- Renderer3D.Interface,
- Renderer2D.Interface,
- FontRenderer.Interface,
- io.github.kurrycat.mpkmod.compatibility.MCClasses.Minecraft.Interface,
- io.github.kurrycat.mpkmod.compatibility.MCClasses.Keyboard.Interface,
- Profiler.Interface {
- public static final Set pressedButtons = new HashSet<>();
- public DrawContext drawContext = null;
- private static final Stack scissorStack = new Stack<>();
-
- public void playButtonSound() {
- MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
- }
-
- public List getCollisionBoundingBoxes(Vector3D blockPosVector) {
- final Vector3D blockPosVec = blockPosVector.copy();
- BlockPos blockPos = new BlockPos(blockPosVec.getXI(), blockPosVec.getYI(), blockPosVec.getZI());
- if (MinecraftClient.getInstance().world == null) return null;
- ArrayList boundingBoxes = new ArrayList<>();
- BlockState blockState = MinecraftClient.getInstance().world.getBlockState(blockPos);
-
- blockState.getCollisionShape(MinecraftClient.getInstance().world, blockPos).simplify().forEachBox(
- ((minX, minY, minZ, maxX, maxY, maxZ) -> boundingBoxes.add(
- new BoundingBox3D(new Vector3D(minX, minY, minZ), new Vector3D(maxX, maxY, maxZ)).move(blockPosVec)
- ))
- );
-
- return boundingBoxes;
- }
-
- public Vector3D getLookingAt() {
- if (MinecraftClient.getInstance().getCameraEntity() == null)
- return null;
-
- HitResult hitResult = MinecraftClient.getInstance().getCameraEntity().raycast(20, 0, false);
- if (hitResult instanceof BlockHitResult) {
- BlockPos blockPos = ((BlockHitResult) hitResult).getBlockPos();
- return new Vector3D(blockPos.getX(), blockPos.getY(), blockPos.getZ());
- }
-
- return null;
- }
-
- @Override
- public String getBlockName(Vector3D blockPos) {
- BlockPos blockpos = new BlockPos(blockPos.getXI(), blockPos.getYI(), blockPos.getZI());
- if (MinecraftClient.getInstance().world == null)
- return null;
-
- return Registries.BLOCK.getKey(
- MinecraftClient.getInstance().world.getBlockState(blockpos).getBlock()
- ).get().getValue().toString();
- }
-
- @Override
- public HashMap getBlockProperties(Vector3D blockPos) {
- HashMap properties = new HashMap<>();
- if (MinecraftClient.getInstance().world == null)
- return properties;
-
- BlockPos blockpos = new BlockPos(blockPos.getXI(), blockPos.getYI(), blockPos.getZI());
- BlockState blockState = MinecraftClient.getInstance().world.getBlockState(blockpos);
- blockState.getEntries().forEach((key, value) ->
- properties.put(key.getName(), Util.getValueAsString(key, value))
- );
- return null;
- }
-
- /**
- * Is called in {@link io.github.kurrycat.mpkmod.compatibility.MCClasses.WorldInteraction.Interface WorldInteraction.Interface}
- */
- public String getLookingAtBlock() {
- if (MinecraftClient.getInstance().getCameraEntity() == null)
- return null;
-
- HitResult hitResult = MinecraftClient.getInstance().getCameraEntity().raycast(20, 0, false);
- if (hitResult.getType() == HitResult.Type.BLOCK && MinecraftClient.getInstance().world != null) {
- return Registries.BLOCK.getKey(
- MinecraftClient.getInstance().world.getBlockState(((BlockHitResult) hitResult).getBlockPos()).getBlock()
- ).get().getValue().toTranslationKey();
- }
- return null;
- }
-
- public void drawBox(BoundingBox3D bb, Color color, float partialTicks) {
- int r = color.getRed(), g = color.getGreen(), b = color.getBlue(), a = color.getAlpha();
-
- RenderSystem.applyModelViewMatrix();
-
- RenderSystem.enableBlend();
- RenderSystem.enableDepthTest();
- RenderSystem.setShader(GameRenderer::getPositionColorProgram);
-
- Tessellator tessellator = Tessellator.getInstance();
- BufferBuilder builder = tessellator.getBuffer();
-
- RenderSystem.lineWidth(1.0F);
-
- Matrix4f posMat = MPKMod.INSTANCE.matrixStack.peek().getPositionMatrix();
-
- float minX = (float) bb.minX();
- float minY = (float) bb.minY();
- float minZ = (float) bb.minZ();
- float maxX = (float) bb.maxX();
- float maxY = (float) bb.maxY();
- float maxZ = (float) bb.maxZ();
-
- builder.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR);
-
- builder.vertex(posMat, minX, maxY, minZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, maxY, minZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, minY, minZ).color(r, g, b, a).next();
- builder.vertex(posMat, minX, minY, minZ).color(r, g, b, a).next();
-
- builder.vertex(posMat, minX, minY, maxZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, minY, maxZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, maxY, maxZ).color(r, g, b, a).next();
- builder.vertex(posMat, minX, maxY, maxZ).color(r, g, b, a).next();
-
- builder.vertex(posMat, minX, minY, minZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, minY, minZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, minY, maxZ).color(r, g, b, a).next();
- builder.vertex(posMat, minX, minY, maxZ).color(r, g, b, a).next();
-
- builder.vertex(posMat, minX, maxY, maxZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, maxY, maxZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, maxY, minZ).color(r, g, b, a).next();
- builder.vertex(posMat, minX, maxY, minZ).color(r, g, b, a).next();
-
- builder.vertex(posMat, minX, minY, maxZ).color(r, g, b, a).next();
- builder.vertex(posMat, minX, maxY, maxZ).color(r, g, b, a).next();
- builder.vertex(posMat, minX, maxY, minZ).color(r, g, b, a).next();
- builder.vertex(posMat, minX, minY, minZ).color(r, g, b, a).next();
-
- builder.vertex(posMat, maxX, minY, minZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, maxY, minZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, maxY, maxZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, minY, maxZ).color(r, g, b, a).next();
-
- tessellator.draw();
-
- RenderSystem.enableBlend();
- }
-
- /**
- * Is called in {@link Renderer2D.Interface}
- */
- public void drawRect(Vector2D pos, Vector2D size, Color color) {
- if (drawContext == null) return;
- //0.04 because drawString SHADOW_OFFSET is 0.03
- drawContext.getMatrices().translate(0, 0, 0.04);
- Matrix4f posMat = drawContext.getMatrices().peek().getPositionMatrix();
- int r = color.getRed(), g = color.getGreen(), b = color.getBlue(), a = color.getAlpha();
- double x = pos.getX(), y = pos.getY(), w = size.getX(), h = size.getY();
-
- Tessellator tessellator = Tessellator.getInstance();
- BufferBuilder bb = tessellator.getBuffer();
- RenderSystem.enableBlend();
- RenderSystem.setShader(GameRenderer::getPositionColorProgram);
- bb.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR);
- bb.vertex(posMat, (float) x, (float) (y + h), 0).color(r, g, b, a).next();
- bb.vertex(posMat, (float) (x + w), (float) (y + h), 0).color(r, g, b, a).next();
- bb.vertex(posMat, (float) (x + w), (float) y, 0).color(r, g, b, a).next();
- bb.vertex(posMat, (float) x, (float) y, 0).color(r, g, b, a).next();
- tessellator.draw();
-
- RenderSystem.disableBlend();
- }
-
- /**
- * Is called in {@link Renderer2D.Interface}
- */
- public void drawLines(Collection points, Color color) {
- if (points.size() < 2) {
- Debug.stacktrace("At least two points expected, got: " + points.size());
- return;
- }
- int r = color.getRed(), g = color.getGreen(), b = color.getBlue(), a = color.getAlpha();
-
- drawContext.getMatrices().translate(0, 0, 0.04);
- Matrix4f posMat = drawContext.getMatrices().peek().getPositionMatrix();
-
- RenderSystem.enableBlend();
- RenderSystem.enableDepthTest();
- RenderSystem.setShader(GameRenderer::getPositionColorProgram);
-
- Tessellator tessellator = Tessellator.getInstance();
- BufferBuilder builder = tessellator.getBuffer();
-
- RenderSystem.lineWidth(1.0f);
-
- builder.begin(VertexFormat.DrawMode.DEBUG_LINE_STRIP, VertexFormats.POSITION_COLOR);
-
- for (Vector2D p : points) {
- builder.vertex(posMat, (float) p.getX(), (float) p.getY(), 0).color(r, g, b, a).next();
- }
-
- tessellator.draw();
-
- RenderSystem.enableBlend();
- }
-
- public Vector2D getScaledSize() {
- return new Vector2D(
- MinecraftClient.getInstance().getWindow().getScaledWidth(),
- MinecraftClient.getInstance().getWindow().getScaledHeight()
- );
- }
-
- public Vector2D getScreenSize() {
- return new Vector2D(MinecraftClient.getInstance().getWindow().getWidth(), MinecraftClient.getInstance().getWindow().getHeight());
- }
-
- public void enableScissor(double x, double y, double w, double h) {
- ScissorBox box;
- if (scissorStack.isEmpty()) box = new ScissorBox(x, y, w, h);
- else {
- ScissorBox prev = scissorStack.peek();
- double bx = Math.max(prev.x, x), by = Math.max(prev.y, y);
- box = new ScissorBox(bx, by,
- Math.min(x + w, prev.x + prev.w) - bx,
- Math.min(y + h, prev.y + prev.h) - by
- );
- }
- scissorStack.push(box);
- setScissor(box);
- }
-
- public void disableScissor() {
- if (!scissorStack.isEmpty()) scissorStack.pop();
- if (scissorStack.isEmpty()) setScissor(null);
- else setScissor(scissorStack.peek());
- }
-
- public void clearScissors() {
- scissorStack.clear();
- setScissor(null);
- }
-
- private void setScissor(ScissorBox box) {
- if (box == null) {
- GL11.glDisable(GL11.GL_SCISSOR_TEST);
- } else {
- GL11.glEnable(GL11.GL_SCISSOR_TEST);
- Window r = MinecraftClient.getInstance().getWindow();
-
- double scaleFactor = r.getScaleFactor();
- double posX = box.x * scaleFactor;
- double posY = r.getFramebufferHeight() - (box.y + box.h) * scaleFactor;
- double width = box.w * scaleFactor;
- double height = box.h * scaleFactor;
- GL11.glScissor((int) posX, (int) posY, Math.max(0, (int) width), Math.max(0, (int) height));
- }
- }
-
- public boolean scissorContains(Vector2D point) {
- return scissorStack.isEmpty() || scissorStack.peek().contains(point);
- }
-
- public void drawString(String text, double x, double y, Color color, double fontSize, boolean shadow) {
- if (drawContext == null) return;
- MatrixStack matrixStack = drawContext.getMatrices();
- matrixStack.translate(0, 0, 0.04);
- matrixStack.push();
- matrixStack.translate(x, y, 0);
- double scale = fontSize / MinecraftClient.getInstance().textRenderer.fontHeight;
- matrixStack.scale((float) scale, (float) scale, 1);
- drawContext.drawText(
- MinecraftClient.getInstance().textRenderer, text,
- 0, 0, color.getRGB(), shadow
- );
- matrixStack.pop();
- }
-
- public Vector2D getStringSize(String text, double fontSize) {
- return new Vector2D(
- MinecraftClient.getInstance().textRenderer.getWidth(text) *
- (float) (fontSize / MinecraftClient.getInstance().textRenderer.fontHeight),
- (float) fontSize
- );
- }
-
- public String getIP() {
- ServerInfo d = MinecraftClient.getInstance().getCurrentServerEntry();
-
- if (d == null)
- return "Multiplayer";
- else
- return d.address;
- }
-
- public String getFPS() {
- String[] split = MinecraftClient.getInstance().fpsDebugString.split(" ");
- if (split.length == 0)
- return "Error";
- return split[0];
- }
-
- public void displayGuiScreen(MPKGuiScreen screen) {
- MinecraftClient.getInstance().setScreen(
- screen == null
- ? null
- : new io.github.kurrycat.mpkmod.compatibility.fabric_1_20_4.MPKGuiScreen(screen));
- }
-
- public String getCurrentGuiScreen() {
- Screen curr = MinecraftClient.getInstance().currentScreen;
-
- if (curr == null)
- return null;
- else if (curr instanceof io.github.kurrycat.mpkmod.compatibility.fabric_1_20_4.MPKGuiScreen) {
- String id = ((io.github.kurrycat.mpkmod.compatibility.fabric_1_20_4.MPKGuiScreen) curr).eventReceiver.getID();
- if (id == null)
- id = "unknown";
-
- return id;
- }
-
- return curr.getClass().getSimpleName();
- }
-
- /**
- * Is called in {@link io.github.kurrycat.mpkmod.compatibility.MCClasses.Minecraft.Interface Minecraft.Interface}
- */
- public String getUserName() {
- if (MinecraftClient.getInstance().player == null) return null;
- return MinecraftClient.getInstance().player.getName().getString();
- }
-
- public void copyToClipboard(String content) {
- MinecraftClient.getInstance().keyboard.setClipboard(content);
- }
-
- public boolean setInputs(Float yaw, boolean relYaw, Float pitch, boolean relPitch, int pressedInputs, int releasedInputs, int L, int R) {
- if (!io.github.kurrycat.mpkmod.compatibility.MCClasses.Minecraft.isSingleplayer()) return false;
- ClientPlayerEntity player = MinecraftClient.getInstance().player;
- if (player == null) return false;
- GameOptions op = MinecraftClient.getInstance().options;
-
- float prevYaw = player.getYaw();
- float prevPitch = player.getPitch();
-
- if (yaw != null) {
- player.setYaw(relYaw ? (player.getYaw() + yaw) : yaw);
- player.prevYaw += player.getYaw() - prevYaw;
- }
- if (pitch != null) {
- player.setPitch(relPitch ? (player.getPitch() + pitch) : pitch);
- player.setPitch(MathHelper.clamp(player.getPitch(), -90.0F, 90.0F));
-
- player.prevPitch += player.getPitch() - prevPitch;
- player.prevPitch = MathHelper.clamp(player.prevPitch, -90.0F, 90.0F);
- }
-
- if (player.getVehicle() != null) {
- player.getVehicle().onPassengerLookAround(player);
- }
-
- KeyBinding[] keys = new KeyBinding[]{
- op.forwardKey,
- op.leftKey,
- op.backKey,
- op.rightKey,
- op.sprintKey,
- op.sneakKey,
- op.jumpKey
- };
-
- for (int i = 0; i < keys.length; i++) {
- if ((releasedInputs & 1 << i) != 0) {
- KeyBinding.setKeyPressed(((KeyBindingAccessor) keys[i]).getBoundKey(), false);
- }
- if ((pressedInputs & 1 << i) != 0) {
- KeyBinding.setKeyPressed(((KeyBindingAccessor) keys[i]).getBoundKey(), true);
- KeyBinding.onKeyPressed(((KeyBindingAccessor) keys[i]).getBoundKey());
- }
- }
-
- KeyBinding.setKeyPressed(((KeyBindingAccessor) op.attackKey).getBoundKey(), L > 0);
- for (int i = 0; i < L; i++)
- KeyBinding.onKeyPressed(((KeyBindingAccessor) op.attackKey).getBoundKey());
-
- KeyBinding.setKeyPressed(((KeyBindingAccessor) op.useKey).getBoundKey(), R > 0);
- for (int i = 0; i < R; i++)
- KeyBinding.onKeyPressed(((KeyBindingAccessor) op.useKey).getBoundKey());
-
- return true;
- }
-
- public boolean isF3Enabled() {
- return MinecraftClient.getInstance().getDebugHud().shouldShowDebugHud();
- }
-
- public void sendPacket(MPKPacket packet) {
- ClientPlayNetworking.send(MPKMod.NETWORKING_IDENTIFIER, new PacketByteBuf(Unpooled.wrappedBuffer(packet.getData())));
- }
-
- public List getPressedButtons() {
- return new ArrayList<>(pressedButtons);
- }
-
- public void startSection(String name) {
- MinecraftClient.getInstance().getProfiler().push(name);
- }
-
- public void endStartSection(String name) {
- MinecraftClient.getInstance().getProfiler().swap(name);
- }
-
- public void endSection() {
- MinecraftClient.getInstance().getProfiler().pop();
- }
-}
diff --git a/fabric-1.20.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_4/MPKGuiScreen.java b/fabric-1.20.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_4/MPKGuiScreen.java
deleted file mode 100644
index 79439e7e..00000000
--- a/fabric-1.20.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_4/MPKGuiScreen.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_20_4;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.Profiler;
-import io.github.kurrycat.mpkmod.util.MathUtil;
-import io.github.kurrycat.mpkmod.util.Vector2D;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.DrawContext;
-import net.minecraft.client.gui.screen.Screen;
-import net.minecraft.text.Text;
-
-public class MPKGuiScreen extends Screen {
- public io.github.kurrycat.mpkmod.gui.MPKGuiScreen eventReceiver;
-
- public MPKGuiScreen(io.github.kurrycat.mpkmod.gui.MPKGuiScreen screen) {
- super(Text.translatable(API.MODID + ".gui.title"));
- eventReceiver = screen;
- }
-
- public void init() {
- eventReceiver.onInit();
- }
-
- @Override
- public void resize(MinecraftClient client, int width, int height) {
- super.resize(client, width, height);
- eventReceiver.onResize(width, height);
- }
-
- public void render(DrawContext drawContext, int mouseX, int mouseY, float delta) {
- drawContext.getMatrices().push();
- API.getFunctionHolder().drawContext = drawContext;
- Profiler.startSection(eventReceiver.getID() == null ? "mpk_gui" : eventReceiver.getID());
- try {
- eventReceiver.drawScreen(new Vector2D(mouseX, mouseY), delta);
- } catch (Exception e) {
- API.LOGGER.warn("Error in drawScreen with id: " + eventReceiver.getID(), e);
- }
- Profiler.endSection();
- drawContext.getMatrices().pop();
- }
-
- public void close() {
- super.close();
- eventReceiver.onGuiClosed();
- }
-
- public boolean shouldPause() {
- return false;
- }
-
- public boolean mouseClicked(double mouseX, double mouseY, int state) {
- eventReceiver.onMouseClicked(new Vector2D(mouseX, mouseY), state);
- return super.mouseClicked(mouseX, mouseY, state);
- }
-
- public boolean mouseReleased(double mouseX, double mouseY, int state) {
- eventReceiver.onMouseReleased(new Vector2D(mouseX, mouseY), state);
- return super.mouseReleased(mouseX, mouseY, state);
- }
-
- public boolean mouseDragged(double mouseX, double mouseY, int clickedMouseButton, double moveX, double moveY) {
- eventReceiver.onMouseClickMove(new Vector2D(mouseX, mouseY), clickedMouseButton, 0);
- return super.mouseDragged(mouseX, mouseY, clickedMouseButton, moveX, moveY);
- }
-
- public boolean keyPressed(int keyCode, int scanCode, int modifiers) {
- eventReceiver.onKeyEvent(keyCode, scanCode, modifiers, false);
- return super.keyPressed(keyCode, scanCode, modifiers);
- }
-
- @Override
- public boolean charTyped(char c, int modifiers) {
- eventReceiver.onKeyEvent(c, 0, modifiers, true);
- return super.charTyped(c, modifiers);
- }
-
- @Override
- public boolean mouseScrolled(double mouseX, double mouseY, double horizontalAmount, double verticalAmount) {
- eventReceiver.onMouseScroll(
- new Vector2D(mouseX, mouseY),
- (int) (MathUtil.constrain(verticalAmount, -1, 1) * 7)
- );
- return super.mouseScrolled(mouseX, mouseY, horizontalAmount, verticalAmount);
- }
-}
diff --git a/fabric-1.20.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_4/MPKMod.java b/fabric-1.20.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_4/MPKMod.java
deleted file mode 100644
index 8d4b6bef..00000000
--- a/fabric-1.20.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_4/MPKMod.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_20_4;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.KeyBinding;
-import io.github.kurrycat.mpknetapi.common.MPKNetworking;
-import io.github.kurrycat.mpknetapi.common.network.packet.MPKPacket;
-import net.fabricmc.api.ModInitializer;
-import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
-import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
-import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents;
-import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
-import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback;
-import net.minecraft.SharedConstants;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.util.math.MatrixStack;
-import net.minecraft.util.Identifier;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class MPKMod implements ModInitializer {
- public static final MPKMod INSTANCE = new MPKMod();
- public static Map keyBindingMap = new HashMap<>();
- public final EventHandler eventHandler = new EventHandler();
- public MatrixStack matrixStack;
-
- public static final Identifier NETWORKING_IDENTIFIER = Identifier.of(MPKNetworking.CHANNEL_NAMESPACE, MPKNetworking.CHANNEL_PATH);
-
- @Override
- public void onInitialize() {
- // This code runs as soon as Minecraft is in a mod-load-ready state.
- // However, some things (like resources) may still be uninitialized.
- API.LOGGER.info("Loading " + API.NAME + " " + API.VERSION);
- API.preInit(getClass());
- registerKeybindingsFromGUIs();
-
- HudRenderCallback.EVENT.register(eventHandler::onInGameOverlayRender);
- ClientTickEvents.START_CLIENT_TICK.register(eventHandler::onClientTickStart);
- ClientTickEvents.END_CLIENT_TICK.register(eventHandler::onClientTickEnd);
- ClientPlayConnectionEvents.JOIN.register(eventHandler::onServerConnect);
- ClientPlayConnectionEvents.DISCONNECT.register(eventHandler::onServerDisconnect);
-
- ClientPlayNetworking.registerGlobalReceiver(NETWORKING_IDENTIFIER, ((client, handler, buf, responseSender) -> {
- MPKPacket packet = MPKPacket.handle(API.PACKET_LISTENER_CLIENT, buf.array(), null);
- if (packet != null) {
- API.Events.onPluginMessage(packet);
- }
- }));
- }
-
- private void registerKeybindingsFromGUIs() {
- API.guiScreenMap.forEach((id, guiScreen) -> {
- if (guiScreen.shouldCreateKeyBind())
- registerKeyBinding(id);
- });
-
- API.keyBindingMap.forEach((id, consumer) -> registerKeyBinding(id));
- keyBindingMap.forEach((id, key) -> KeyBindingHelper.registerKeyBinding(key));
- }
-
- public void registerKeyBinding(String id) {
- net.minecraft.client.option.KeyBinding keyBinding = new net.minecraft.client.option.KeyBinding(
- API.MODID + ".key." + id + ".desc",
- -1,
- API.KEYBINDING_CATEGORY
- );
-
- keyBindingMap.put(id, keyBinding);
- }
-
- public void init() {
- API.LOGGER.info(API.COMPATIBILITY_MARKER, "Registering compatibility functions...");
- API.registerFunctionHolder(new FunctionCompatibility());
- API.LOGGER.info(API.COMPATIBILITY_MARKER, "Registered compatibility functions.");
-
- registerKeyBindings();
- API.init(SharedConstants.getGameVersion().getName());
-
- API.Events.onLoadComplete();
- }
-
- private void registerKeyBindings() {
- for (net.minecraft.client.option.KeyBinding k : MinecraftClient.getInstance().options.allKeys) {
- new io.github.kurrycat.mpkmod.compatibility.MCClasses.KeyBinding(
- () -> k.getBoundKeyLocalizedText().getString(),
- k.getTranslationKey(),
- k::isPressed
- );
- }
-
- API.LOGGER.info(API.COMPATIBILITY_MARKER, "Registered {} Keybindings", KeyBinding.getKeyMap().size());
- }
-}
diff --git a/fabric-1.20.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_4/mixin/GameRendererMixin.java b/fabric-1.20.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_4/mixin/GameRendererMixin.java
deleted file mode 100644
index 3dd4ff09..00000000
--- a/fabric-1.20.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_4/mixin/GameRendererMixin.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_20_4.mixin;
-
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_20_4.MPKMod;
-import net.minecraft.client.render.GameRenderer;
-import net.minecraft.client.util.math.MatrixStack;
-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(value = GameRenderer.class)
-public class GameRendererMixin {
- @Inject(at = @At(value = "INVOKE_STRING",
- target = "Lnet/minecraft/util/profiler/Profiler;swap(Ljava/lang/String;)V",
- args = "ldc=hand"),
- method = "renderWorld")
- public void render(float tickDelta, long limitTime, MatrixStack matrix, CallbackInfo ci) {
- MPKMod.INSTANCE.eventHandler.onRenderWorldOverlay(matrix, tickDelta);
- }
-}
diff --git a/fabric-1.20.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_4/mixin/KeyBindingAccessor.java b/fabric-1.20.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_4/mixin/KeyBindingAccessor.java
deleted file mode 100644
index 34483a91..00000000
--- a/fabric-1.20.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_4/mixin/KeyBindingAccessor.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_20_4.mixin;
-
-import net.minecraft.client.option.KeyBinding;
-import net.minecraft.client.util.InputUtil;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.gen.Accessor;
-
-@Mixin(KeyBinding.class)
-public interface KeyBindingAccessor {
- @Accessor
- InputUtil.Key getBoundKey();
-}
diff --git a/fabric-1.20.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_4/mixin/KeyboardMixin.java b/fabric-1.20.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_4/mixin/KeyboardMixin.java
deleted file mode 100644
index 650c0d1c..00000000
--- a/fabric-1.20.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_4/mixin/KeyboardMixin.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_20_4.mixin;
-
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_20_4.MPKMod;
-import net.minecraft.client.Keyboard;
-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(Keyboard.class)
-public class KeyboardMixin {
- @Inject(method = "onKey", at = @At(value = "RETURN"))
- private void onKey(long window, int key, int scancode, int action, int modifiers, CallbackInfo ci) {
- if(key != -1) {
- MPKMod.INSTANCE.eventHandler.onKey(key, scancode, action);
- }
- }
-}
diff --git a/fabric-1.20.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_4/mixin/MouseMixin.java b/fabric-1.20.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_4/mixin/MouseMixin.java
deleted file mode 100644
index 67edd326..00000000
--- a/fabric-1.20.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_4/mixin/MouseMixin.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_20_4.mixin;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import net.minecraft.client.Mouse;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.Shadow;
-import org.spongepowered.asm.mixin.injection.At;
-import org.spongepowered.asm.mixin.injection.Inject;
-import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
-
-@Mixin(Mouse.class)
-public class MouseMixin {
- @Shadow
- private double cursorDeltaX;
- @Shadow
- private double cursorDeltaY;
- @Shadow
- private double x;
- @Shadow
- private double y;
-
- @Inject(method = "onCursorPos", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Mouse;updateMouse()V"))
- private void onCursorPos(long window, double x, double y, CallbackInfo ci) {
- API.Events.onMouseInput(
- io.github.kurrycat.mpkmod.util.Mouse.Button.NONE,
- io.github.kurrycat.mpkmod.util.Mouse.State.NONE,
- (int) x, (int) y, (int) cursorDeltaX, (int) -cursorDeltaY,
- 0, System.nanoTime()
- );
- }
-
- @Inject(method = "onMouseScroll", at = @At(value = "TAIL"))
- private void onMouseScroll(long window, double horizontal, double vertical, CallbackInfo ci) {
- API.Events.onMouseInput(
- io.github.kurrycat.mpkmod.util.Mouse.Button.NONE,
- io.github.kurrycat.mpkmod.util.Mouse.State.NONE,
- (int) x, (int) y, 0, 0,
- (int) vertical, System.nanoTime()
- );
- }
-
- @Inject(method = "onMouseButton", at = @At(value = "TAIL"))
- private void onMouseButton(long window, int button, int action, int mods, CallbackInfo ci) {
- API.Events.onMouseInput(
- io.github.kurrycat.mpkmod.util.Mouse.Button.fromInt(button),
- button == -1 ? io.github.kurrycat.mpkmod.util.Mouse.State.NONE :
- (action == 1 ? io.github.kurrycat.mpkmod.util.Mouse.State.DOWN : io.github.kurrycat.mpkmod.util.Mouse.State.UP),
- (int) x, (int) y, 0, 0,
- 0, System.nanoTime()
- );
- }
-}
diff --git a/fabric-1.20.4/src/main/resources/assets/mpkmod/icon.png b/fabric-1.20.4/src/main/resources/assets/mpkmod/icon.png
deleted file mode 100644
index 48bcd55b..00000000
Binary files a/fabric-1.20.4/src/main/resources/assets/mpkmod/icon.png and /dev/null differ
diff --git a/fabric-1.20.4/src/main/resources/assets/mpkmod/lang/en_US.lang b/fabric-1.20.4/src/main/resources/assets/mpkmod/lang/en_US.lang
deleted file mode 100644
index 6bb9fb6f..00000000
--- a/fabric-1.20.4/src/main/resources/assets/mpkmod/lang/en_US.lang
+++ /dev/null
@@ -1,6 +0,0 @@
-mpkmod.key.main_gui.desc=Open MPK Mod GUI
-mpkmod.key.lb_gui.desc=Open Landing Block GUI
-mpkmod.key.lb_set.desc=Set Landing Block
-mpkmod.key.options_gui.desc=Open Options GUI
-mpkmod.main_gui.title=MPK Mod GUI
-mpkmod.lb_gui.title=Landing Block GUI
\ No newline at end of file
diff --git a/fabric-1.20.4/src/main/resources/assets/mpkmod/lang/en_us.json b/fabric-1.20.4/src/main/resources/assets/mpkmod/lang/en_us.json
deleted file mode 100644
index 167f27be..00000000
--- a/fabric-1.20.4/src/main/resources/assets/mpkmod/lang/en_us.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "mpkmod.key.main_gui.desc": "Open MPK Mod GUI",
- "mpkmod.key.lb_gui.desc": "Open Landing Block GUI",
- "mpkmod.key.lb_set.desc": "Set Landing Block",
- "mpkmod.key.options_gui.desc": "Open Options GUI",
- "mpkmod.main_gui.title": "MPK Mod GUI",
- "mpkmod.lb_gui.title": "Landing Block GUI"
-}
\ No newline at end of file
diff --git a/fabric-1.20.4/src/main/resources/assets/mpkmod/lang/pl_pl.json b/fabric-1.20.4/src/main/resources/assets/mpkmod/lang/pl_pl.json
deleted file mode 100644
index 886d7746..00000000
--- a/fabric-1.20.4/src/main/resources/assets/mpkmod/lang/pl_pl.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "mpkmod.key.main_gui.desc": "Otwórz menu MPK",
- "mpkmod.key.lb_gui.desc": "Otwórz menu Bloku Lądowania",
- "mpkmod.key.lb_set.desc": "Ustaw Blok Lądowania",
- "mpkmod.key.options_gui.desc": "Otwórz menu opcji",
- "mpkmod.main_gui.title": "Menu MPK",
- "mpkmod.lb_gui.title": "Menu Bloku Lądowania"
-}
\ No newline at end of file
diff --git a/fabric-1.20.4/src/main/resources/assets/mpkmod/lang/pl_pl.lang b/fabric-1.20.4/src/main/resources/assets/mpkmod/lang/pl_pl.lang
deleted file mode 100644
index 0d946226..00000000
--- a/fabric-1.20.4/src/main/resources/assets/mpkmod/lang/pl_pl.lang
+++ /dev/null
@@ -1,6 +0,0 @@
-mpkmod.key.main_gui.desc=Otwórz menu MPK
-mpkmod.key.lb_gui.desc=Otwórz menu Bloku Lądowania
-mpkmod.key.lb_set.desc=Ustaw Blok Lądowania
-mpkmod.key.options_gui.desc=Otwórz menu opcji
-mpkmod.main_gui.title=Menu MPK
-mpkmod.lb_gui.title=Menu Bloku Lądowania
\ No newline at end of file
diff --git a/fabric-1.20.4/src/main/resources/fabric.mod.json b/fabric-1.20.4/src/main/resources/fabric.mod.json
deleted file mode 100644
index 93653a07..00000000
--- a/fabric-1.20.4/src/main/resources/fabric.mod.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "schemaVersion": 1,
- "id": "mpkmod",
- "version": "${version}",
-
- "name": "MPK Mod",
- "description": "A Mod that adds some features that help parkour to the game.",
- "authors": [
- "kurrycat",
- "CodeKid0 (Fabric port)",
- "Contributors"
- ],
- "contact": {
- "sources": "https://github.com/kurrycat2004/MPKMod_2"
- },
-
- "license": "MIT",
- "icon": "assets/mpkmod/icon.png",
- "environment": "client",
- "entrypoints": {
- "main": [
- "io.github.kurrycat.mpkmod.compatibility.fabric_1_20_4.MPKMod"
- ]
- },
- "mixins": [
- "mpkmod.mixins.json"
- ],
-
- "depends": {
- "fabricloader": ">=0.15.11",
- "fabric-api": "*",
- "minecraft": "~1.20.4",
- "java": ">=17"
- },
- "suggests": {}
-}
diff --git a/fabric-1.20.4/src/main/resources/mpkmod.mixins.json b/fabric-1.20.4/src/main/resources/mpkmod.mixins.json
deleted file mode 100644
index 05668f05..00000000
--- a/fabric-1.20.4/src/main/resources/mpkmod.mixins.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "required": true,
- "minVersion": "0.8",
- "package": "io.github.kurrycat.mpkmod.compatibility.fabric_1_20_4.mixin",
- "compatibilityLevel": "JAVA_17",
- "mixins": [
- ],
- "client": [
- "GameRendererMixin",
- "KeyBindingAccessor",
- "KeyboardMixin",
- "MinecraftClientMixin",
- "MouseMixin"
- ],
- "injectors": {
- "defaultRequire": 1
- }
-}
diff --git a/fabric-1.20.6/.gitignore b/fabric-1.20.6/.gitignore
deleted file mode 100644
index c476faf2..00000000
--- a/fabric-1.20.6/.gitignore
+++ /dev/null
@@ -1,40 +0,0 @@
-# gradle
-
-.gradle/
-build/
-out/
-classes/
-
-# eclipse
-
-*.launch
-
-# idea
-
-.idea/
-*.iml
-*.ipr
-*.iws
-
-# vscode
-
-.settings/
-.vscode/
-bin/
-.classpath
-.project
-
-# macos
-
-*.DS_Store
-
-# fabric
-
-run/
-
-# java
-
-hs_err_*.log
-replay_*.log
-*.hprof
-*.jfr
diff --git a/fabric-1.20.6/build.gradle b/fabric-1.20.6/build.gradle
deleted file mode 100644
index e9cf65e7..00000000
--- a/fabric-1.20.6/build.gradle
+++ /dev/null
@@ -1,21 +0,0 @@
-plugins {
- id 'fabric-loom' version "1.11-SNAPSHOT"
-}
-
-loom.runs.client.runDir = "../runs/run"
-
-dependencies {
- minecraft "com.mojang:minecraft:${project.minecraft_version}"
- mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
- modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
-
- modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
-}
-
-processResources {
- inputs.property "version", project.version
-
- filesMatching("fabric.mod.json") {
- expand "version": project.version
- }
-}
\ No newline at end of file
diff --git a/fabric-1.20.6/gradle.properties b/fabric-1.20.6/gradle.properties
deleted file mode 100644
index 7042d6b6..00000000
--- a/fabric-1.20.6/gradle.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-# Done to increase the memory available to gradle.
-org.gradle.jvmargs=-Xmx1G
-org.gradle.parallel=true
-
-# Fabric Properties
-# check these on https://fabricmc.net/develop
-minecraft_version=1.20.6
-yarn_mappings=1.20.6+build.3
-loader_version=0.15.11
-
-# Fabric API
-fabric_version=0.99.0+1.20.6
-
-jdkVersion=21
diff --git a/fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/EventHandler.java b/fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/EventHandler.java
deleted file mode 100644
index c8b29748..00000000
--- a/fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/EventHandler.java
+++ /dev/null
@@ -1,122 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_20_6;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.Player;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_20_6.mixin.KeyBindingAccessor;
-import io.github.kurrycat.mpkmod.ticks.ButtonMS;
-import io.github.kurrycat.mpkmod.ticks.ButtonMSList;
-import io.github.kurrycat.mpkmod.util.BoundingBox3D;
-import io.github.kurrycat.mpkmod.util.Vector3D;
-import net.fabricmc.fabric.api.networking.v1.PacketSender;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.DrawContext;
-import net.minecraft.client.network.ClientPlayNetworkHandler;
-import net.minecraft.client.network.ClientPlayerEntity;
-import net.minecraft.client.option.GameOptions;
-import net.minecraft.client.util.InputUtil;
-import net.minecraft.client.util.math.MatrixStack;
-import net.minecraft.util.Util;
-import net.minecraft.util.math.Vec3d;
-import net.minecraft.util.math.Box;
-
-public class EventHandler {
- private static final ButtonMSList timeQueue = new ButtonMSList();
-
- /**
- * @param key The GLFW key code. See {@link net.minecraft.client.util.InputUtil}.
- * @param scanCode
- * @param action The action, where 0 = unpressed, 1 = pressed, 2 = held.
- */
- public void onKey(int key, int scanCode, int action) {
- GameOptions options = MinecraftClient.getInstance().options;
- long eventNanos = Util.getMeasuringTimeNano();
-
- InputUtil.Key inputKey = InputUtil.fromKeyCode(key, scanCode);
-
- int[] keys = {
- ((KeyBindingAccessor)options.forwardKey).getBoundKey().getCode(),
- ((KeyBindingAccessor)options.leftKey).getBoundKey().getCode(),
- ((KeyBindingAccessor)options.backKey).getBoundKey().getCode(),
- ((KeyBindingAccessor)options.rightKey).getBoundKey().getCode(),
- ((KeyBindingAccessor)options.sprintKey).getBoundKey().getCode(),
- ((KeyBindingAccessor)options.sneakKey).getBoundKey().getCode(),
- ((KeyBindingAccessor)options.jumpKey).getBoundKey().getCode()
- };
-
- for (int i = 0; i < keys.length; i++) {
- if (key == keys[i]) {
- timeQueue.add(ButtonMS.of(ButtonMS.Button.values()[i], eventNanos, action == 1));
- }
- }
-
- if (action == 1) {
- FunctionCompatibility.pressedButtons.add(inputKey.getCode());
- } else if (action == 0) {
- FunctionCompatibility.pressedButtons.remove(inputKey.getCode());
- }
-
- API.Events.onKeyInput(key, inputKey.getLocalizedText().getString(), action == 1);
-
- MPKMod.keyBindingMap.forEach((id, keyBinding) -> {
- if (keyBinding.isPressed()) {
- API.Events.onKeybind(id);
- }
- });
- }
-
- public void onInGameOverlayRender(DrawContext drawContext, float tickDelta) {
- drawContext.getMatrices().push();
- API.getFunctionHolder().drawContext = drawContext;
- API.Events.onRenderOverlay();
- drawContext.getMatrices().pop();
- }
-
- public void onRenderWorldOverlay(MatrixStack matrixStack, float tickDelta) {
- MPKMod.INSTANCE.matrixStack = matrixStack;
- matrixStack.push();
- Vec3d pos = MinecraftClient.getInstance().gameRenderer.getCamera().getPos();
- MPKMod.INSTANCE.matrixStack.translate(-pos.x, -pos.y, -pos.z);
- API.Events.onRenderWorldOverlay(tickDelta);
- matrixStack.pop();
- }
-
- public void onClientTickStart(MinecraftClient mc) {
- if (mc.isPaused() || mc.world == null) return;
- API.Events.onTickStart();
- }
-
- public void onClientTickEnd(MinecraftClient mc) {
- if (mc.isPaused() || mc.world == null) return;
- ClientPlayerEntity mcPlayer = mc.player;
-
- if (mcPlayer != null) {
- Box playerBB = mcPlayer.getBoundingBox();
- new Player()
- .setPos(new Vector3D(mcPlayer.getX(), mcPlayer.getY(), mcPlayer.getZ()))
- .setLastPos(new Vector3D(mcPlayer.prevX, mcPlayer.prevY, mcPlayer.prevZ))
- .setMotion(new Vector3D(mcPlayer.getVelocity().x, mcPlayer.getVelocity().y, mcPlayer.getVelocity().z))
- .setRotation(mcPlayer.getRotationClient().y, mcPlayer.getRotationClient().x)
- .setOnGround(mcPlayer.isOnGround())
- .setSprinting(mcPlayer.isSprinting())
- .setBoundingBox(new BoundingBox3D(
- new Vector3D(playerBB.minX, playerBB.minY, playerBB.minZ),
- new Vector3D(playerBB.maxX, playerBB.maxY, playerBB.maxZ)
- ))
- .constructKeyInput()
- .setKeyMSList(timeQueue)
- .buildAndSave();
- timeQueue.clear();
- }
-
- API.Events.onTickEnd();
- }
-
-
- public void onServerConnect(ClientPlayNetworkHandler clientPlayNetworkHandler, PacketSender packetSender, MinecraftClient minecraftClient) {
- API.Events.onServerConnect(clientPlayNetworkHandler.getConnection().isLocal());
- }
-
- public void onServerDisconnect(ClientPlayNetworkHandler clientPlayNetworkHandler, MinecraftClient minecraftClient) {
- API.Events.onServerDisconnect();
- }
-}
diff --git a/fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/FunctionCompatibility.java b/fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/FunctionCompatibility.java
deleted file mode 100644
index 7e1d53d7..00000000
--- a/fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/FunctionCompatibility.java
+++ /dev/null
@@ -1,435 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_20_6;
-
-import com.mojang.blaze3d.systems.RenderSystem;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.*;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_20_6.mixin.KeyBindingAccessor;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_20_6.network.DataCustomPayload;
-import io.github.kurrycat.mpkmod.gui.MPKGuiScreen;
-import io.github.kurrycat.mpkmod.util.BoundingBox3D;
-import io.github.kurrycat.mpkmod.util.Debug;
-import io.github.kurrycat.mpkmod.util.Vector2D;
-import io.github.kurrycat.mpkmod.util.Vector3D;
-import io.github.kurrycat.mpknetapi.common.network.packet.MPKPacket;
-import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
-import net.minecraft.block.BlockState;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.DrawContext;
-import net.minecraft.client.gui.screen.Screen;
-import net.minecraft.client.network.ClientPlayerEntity;
-import net.minecraft.client.network.ServerInfo;
-import net.minecraft.client.option.GameOptions;
-import net.minecraft.client.option.KeyBinding;
-import net.minecraft.client.render.*;
-import net.minecraft.client.sound.PositionedSoundInstance;
-import net.minecraft.client.util.math.MatrixStack;
-import net.minecraft.registry.Registries;
-import net.minecraft.sound.SoundEvents;
-import net.minecraft.util.Util;
-import net.minecraft.util.hit.BlockHitResult;
-import net.minecraft.util.hit.HitResult;
-import net.minecraft.util.math.BlockPos;
-import net.minecraft.util.math.MathHelper;
-import org.joml.Matrix4f;
-
-import java.awt.*;
-import java.util.*;
-import java.util.List;
-
-public class FunctionCompatibility implements FunctionHolder,
- SoundManager.Interface,
- WorldInteraction.Interface,
- Renderer3D.Interface,
- Renderer2D.Interface,
- FontRenderer.Interface,
- io.github.kurrycat.mpkmod.compatibility.MCClasses.Minecraft.Interface,
- io.github.kurrycat.mpkmod.compatibility.MCClasses.Keyboard.Interface,
- Profiler.Interface {
- public static final Set pressedButtons = new HashSet<>();
- public DrawContext drawContext = null;
-
- public void playButtonSound() {
- MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
- }
-
- public List getCollisionBoundingBoxes(Vector3D blockPosVector) {
- final Vector3D blockPosVec = blockPosVector.copy();
- BlockPos blockPos = new BlockPos(blockPosVec.getXI(), blockPosVec.getYI(), blockPosVec.getZI());
- if (MinecraftClient.getInstance().world == null) return null;
- ArrayList boundingBoxes = new ArrayList<>();
- BlockState blockState = MinecraftClient.getInstance().world.getBlockState(blockPos);
-
- blockState.getCollisionShape(MinecraftClient.getInstance().world, blockPos).simplify().forEachBox(
- ((minX, minY, minZ, maxX, maxY, maxZ) -> boundingBoxes.add(
- new BoundingBox3D(new Vector3D(minX, minY, minZ), new Vector3D(maxX, maxY, maxZ)).move(blockPosVec)
- ))
- );
-
- return boundingBoxes;
- }
-
- public Vector3D getLookingAt() {
- if (MinecraftClient.getInstance().getCameraEntity() == null)
- return null;
-
- HitResult hitResult = MinecraftClient.getInstance().getCameraEntity().raycast(20, 0, false);
- if (hitResult instanceof BlockHitResult) {
- BlockPos blockPos = ((BlockHitResult) hitResult).getBlockPos();
- return new Vector3D(blockPos.getX(), blockPos.getY(), blockPos.getZ());
- }
-
- return null;
- }
-
- @Override
- public String getBlockName(Vector3D blockPos) {
- BlockPos blockpos = new BlockPos(blockPos.getXI(), blockPos.getYI(), blockPos.getZI());
- if (MinecraftClient.getInstance().world == null)
- return null;
-
- return Registries.BLOCK.getKey(
- MinecraftClient.getInstance().world.getBlockState(blockpos).getBlock()
- ).get().getValue().toString();
- }
-
- @Override
- public HashMap getBlockProperties(Vector3D blockPos) {
- HashMap properties = new HashMap<>();
- if (MinecraftClient.getInstance().world == null)
- return properties;
-
- BlockPos blockpos = new BlockPos(blockPos.getXI(), blockPos.getYI(), blockPos.getZI());
- BlockState blockState = MinecraftClient.getInstance().world.getBlockState(blockpos);
- blockState.getEntries().forEach((key, value) ->
- properties.put(key.getName(), Util.getValueAsString(key, value))
- );
- return null;
- }
-
- /**
- * Is called in {@link io.github.kurrycat.mpkmod.compatibility.MCClasses.WorldInteraction.Interface WorldInteraction.Interface}
- */
- public String getLookingAtBlock() {
- if (MinecraftClient.getInstance().getCameraEntity() == null)
- return null;
-
- HitResult hitResult = MinecraftClient.getInstance().getCameraEntity().raycast(20, 0, false);
- if (hitResult.getType() == HitResult.Type.BLOCK && MinecraftClient.getInstance().world != null) {
- return Registries.BLOCK.getKey(
- MinecraftClient.getInstance().world.getBlockState(((BlockHitResult) hitResult).getBlockPos()).getBlock()
- ).get().getValue().toTranslationKey();
- }
- return null;
- }
-
- public void drawBox(BoundingBox3D bb, Color color, float partialTicks) {
- int r = color.getRed(), g = color.getGreen(), b = color.getBlue(), a = color.getAlpha();
-
- RenderSystem.applyModelViewMatrix();
-
- RenderSystem.enableBlend();
- RenderSystem.enableDepthTest();
- RenderSystem.setShader(GameRenderer::getPositionColorProgram);
-
- Tessellator tessellator = Tessellator.getInstance();
- BufferBuilder builder = tessellator.getBuffer();
-
- RenderSystem.lineWidth(1.0F);
-
- Matrix4f posMat = MPKMod.INSTANCE.matrixStack.peek().getPositionMatrix();
-
- float minX = (float) bb.minX();
- float minY = (float) bb.minY();
- float minZ = (float) bb.minZ();
- float maxX = (float) bb.maxX();
- float maxY = (float) bb.maxY();
- float maxZ = (float) bb.maxZ();
-
- builder.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR);
-
- builder.vertex(posMat, minX, maxY, minZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, maxY, minZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, minY, minZ).color(r, g, b, a).next();
- builder.vertex(posMat, minX, minY, minZ).color(r, g, b, a).next();
-
- builder.vertex(posMat, minX, minY, maxZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, minY, maxZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, maxY, maxZ).color(r, g, b, a).next();
- builder.vertex(posMat, minX, maxY, maxZ).color(r, g, b, a).next();
-
- builder.vertex(posMat, minX, minY, minZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, minY, minZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, minY, maxZ).color(r, g, b, a).next();
- builder.vertex(posMat, minX, minY, maxZ).color(r, g, b, a).next();
-
- builder.vertex(posMat, minX, maxY, maxZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, maxY, maxZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, maxY, minZ).color(r, g, b, a).next();
- builder.vertex(posMat, minX, maxY, minZ).color(r, g, b, a).next();
-
- builder.vertex(posMat, minX, minY, maxZ).color(r, g, b, a).next();
- builder.vertex(posMat, minX, maxY, maxZ).color(r, g, b, a).next();
- builder.vertex(posMat, minX, maxY, minZ).color(r, g, b, a).next();
- builder.vertex(posMat, minX, minY, minZ).color(r, g, b, a).next();
-
- builder.vertex(posMat, maxX, minY, minZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, maxY, minZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, maxY, maxZ).color(r, g, b, a).next();
- builder.vertex(posMat, maxX, minY, maxZ).color(r, g, b, a).next();
-
- tessellator.draw();
-
- RenderSystem.enableBlend();
- }
-
- /**
- * Is called in {@link Renderer2D.Interface}
- */
- public void drawRect(Vector2D pos, Vector2D size, Color color) {
- if (drawContext == null) return;
- //0.04 because drawString SHADOW_OFFSET is 0.03
- drawContext.getMatrices().translate(0, 0, 0.04);
- Matrix4f posMat = drawContext.getMatrices().peek().getPositionMatrix();
- int r = color.getRed(), g = color.getGreen(), b = color.getBlue(), a = color.getAlpha();
- double x = pos.getX(), y = pos.getY(), w = size.getX(), h = size.getY();
-
- Tessellator tessellator = Tessellator.getInstance();
- BufferBuilder bb = tessellator.getBuffer();
- RenderSystem.enableBlend();
- RenderSystem.setShader(GameRenderer::getPositionColorProgram);
- bb.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR);
- bb.vertex(posMat, (float) x, (float) (y + h), 0).color(r, g, b, a).next();
- bb.vertex(posMat, (float) (x + w), (float) (y + h), 0).color(r, g, b, a).next();
- bb.vertex(posMat, (float) (x + w), (float) y, 0).color(r, g, b, a).next();
- bb.vertex(posMat, (float) x, (float) y, 0).color(r, g, b, a).next();
- tessellator.draw();
-
- RenderSystem.disableBlend();
- }
-
- /**
- * Is called in {@link Renderer2D.Interface}
- */
- public void drawLines(Collection points, Color color) {
- if (points.size() < 2) {
- Debug.stacktrace("At least two points expected, got: " + points.size());
- return;
- }
- int r = color.getRed(), g = color.getGreen(), b = color.getBlue(), a = color.getAlpha();
-
- drawContext.getMatrices().translate(0, 0, 0.04);
- Matrix4f posMat = drawContext.getMatrices().peek().getPositionMatrix();
-
- RenderSystem.enableBlend();
- RenderSystem.enableDepthTest();
- RenderSystem.setShader(GameRenderer::getPositionColorProgram);
-
- Tessellator tessellator = Tessellator.getInstance();
- BufferBuilder builder = tessellator.getBuffer();
-
- RenderSystem.lineWidth(1.0f);
-
- builder.begin(VertexFormat.DrawMode.DEBUG_LINE_STRIP, VertexFormats.POSITION_COLOR);
-
- for (Vector2D p : points) {
- builder.vertex(posMat, (float) p.getX(), (float) p.getY(), 0).color(r, g, b, a).next();
- }
-
- tessellator.draw();
-
- RenderSystem.enableBlend();
- }
-
- public Vector2D getScaledSize() {
- return new Vector2D(
- MinecraftClient.getInstance().getWindow().getScaledWidth(),
- MinecraftClient.getInstance().getWindow().getScaledHeight()
- );
- }
-
- public Vector2D getScreenSize() {
- return new Vector2D(MinecraftClient.getInstance().getWindow().getWidth(), MinecraftClient.getInstance().getWindow().getHeight());
- }
-
- public void enableScissor(double x, double y, double w, double h) {
- int x1 = (int) x;
- int y1 = (int) y;
- int x2 = (int) (x + w);
- int y2 = (int) (y + h);
- drawContext.enableScissor(x1, y1, x2, y2);
- }
-
- public void disableScissor() {
- try {
- drawContext.disableScissor();
- } catch (IllegalStateException ignored) {}
- }
-
- public void clearScissors() {
- boolean clearedAll = false;
- while (!clearedAll) {
- try {
- drawContext.disableScissor();
- } catch (IllegalStateException e) {
- clearedAll = true;
- }
- }
- }
-
- public boolean scissorContains(Vector2D point) {
- return drawContext.scissorContains(point.getXI(), point.getYI());
- }
-
- public void drawString(String text, double x, double y, Color color, double fontSize, boolean shadow) {
- if (drawContext == null) return;
- MatrixStack matrixStack = drawContext.getMatrices();
- matrixStack.translate(0, 0, 0.04);
- matrixStack.push();
- matrixStack.translate(x, y, 0);
- double scale = fontSize / MinecraftClient.getInstance().textRenderer.fontHeight;
- matrixStack.scale((float) scale, (float) scale, 1);
- drawContext.drawText(
- MinecraftClient.getInstance().textRenderer, text,
- 0, 0, color.getRGB(), shadow
- );
- matrixStack.pop();
- }
-
- public Vector2D getStringSize(String text, double fontSize) {
- return new Vector2D(
- MinecraftClient.getInstance().textRenderer.getWidth(text) *
- (float) (fontSize / MinecraftClient.getInstance().textRenderer.fontHeight),
- (float) fontSize
- );
- }
-
- public String getIP() {
- ServerInfo d = MinecraftClient.getInstance().getCurrentServerEntry();
-
- if (d == null)
- return "Multiplayer";
- else
- return d.address;
- }
-
- public String getFPS() {
- String[] split = MinecraftClient.getInstance().fpsDebugString.split(" ");
- if (split.length == 0)
- return "Error";
- return split[0];
- }
-
- public void displayGuiScreen(MPKGuiScreen screen) {
- MinecraftClient.getInstance().setScreen(
- screen == null
- ? null
- : new io.github.kurrycat.mpkmod.compatibility.fabric_1_20_6.MPKGuiScreen(screen));
- }
-
- public String getCurrentGuiScreen() {
- Screen curr = MinecraftClient.getInstance().currentScreen;
-
- if (curr == null)
- return null;
- else if (curr instanceof io.github.kurrycat.mpkmod.compatibility.fabric_1_20_6.MPKGuiScreen) {
- String id = ((io.github.kurrycat.mpkmod.compatibility.fabric_1_20_6.MPKGuiScreen) curr).eventReceiver.getID();
- if (id == null)
- id = "unknown";
-
- return id;
- }
-
- return curr.getClass().getSimpleName();
- }
-
- /**
- * Is called in {@link io.github.kurrycat.mpkmod.compatibility.MCClasses.Minecraft.Interface Minecraft.Interface}
- */
- public String getUserName() {
- if (MinecraftClient.getInstance().player == null) return null;
- return MinecraftClient.getInstance().player.getName().getString();
- }
-
- public void copyToClipboard(String content) {
- MinecraftClient.getInstance().keyboard.setClipboard(content);
- }
-
- public boolean setInputs(Float yaw, boolean relYaw, Float pitch, boolean relPitch, int pressedInputs, int releasedInputs, int L, int R) {
- if (!io.github.kurrycat.mpkmod.compatibility.MCClasses.Minecraft.isSingleplayer()) return false;
- ClientPlayerEntity player = MinecraftClient.getInstance().player;
- if (player == null) return false;
- GameOptions op = MinecraftClient.getInstance().options;
-
- float prevYaw = player.getYaw();
- float prevPitch = player.getPitch();
-
- if (yaw != null) {
- player.setYaw(relYaw ? (player.getYaw() + yaw) : yaw);
- player.prevYaw += player.getYaw() - prevYaw;
- }
- if (pitch != null) {
- player.setPitch(relPitch ? (player.getPitch() + pitch) : pitch);
- player.setPitch(MathHelper.clamp(player.getPitch(), -90.0F, 90.0F));
-
- player.prevPitch += player.getPitch() - prevPitch;
- player.prevPitch = MathHelper.clamp(player.prevPitch, -90.0F, 90.0F);
- }
-
- if (player.getVehicle() != null) {
- player.getVehicle().onPassengerLookAround(player);
- }
-
- KeyBinding[] keys = new KeyBinding[]{
- op.forwardKey,
- op.leftKey,
- op.backKey,
- op.rightKey,
- op.sprintKey,
- op.sneakKey,
- op.jumpKey
- };
-
- for (int i = 0; i < keys.length; i++) {
- if ((releasedInputs & 1 << i) != 0) {
- KeyBinding.setKeyPressed(((KeyBindingAccessor) keys[i]).getBoundKey(), false);
- }
- if ((pressedInputs & 1 << i) != 0) {
- KeyBinding.setKeyPressed(((KeyBindingAccessor) keys[i]).getBoundKey(), true);
- KeyBinding.onKeyPressed(((KeyBindingAccessor) keys[i]).getBoundKey());
- }
- }
-
- KeyBinding.setKeyPressed(((KeyBindingAccessor) op.attackKey).getBoundKey(), L > 0);
- for (int i = 0; i < L; i++)
- KeyBinding.onKeyPressed(((KeyBindingAccessor) op.attackKey).getBoundKey());
-
- KeyBinding.setKeyPressed(((KeyBindingAccessor) op.useKey).getBoundKey(), R > 0);
- for (int i = 0; i < R; i++)
- KeyBinding.onKeyPressed(((KeyBindingAccessor) op.useKey).getBoundKey());
-
- return true;
- }
-
- public boolean isF3Enabled() {
- return MinecraftClient.getInstance().getDebugHud().shouldShowDebugHud();
- }
-
- public void sendPacket(MPKPacket packet) {
- ClientPlayNetworking.send(new DataCustomPayload(packet.getData()));
- }
-
- public List getPressedButtons() {
- return new ArrayList<>(pressedButtons);
- }
-
- public void startSection(String name) {
- MinecraftClient.getInstance().getProfiler().push(name);
- }
-
- public void endStartSection(String name) {
- MinecraftClient.getInstance().getProfiler().swap(name);
- }
-
- public void endSection() {
- MinecraftClient.getInstance().getProfiler().pop();
- }
-}
diff --git a/fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/MPKGuiScreen.java b/fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/MPKGuiScreen.java
deleted file mode 100644
index 06223cd6..00000000
--- a/fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/MPKGuiScreen.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_20_6;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.Profiler;
-import io.github.kurrycat.mpkmod.util.MathUtil;
-import io.github.kurrycat.mpkmod.util.Vector2D;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.DrawContext;
-import net.minecraft.client.gui.screen.Screen;
-import net.minecraft.text.Text;
-
-public class MPKGuiScreen extends Screen {
- public io.github.kurrycat.mpkmod.gui.MPKGuiScreen eventReceiver;
-
- public MPKGuiScreen(io.github.kurrycat.mpkmod.gui.MPKGuiScreen screen) {
- super(Text.translatable(API.MODID + ".gui.title"));
- eventReceiver = screen;
- }
-
- public void init() {
- eventReceiver.onInit();
- }
-
- @Override
- public void resize(MinecraftClient client, int width, int height) {
- super.resize(client, width, height);
- eventReceiver.onResize(width, height);
- }
-
- public void render(DrawContext drawContext, int mouseX, int mouseY, float delta) {
- drawContext.getMatrices().push();
- API.getFunctionHolder().drawContext = drawContext;
- Profiler.startSection(eventReceiver.getID() == null ? "mpk_gui" : eventReceiver.getID());
- try {
- eventReceiver.drawScreen(new Vector2D(mouseX, mouseY), delta);
- } catch (Exception e) {
- API.LOGGER.warn("Error in drawScreen with id: " + eventReceiver.getID(), e);
- }
- Profiler.endSection();
- drawContext.getMatrices().pop();
- }
-
- public void close() {
- super.close();
- eventReceiver.onGuiClosed();
- }
-
- public boolean shouldPause() {
- return false;
- }
-
- public boolean mouseClicked(double mouseX, double mouseY, int state) {
- eventReceiver.onMouseClicked(new Vector2D(mouseX, mouseY), state);
- return super.mouseClicked(mouseX, mouseY, state);
- }
-
- public boolean mouseReleased(double mouseX, double mouseY, int state) {
- eventReceiver.onMouseReleased(new Vector2D(mouseX, mouseY), state);
- return super.mouseReleased(mouseX, mouseY, state);
- }
-
- public boolean mouseDragged(double mouseX, double mouseY, int clickedMouseButton, double moveX, double moveY) {
- eventReceiver.onMouseClickMove(new Vector2D(mouseX, mouseY), clickedMouseButton, 0);
- return super.mouseDragged(mouseX, mouseY, clickedMouseButton, moveX, moveY);
- }
-
- public boolean keyPressed(int keyCode, int scanCode, int modifiers) {
- eventReceiver.onKeyEvent(keyCode, scanCode, modifiers, false);
- return super.keyPressed(keyCode, scanCode, modifiers);
- }
-
- @Override
- public boolean charTyped(char c, int modifiers) {
- eventReceiver.onKeyEvent(c, 0, modifiers, true);
- return super.charTyped(c, modifiers);
- }
-
- @Override
- public boolean mouseScrolled(double mouseX, double mouseY, double horizontalAmount, double verticalAmount) {
- eventReceiver.onMouseScroll(
- new Vector2D(mouseX, mouseY),
- (int) (MathUtil.constrain(verticalAmount, -1, 1) * 7)
- );
- return super.mouseScrolled(mouseX, mouseY, horizontalAmount, verticalAmount);
- }
-}
diff --git a/fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/MPKMod.java b/fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/MPKMod.java
deleted file mode 100644
index a0703962..00000000
--- a/fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/MPKMod.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_20_6;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.KeyBinding;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_20_6.network.DataCustomPayload;
-import io.github.kurrycat.mpknetapi.common.network.packet.MPKPacket;
-import net.fabricmc.api.ModInitializer;
-import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
-import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
-import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents;
-import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
-import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback;
-import net.minecraft.SharedConstants;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.util.math.MatrixStack;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class MPKMod implements ModInitializer {
- public static final MPKMod INSTANCE = new MPKMod();
- public static Map keyBindingMap = new HashMap<>();
- public final EventHandler eventHandler = new EventHandler();
- public MatrixStack matrixStack;
-
- @Override
- public void onInitialize() {
- // This code runs as soon as Minecraft is in a mod-load-ready state.
- // However, some things (like resources) may still be uninitialized.
- API.LOGGER.info("Loading " + API.NAME + " " + API.VERSION);
- API.preInit(getClass());
- registerKeybindingsFromGUIs();
-
- HudRenderCallback.EVENT.register(eventHandler::onInGameOverlayRender);
- ClientTickEvents.START_CLIENT_TICK.register(eventHandler::onClientTickStart);
- ClientTickEvents.END_CLIENT_TICK.register(eventHandler::onClientTickEnd);
- ClientPlayConnectionEvents.JOIN.register(eventHandler::onServerConnect);
- ClientPlayConnectionEvents.DISCONNECT.register(eventHandler::onServerDisconnect);
-
- DataCustomPayload.registerServerboundPayload();
- ClientPlayNetworking.registerGlobalReceiver(DataCustomPayload.registerClientboundPayload(), ((payload, context) -> {
- MPKPacket packet = MPKPacket.handle(API.PACKET_LISTENER_CLIENT, payload.data(), null);
- if (packet != null) {
- API.Events.onPluginMessage(packet);
- }
- }));
- }
-
- private void registerKeybindingsFromGUIs() {
- API.guiScreenMap.forEach((id, guiScreen) -> {
- if (guiScreen.shouldCreateKeyBind())
- registerKeyBinding(id);
- });
-
- API.keyBindingMap.forEach((id, consumer) -> registerKeyBinding(id));
- keyBindingMap.forEach((id, key) -> KeyBindingHelper.registerKeyBinding(key));
- }
-
- public void registerKeyBinding(String id) {
- net.minecraft.client.option.KeyBinding keyBinding = new net.minecraft.client.option.KeyBinding(
- API.MODID + ".key." + id + ".desc",
- -1,
- API.KEYBINDING_CATEGORY
- );
-
- keyBindingMap.put(id, keyBinding);
- }
-
- public void init() {
- API.LOGGER.info(API.COMPATIBILITY_MARKER, "Registering compatibility functions...");
- API.registerFunctionHolder(new FunctionCompatibility());
- API.LOGGER.info(API.COMPATIBILITY_MARKER, "Registered compatibility functions.");
-
- registerKeyBindings();
- API.init(SharedConstants.getGameVersion().getName());
-
- API.Events.onLoadComplete();
- }
-
- private void registerKeyBindings() {
- for (net.minecraft.client.option.KeyBinding k : MinecraftClient.getInstance().options.allKeys) {
- new io.github.kurrycat.mpkmod.compatibility.MCClasses.KeyBinding(
- () -> k.getBoundKeyLocalizedText().getString(),
- k.getTranslationKey(),
- k::isPressed
- );
- }
-
- API.LOGGER.info(API.COMPATIBILITY_MARKER, "Registered {} Keybindings", KeyBinding.getKeyMap().size());
- }
-}
diff --git a/fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/mixin/GameRendererMixin.java b/fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/mixin/GameRendererMixin.java
deleted file mode 100644
index 23098082..00000000
--- a/fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/mixin/GameRendererMixin.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_20_6.mixin;
-
-import com.mojang.blaze3d.systems.RenderSystem;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_20_6.MPKMod;
-import net.minecraft.client.render.Camera;
-import net.minecraft.client.render.GameRenderer;
-import net.minecraft.client.util.math.MatrixStack;
-import org.joml.Matrix4fStack;
-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(value = GameRenderer.class)
-public class GameRendererMixin {
- @Inject(at = @At(value = "INVOKE_STRING",
- target = "Lnet/minecraft/util/profiler/Profiler;swap(Ljava/lang/String;)V",
- args = "ldc=hand"),
- method = "renderWorld")
- public void render(float tickDelta, long limitTime, CallbackInfo ci) {
- GameRenderer gameRenderer = (GameRenderer) (Object) this;
- Camera camera = gameRenderer.getCamera();
- Matrix4fStack matrixStack = RenderSystem.getModelViewStack();
- matrixStack.pushMatrix();
- matrixStack.rotateXYZ(camera.getPitch() * ((float) Math.PI / 180), camera.getYaw() * ((float) Math.PI / 180) + (float) Math.PI, 0.0f);
-
- MPKMod.INSTANCE.eventHandler.onRenderWorldOverlay(new MatrixStack(), tickDelta);
-
- matrixStack.popMatrix();
- }
-}
diff --git a/fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/mixin/MinecraftClientMixin.java b/fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/mixin/MinecraftClientMixin.java
deleted file mode 100644
index d556ced7..00000000
--- a/fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/mixin/MinecraftClientMixin.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_20_6.mixin;
-
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_20_6.MPKMod;
-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 MinecraftClientMixin {
- @Inject(at = @At("TAIL"), method = "")
- private void init(CallbackInfo info) {
- MPKMod.INSTANCE.init();
- }
-}
diff --git a/fabric-1.20.6/src/main/resources/assets/mpkmod/icon.png b/fabric-1.20.6/src/main/resources/assets/mpkmod/icon.png
deleted file mode 100644
index 48bcd55b..00000000
Binary files a/fabric-1.20.6/src/main/resources/assets/mpkmod/icon.png and /dev/null differ
diff --git a/fabric-1.20.6/src/main/resources/assets/mpkmod/lang/en_US.lang b/fabric-1.20.6/src/main/resources/assets/mpkmod/lang/en_US.lang
deleted file mode 100644
index 6bb9fb6f..00000000
--- a/fabric-1.20.6/src/main/resources/assets/mpkmod/lang/en_US.lang
+++ /dev/null
@@ -1,6 +0,0 @@
-mpkmod.key.main_gui.desc=Open MPK Mod GUI
-mpkmod.key.lb_gui.desc=Open Landing Block GUI
-mpkmod.key.lb_set.desc=Set Landing Block
-mpkmod.key.options_gui.desc=Open Options GUI
-mpkmod.main_gui.title=MPK Mod GUI
-mpkmod.lb_gui.title=Landing Block GUI
\ No newline at end of file
diff --git a/fabric-1.20.6/src/main/resources/assets/mpkmod/lang/en_us.json b/fabric-1.20.6/src/main/resources/assets/mpkmod/lang/en_us.json
deleted file mode 100644
index 167f27be..00000000
--- a/fabric-1.20.6/src/main/resources/assets/mpkmod/lang/en_us.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "mpkmod.key.main_gui.desc": "Open MPK Mod GUI",
- "mpkmod.key.lb_gui.desc": "Open Landing Block GUI",
- "mpkmod.key.lb_set.desc": "Set Landing Block",
- "mpkmod.key.options_gui.desc": "Open Options GUI",
- "mpkmod.main_gui.title": "MPK Mod GUI",
- "mpkmod.lb_gui.title": "Landing Block GUI"
-}
\ No newline at end of file
diff --git a/fabric-1.20.6/src/main/resources/assets/mpkmod/lang/pl_pl.json b/fabric-1.20.6/src/main/resources/assets/mpkmod/lang/pl_pl.json
deleted file mode 100644
index 886d7746..00000000
--- a/fabric-1.20.6/src/main/resources/assets/mpkmod/lang/pl_pl.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "mpkmod.key.main_gui.desc": "Otwórz menu MPK",
- "mpkmod.key.lb_gui.desc": "Otwórz menu Bloku Lądowania",
- "mpkmod.key.lb_set.desc": "Ustaw Blok Lądowania",
- "mpkmod.key.options_gui.desc": "Otwórz menu opcji",
- "mpkmod.main_gui.title": "Menu MPK",
- "mpkmod.lb_gui.title": "Menu Bloku Lądowania"
-}
\ No newline at end of file
diff --git a/fabric-1.20.6/src/main/resources/assets/mpkmod/lang/pl_pl.lang b/fabric-1.20.6/src/main/resources/assets/mpkmod/lang/pl_pl.lang
deleted file mode 100644
index 0d946226..00000000
--- a/fabric-1.20.6/src/main/resources/assets/mpkmod/lang/pl_pl.lang
+++ /dev/null
@@ -1,6 +0,0 @@
-mpkmod.key.main_gui.desc=Otwórz menu MPK
-mpkmod.key.lb_gui.desc=Otwórz menu Bloku Lądowania
-mpkmod.key.lb_set.desc=Ustaw Blok Lądowania
-mpkmod.key.options_gui.desc=Otwórz menu opcji
-mpkmod.main_gui.title=Menu MPK
-mpkmod.lb_gui.title=Menu Bloku Lądowania
\ No newline at end of file
diff --git a/fabric-1.20.6/src/main/resources/fabric.mod.json b/fabric-1.20.6/src/main/resources/fabric.mod.json
deleted file mode 100644
index 3e8ba062..00000000
--- a/fabric-1.20.6/src/main/resources/fabric.mod.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "schemaVersion": 1,
- "id": "mpkmod",
- "version": "${version}",
-
- "name": "MPK Mod",
- "description": "A Mod that adds some features that help parkour to the game.",
- "authors": [
- "kurrycat",
- "CodeKid0 (Fabric port)",
- "Contributors"
- ],
- "contact": {
- "sources": "https://github.com/kurrycat2004/MPKMod_2"
- },
-
- "license": "MIT",
- "icon": "assets/mpkmod/icon.png",
- "environment": "client",
- "entrypoints": {
- "main": [
- "io.github.kurrycat.mpkmod.compatibility.fabric_1_20_6.MPKMod"
- ]
- },
- "mixins": [
- "mpkmod.mixins.json"
- ],
-
- "depends": {
- "fabricloader": ">=0.15.11",
- "fabric-api": "*",
- "minecraft": "~1.20.6",
- "java": ">=21"
- },
- "suggests": {}
-}
diff --git a/fabric-1.20.6/src/main/resources/mpkmod.mixins.json b/fabric-1.20.6/src/main/resources/mpkmod.mixins.json
deleted file mode 100644
index 5d7fbd50..00000000
--- a/fabric-1.20.6/src/main/resources/mpkmod.mixins.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "required": true,
- "minVersion": "0.8",
- "package": "io.github.kurrycat.mpkmod.compatibility.fabric_1_20_6.mixin",
- "compatibilityLevel": "JAVA_21",
- "mixins": [
- ],
- "client": [
- "GameRendererMixin",
- "KeyBindingAccessor",
- "KeyboardMixin",
- "MinecraftClientMixin",
- "MouseMixin"
- ],
- "injectors": {
- "defaultRequire": 1
- }
-}
diff --git a/fabric-1.21.3/.gitignore b/fabric-1.21.3/.gitignore
deleted file mode 100644
index c476faf2..00000000
--- a/fabric-1.21.3/.gitignore
+++ /dev/null
@@ -1,40 +0,0 @@
-# gradle
-
-.gradle/
-build/
-out/
-classes/
-
-# eclipse
-
-*.launch
-
-# idea
-
-.idea/
-*.iml
-*.ipr
-*.iws
-
-# vscode
-
-.settings/
-.vscode/
-bin/
-.classpath
-.project
-
-# macos
-
-*.DS_Store
-
-# fabric
-
-run/
-
-# java
-
-hs_err_*.log
-replay_*.log
-*.hprof
-*.jfr
diff --git a/fabric-1.21.3/build.gradle b/fabric-1.21.3/build.gradle
deleted file mode 100644
index e9cf65e7..00000000
--- a/fabric-1.21.3/build.gradle
+++ /dev/null
@@ -1,21 +0,0 @@
-plugins {
- id 'fabric-loom' version "1.11-SNAPSHOT"
-}
-
-loom.runs.client.runDir = "../runs/run"
-
-dependencies {
- minecraft "com.mojang:minecraft:${project.minecraft_version}"
- mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
- modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
-
- modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
-}
-
-processResources {
- inputs.property "version", project.version
-
- filesMatching("fabric.mod.json") {
- expand "version": project.version
- }
-}
\ No newline at end of file
diff --git a/fabric-1.21.3/gradle.properties b/fabric-1.21.3/gradle.properties
deleted file mode 100644
index f62c2751..00000000
--- a/fabric-1.21.3/gradle.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-# Done to increase the memory available to gradle.
-org.gradle.jvmargs=-Xmx1G
-org.gradle.parallel=true
-
-# Fabric Properties
-# check these on https://fabricmc.net/develop
-minecraft_version=1.21.3
-yarn_mappings=1.21.3+build.2
-loader_version=0.16.7
-
-# Fabric API
-fabric_version=0.106.1+1.21.3
-
-jdkVersion=21
diff --git a/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/EventHandler.java b/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/EventHandler.java
deleted file mode 100644
index 9eeae7f3..00000000
--- a/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/EventHandler.java
+++ /dev/null
@@ -1,123 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_3;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.Player;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_3.mixin.KeyBindingAccessor;
-import io.github.kurrycat.mpkmod.ticks.ButtonMS;
-import io.github.kurrycat.mpkmod.ticks.ButtonMSList;
-import io.github.kurrycat.mpkmod.util.BoundingBox3D;
-import io.github.kurrycat.mpkmod.util.Vector3D;
-import net.fabricmc.fabric.api.networking.v1.PacketSender;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.DrawContext;
-import net.minecraft.client.network.ClientPlayNetworkHandler;
-import net.minecraft.client.network.ClientPlayerEntity;
-import net.minecraft.client.option.GameOptions;
-import net.minecraft.client.render.RenderTickCounter;
-import net.minecraft.client.util.InputUtil;
-import net.minecraft.client.util.math.MatrixStack;
-import net.minecraft.util.Util;
-import net.minecraft.util.math.Box;
-import net.minecraft.util.math.Vec3d;
-
-public class EventHandler {
- private static final ButtonMSList timeQueue = new ButtonMSList();
-
- /**
- * @param key The GLFW key code. See {@link InputUtil}.
- * @param scanCode
- * @param action The action, where 0 = unpressed, 1 = pressed, 2 = held.
- */
- public void onKey(int key, int scanCode, int action) {
- GameOptions options = MinecraftClient.getInstance().options;
- long eventNanos = Util.getMeasuringTimeNano();
-
- InputUtil.Key inputKey = InputUtil.fromKeyCode(key, scanCode);
-
- int[] keys = {
- ((KeyBindingAccessor) options.forwardKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.leftKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.backKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.rightKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.sprintKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.sneakKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.jumpKey).getBoundKey().getCode()
- };
-
- for (int i = 0; i < keys.length; i++) {
- if (key == keys[i]) {
- timeQueue.add(ButtonMS.of(ButtonMS.Button.values()[i], eventNanos, action == 1));
- }
- }
-
- if (action == 1) {
- FunctionCompatibility.pressedButtons.add(inputKey.getCode());
- } else if (action == 0) {
- FunctionCompatibility.pressedButtons.remove(inputKey.getCode());
- }
-
- API.Events.onKeyInput(key, inputKey.getLocalizedText().getString(), action == 1);
-
- MPKMod.keyBindingMap.forEach((id, keyBinding) -> {
- if (keyBinding.isPressed()) {
- API.Events.onKeybind(id);
- }
- });
- }
-
- public void onInGameOverlayRender(DrawContext drawContext, RenderTickCounter renderTickCounter) {
- drawContext.getMatrices().push();
- API.getFunctionHolder().drawContext = drawContext;
- API.Events.onRenderOverlay();
- drawContext.getMatrices().pop();
- }
-
- public void onRenderWorldOverlay(MatrixStack matrixStack, float tickDelta) {
- MPKMod.INSTANCE.matrixStack = matrixStack;
- matrixStack.push();
- Vec3d pos = MinecraftClient.getInstance().gameRenderer.getCamera().getPos();
- MPKMod.INSTANCE.matrixStack.translate(-pos.x, -pos.y, -pos.z);
- API.Events.onRenderWorldOverlay(tickDelta);
- matrixStack.pop();
- }
-
- public void onClientTickStart(MinecraftClient mc) {
- if (mc.isPaused() || mc.world == null) return;
- API.Events.onTickStart();
- }
-
- public void onClientTickEnd(MinecraftClient mc) {
- if (mc.isPaused() || mc.world == null) return;
- ClientPlayerEntity mcPlayer = mc.player;
-
- if (mcPlayer != null) {
- Box playerBB = mcPlayer.getBoundingBox();
- new Player()
- .setPos(new Vector3D(mcPlayer.getX(), mcPlayer.getY(), mcPlayer.getZ()))
- .setLastPos(new Vector3D(mcPlayer.prevX, mcPlayer.prevY, mcPlayer.prevZ))
- .setMotion(new Vector3D(mcPlayer.getVelocity().x, mcPlayer.getVelocity().y, mcPlayer.getVelocity().z))
- .setRotation(mcPlayer.getRotationClient().y, mcPlayer.getRotationClient().x)
- .setOnGround(mcPlayer.isOnGround())
- .setSprinting(mcPlayer.isSprinting())
- .setBoundingBox(new BoundingBox3D(
- new Vector3D(playerBB.minX, playerBB.minY, playerBB.minZ),
- new Vector3D(playerBB.maxX, playerBB.maxY, playerBB.maxZ)
- ))
- .constructKeyInput()
- .setKeyMSList(timeQueue)
- .buildAndSave();
- timeQueue.clear();
- }
-
- API.Events.onTickEnd();
- }
-
-
- public void onServerConnect(ClientPlayNetworkHandler clientPlayNetworkHandler, PacketSender packetSender, MinecraftClient minecraftClient) {
- API.Events.onServerConnect(clientPlayNetworkHandler.getConnection().isLocal());
- }
-
- public void onServerDisconnect(ClientPlayNetworkHandler clientPlayNetworkHandler, MinecraftClient minecraftClient) {
- API.Events.onServerDisconnect();
- }
-}
diff --git a/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/FunctionCompatibility.java b/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/FunctionCompatibility.java
deleted file mode 100644
index 7c2ad19f..00000000
--- a/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/FunctionCompatibility.java
+++ /dev/null
@@ -1,432 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_3;
-
-import com.mojang.blaze3d.systems.RenderSystem;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.*;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_3.mixin.KeyBindingAccessor;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_3.network.DataCustomPayload;
-import io.github.kurrycat.mpkmod.gui.MPKGuiScreen;
-import io.github.kurrycat.mpkmod.util.BoundingBox3D;
-import io.github.kurrycat.mpkmod.util.Debug;
-import io.github.kurrycat.mpkmod.util.Vector2D;
-import io.github.kurrycat.mpkmod.util.Vector3D;
-import io.github.kurrycat.mpknetapi.common.network.packet.MPKPacket;
-import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
-import net.minecraft.block.BlockState;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gl.ShaderProgramKeys;
-import net.minecraft.client.gui.DrawContext;
-import net.minecraft.client.gui.screen.Screen;
-import net.minecraft.client.network.ClientPlayerEntity;
-import net.minecraft.client.network.ServerInfo;
-import net.minecraft.client.option.GameOptions;
-import net.minecraft.client.option.KeyBinding;
-import net.minecraft.client.render.*;
-import net.minecraft.client.sound.PositionedSoundInstance;
-import net.minecraft.client.util.math.MatrixStack;
-import net.minecraft.registry.Registries;
-import net.minecraft.sound.SoundEvents;
-import net.minecraft.util.Util;
-import net.minecraft.util.hit.BlockHitResult;
-import net.minecraft.util.hit.HitResult;
-import net.minecraft.util.math.BlockPos;
-import net.minecraft.util.math.MathHelper;
-import net.minecraft.util.profiler.Profilers;
-import org.joml.Matrix4f;
-
-import java.awt.*;
-import java.util.*;
-import java.util.List;
-
-public class FunctionCompatibility implements FunctionHolder,
- SoundManager.Interface,
- WorldInteraction.Interface,
- Renderer3D.Interface,
- Renderer2D.Interface,
- FontRenderer.Interface,
- Minecraft.Interface,
- Keyboard.Interface,
- Profiler.Interface {
- public static final Set pressedButtons = new HashSet<>();
- public DrawContext drawContext = null;
-
- public void playButtonSound() {
- MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
- }
-
- public List getCollisionBoundingBoxes(Vector3D blockPosVector) {
- final Vector3D blockPosVec = blockPosVector.copy();
- BlockPos blockPos = new BlockPos(blockPosVec.getXI(), blockPosVec.getYI(), blockPosVec.getZI());
- if (MinecraftClient.getInstance().world == null) return null;
- ArrayList boundingBoxes = new ArrayList<>();
- BlockState blockState = MinecraftClient.getInstance().world.getBlockState(blockPos);
-
- blockState.getCollisionShape(MinecraftClient.getInstance().world, blockPos).simplify().forEachBox(
- ((minX, minY, minZ, maxX, maxY, maxZ) -> boundingBoxes.add(
- new BoundingBox3D(new Vector3D(minX, minY, minZ), new Vector3D(maxX, maxY, maxZ)).move(blockPosVec)
- ))
- );
-
- return boundingBoxes;
- }
-
- public Vector3D getLookingAt() {
- if (MinecraftClient.getInstance().getCameraEntity() == null)
- return null;
-
- HitResult hitResult = MinecraftClient.getInstance().getCameraEntity().raycast(20, 0, false);
- if (hitResult instanceof BlockHitResult) {
- BlockPos blockPos = ((BlockHitResult) hitResult).getBlockPos();
- return new Vector3D(blockPos.getX(), blockPos.getY(), blockPos.getZ());
- }
-
- return null;
- }
-
- @Override
- public String getBlockName(Vector3D blockPos) {
- BlockPos blockpos = new BlockPos(blockPos.getXI(), blockPos.getYI(), blockPos.getZI());
- if (MinecraftClient.getInstance().world == null)
- return null;
-
- return Registries.BLOCK.getKey(
- MinecraftClient.getInstance().world.getBlockState(blockpos).getBlock()
- ).get().getValue().toString();
- }
-
- @Override
- public HashMap getBlockProperties(Vector3D blockPos) {
- HashMap properties = new HashMap<>();
- if (MinecraftClient.getInstance().world == null)
- return properties;
-
- BlockPos blockpos = new BlockPos(blockPos.getXI(), blockPos.getYI(), blockPos.getZI());
- BlockState blockState = MinecraftClient.getInstance().world.getBlockState(blockpos);
- blockState.getEntries().forEach((key, value) ->
- properties.put(key.getName(), Util.getValueAsString(key, value))
- );
- return null;
- }
-
- /**
- * Is called in {@link WorldInteraction.Interface WorldInteraction.Interface}
- */
- public String getLookingAtBlock() {
- if (MinecraftClient.getInstance().getCameraEntity() == null)
- return null;
-
- HitResult hitResult = MinecraftClient.getInstance().getCameraEntity().raycast(20, 0, false);
- if (hitResult.getType() == HitResult.Type.BLOCK && MinecraftClient.getInstance().world != null) {
- return Registries.BLOCK.getKey(
- MinecraftClient.getInstance().world.getBlockState(((BlockHitResult) hitResult).getBlockPos()).getBlock()
- ).get().getValue().toTranslationKey();
- }
- return null;
- }
-
- public void drawBox(BoundingBox3D bb, Color color, float partialTicks) {
- int r = color.getRed(), g = color.getGreen(), b = color.getBlue(), a = color.getAlpha();
-
- RenderSystem.enableBlend();
- RenderSystem.enableDepthTest();
- RenderSystem.setShader(ShaderProgramKeys.POSITION_COLOR);
-
- Tessellator tessellator = Tessellator.getInstance();
-
- RenderSystem.lineWidth(1.0F);
-
- Matrix4f posMat = MPKMod.INSTANCE.matrixStack.peek().getPositionMatrix();
-
- float minX = (float) bb.minX();
- float minY = (float) bb.minY();
- float minZ = (float) bb.minZ();
- float maxX = (float) bb.maxX();
- float maxY = (float) bb.maxY();
- float maxZ = (float) bb.maxZ();
-
- BufferBuilder builder = tessellator.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR);
-
- builder.vertex(posMat, minX, maxY, minZ).color(r, g, b, a);
- builder.vertex(posMat, maxX, maxY, minZ).color(r, g, b, a);
- builder.vertex(posMat, maxX, minY, minZ).color(r, g, b, a);
- builder.vertex(posMat, minX, minY, minZ).color(r, g, b, a);
-
- builder.vertex(posMat, minX, minY, maxZ).color(r, g, b, a);
- builder.vertex(posMat, maxX, minY, maxZ).color(r, g, b, a);
- builder.vertex(posMat, maxX, maxY, maxZ).color(r, g, b, a);
- builder.vertex(posMat, minX, maxY, maxZ).color(r, g, b, a);
-
- builder.vertex(posMat, minX, minY, minZ).color(r, g, b, a);
- builder.vertex(posMat, maxX, minY, minZ).color(r, g, b, a);
- builder.vertex(posMat, maxX, minY, maxZ).color(r, g, b, a);
- builder.vertex(posMat, minX, minY, maxZ).color(r, g, b, a);
-
- builder.vertex(posMat, minX, maxY, maxZ).color(r, g, b, a);
- builder.vertex(posMat, maxX, maxY, maxZ).color(r, g, b, a);
- builder.vertex(posMat, maxX, maxY, minZ).color(r, g, b, a);
- builder.vertex(posMat, minX, maxY, minZ).color(r, g, b, a);
-
- builder.vertex(posMat, minX, minY, maxZ).color(r, g, b, a);
- builder.vertex(posMat, minX, maxY, maxZ).color(r, g, b, a);
- builder.vertex(posMat, minX, maxY, minZ).color(r, g, b, a);
- builder.vertex(posMat, minX, minY, minZ).color(r, g, b, a);
-
- builder.vertex(posMat, maxX, minY, minZ).color(r, g, b, a);
- builder.vertex(posMat, maxX, maxY, minZ).color(r, g, b, a);
- builder.vertex(posMat, maxX, maxY, maxZ).color(r, g, b, a);
- builder.vertex(posMat, maxX, minY, maxZ).color(r, g, b, a);
-
- BufferRenderer.drawWithGlobalProgram(builder.end());
-
- RenderSystem.enableBlend();
- }
-
- /**
- * Is called in {@link Renderer2D.Interface}
- */
- public void drawRect(Vector2D pos, Vector2D size, Color color) {
- if (drawContext == null) return;
- //0.04 because drawString SHADOW_OFFSET is 0.03
- drawContext.getMatrices().translate(0, 0, 0.04);
- Matrix4f posMat = drawContext.getMatrices().peek().getPositionMatrix();
- int r = color.getRed(), g = color.getGreen(), b = color.getBlue(), a = color.getAlpha();
- double x = pos.getX(), y = pos.getY(), w = size.getX(), h = size.getY();
-
- Tessellator tessellator = Tessellator.getInstance();
- RenderSystem.enableBlend();
- RenderSystem.setShader(ShaderProgramKeys.POSITION_COLOR);
- BufferBuilder bb = tessellator.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR);
- bb.vertex(posMat, (float) x, (float) (y + h), 0).color(r, g, b, a);
- bb.vertex(posMat, (float) (x + w), (float) (y + h), 0).color(r, g, b, a);
- bb.vertex(posMat, (float) (x + w), (float) y, 0).color(r, g, b, a);
- bb.vertex(posMat, (float) x, (float) y, 0).color(r, g, b, a);
- BufferRenderer.drawWithGlobalProgram(bb.end());
-
- RenderSystem.disableBlend();
- }
-
- /**
- * Is called in {@link Renderer2D.Interface}
- */
- public void drawLines(Collection points, Color color) {
- if (points.size() < 2) {
- Debug.stacktrace("At least two points expected, got: " + points.size());
- return;
- }
- int r = color.getRed(), g = color.getGreen(), b = color.getBlue(), a = color.getAlpha();
-
- drawContext.getMatrices().translate(0, 0, 0.04);
- Matrix4f posMat = drawContext.getMatrices().peek().getPositionMatrix();
-
- RenderSystem.enableBlend();
- RenderSystem.enableDepthTest();
- RenderSystem.setShader(ShaderProgramKeys.POSITION_COLOR);
-
- Tessellator tessellator = Tessellator.getInstance();
-
- RenderSystem.lineWidth(1.0f);
-
- BufferBuilder builder = tessellator.begin(VertexFormat.DrawMode.DEBUG_LINE_STRIP, VertexFormats.POSITION_COLOR);
-
- for (Vector2D p : points) {
- builder.vertex(posMat, (float) p.getX(), (float) p.getY(), 0).color(r, g, b, a);
- }
-
- BufferRenderer.drawWithGlobalProgram(builder.end());
-
- RenderSystem.enableBlend();
- }
-
- public Vector2D getScaledSize() {
- return new Vector2D(
- MinecraftClient.getInstance().getWindow().getScaledWidth(),
- MinecraftClient.getInstance().getWindow().getScaledHeight()
- );
- }
-
- public Vector2D getScreenSize() {
- return new Vector2D(MinecraftClient.getInstance().getWindow().getWidth(), MinecraftClient.getInstance().getWindow().getHeight());
- }
-
- public void enableScissor(double x, double y, double w, double h) {
- int x1 = (int) x;
- int y1 = (int) y;
- int x2 = (int) (x + w);
- int y2 = (int) (y + h);
- drawContext.enableScissor(x1, y1, x2, y2);
- }
-
- public void disableScissor() {
- try {
- drawContext.disableScissor();
- } catch (IllegalStateException ignored) {}
- }
-
- public void clearScissors() {
- boolean clearedAll = false;
- while (!clearedAll) {
- try {
- drawContext.disableScissor();
- } catch (IllegalStateException e) {
- clearedAll = true;
- }
- }
- }
-
- public boolean scissorContains(Vector2D point) {
- return drawContext.scissorContains(point.getXI(), point.getYI());
- }
-
- public void drawString(String text, double x, double y, Color color, double fontSize, boolean shadow) {
- if (drawContext == null) return;
- MatrixStack matrixStack = drawContext.getMatrices();
- matrixStack.translate(0, 0, 0.04);
- matrixStack.push();
- matrixStack.translate(x, y, 0);
- double scale = fontSize / MinecraftClient.getInstance().textRenderer.fontHeight;
- matrixStack.scale((float) scale, (float) scale, 1);
- drawContext.drawText(
- MinecraftClient.getInstance().textRenderer, text,
- 0, 0, color.getRGB(), shadow
- );
- matrixStack.pop();
- }
-
- public Vector2D getStringSize(String text, double fontSize) {
- return new Vector2D(
- MinecraftClient.getInstance().textRenderer.getWidth(text) *
- (float) (fontSize / MinecraftClient.getInstance().textRenderer.fontHeight),
- (float) fontSize
- );
- }
-
- public String getIP() {
- ServerInfo d = MinecraftClient.getInstance().getCurrentServerEntry();
-
- if (d == null)
- return "Multiplayer";
- else
- return d.address;
- }
-
- public String getFPS() {
- String[] split = MinecraftClient.getInstance().fpsDebugString.split(" ");
- if (split.length == 0)
- return "Error";
- return split[0];
- }
-
- public void displayGuiScreen(MPKGuiScreen screen) {
- MinecraftClient.getInstance().setScreen(
- screen == null
- ? null
- : new io.github.kurrycat.mpkmod.compatibility.fabric_1_21_3.MPKGuiScreen(screen));
- }
-
- public String getCurrentGuiScreen() {
- Screen curr = MinecraftClient.getInstance().currentScreen;
-
- if (curr == null)
- return null;
- else if (curr instanceof io.github.kurrycat.mpkmod.compatibility.fabric_1_21_3.MPKGuiScreen) {
- String id = ((io.github.kurrycat.mpkmod.compatibility.fabric_1_21_3.MPKGuiScreen) curr).eventReceiver.getID();
- if (id == null)
- id = "unknown";
-
- return id;
- }
-
- return curr.getClass().getSimpleName();
- }
-
- /**
- * Is called in {@link Minecraft.Interface Minecraft.Interface}
- */
- public String getUserName() {
- if (MinecraftClient.getInstance().player == null) return null;
- return MinecraftClient.getInstance().player.getName().getString();
- }
-
- public void copyToClipboard(String content) {
- MinecraftClient.getInstance().keyboard.setClipboard(content);
- }
-
- public boolean setInputs(Float yaw, boolean relYaw, Float pitch, boolean relPitch, int pressedInputs, int releasedInputs, int L, int R) {
- if (!Minecraft.isSingleplayer()) return false;
- ClientPlayerEntity player = MinecraftClient.getInstance().player;
- if (player == null) return false;
- GameOptions op = MinecraftClient.getInstance().options;
-
- float prevYaw = player.getYaw();
- float prevPitch = player.getPitch();
-
- if (yaw != null) {
- player.setYaw(relYaw ? (player.getYaw() + yaw) : yaw);
- player.prevYaw += player.getYaw() - prevYaw;
- }
- if (pitch != null) {
- player.setPitch(relPitch ? (player.getPitch() + pitch) : pitch);
- player.setPitch(MathHelper.clamp(player.getPitch(), -90.0F, 90.0F));
-
- player.prevPitch += player.getPitch() - prevPitch;
- player.prevPitch = MathHelper.clamp(player.prevPitch, -90.0F, 90.0F);
- }
-
- if (player.getVehicle() != null) {
- player.getVehicle().onPassengerLookAround(player);
- }
-
- KeyBinding[] keys = new KeyBinding[]{
- op.forwardKey,
- op.leftKey,
- op.backKey,
- op.rightKey,
- op.sprintKey,
- op.sneakKey,
- op.jumpKey
- };
-
- for (int i = 0; i < keys.length; i++) {
- if ((releasedInputs & 1 << i) != 0) {
- KeyBinding.setKeyPressed(((KeyBindingAccessor) keys[i]).getBoundKey(), false);
- }
- if ((pressedInputs & 1 << i) != 0) {
- KeyBinding.setKeyPressed(((KeyBindingAccessor) keys[i]).getBoundKey(), true);
- KeyBinding.onKeyPressed(((KeyBindingAccessor) keys[i]).getBoundKey());
- }
- }
-
- KeyBinding.setKeyPressed(((KeyBindingAccessor) op.attackKey).getBoundKey(), L > 0);
- for (int i = 0; i < L; i++)
- KeyBinding.onKeyPressed(((KeyBindingAccessor) op.attackKey).getBoundKey());
-
- KeyBinding.setKeyPressed(((KeyBindingAccessor) op.useKey).getBoundKey(), R > 0);
- for (int i = 0; i < R; i++)
- KeyBinding.onKeyPressed(((KeyBindingAccessor) op.useKey).getBoundKey());
-
- return true;
- }
-
- public boolean isF3Enabled() {
- return MinecraftClient.getInstance().getDebugHud().shouldShowDebugHud();
- }
-
- public void sendPacket(MPKPacket packet) {
- ClientPlayNetworking.send(new DataCustomPayload(packet.getData()));
- }
-
- public List getPressedButtons() {
- return new ArrayList<>(pressedButtons);
- }
-
- public void startSection(String name) {
- Profilers.get().push(name);
- }
-
- public void endStartSection(String name) {
- Profilers.get().swap(name);
- }
-
- public void endSection() {
- Profilers.get().pop();
- }
-}
diff --git a/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/MPKGuiScreen.java b/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/MPKGuiScreen.java
deleted file mode 100644
index 8780536b..00000000
--- a/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/MPKGuiScreen.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_3;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.Profiler;
-import io.github.kurrycat.mpkmod.util.MathUtil;
-import io.github.kurrycat.mpkmod.util.Vector2D;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.DrawContext;
-import net.minecraft.client.gui.screen.Screen;
-import net.minecraft.text.Text;
-
-public class MPKGuiScreen extends Screen {
- public io.github.kurrycat.mpkmod.gui.MPKGuiScreen eventReceiver;
-
- public MPKGuiScreen(io.github.kurrycat.mpkmod.gui.MPKGuiScreen screen) {
- super(Text.translatable(API.MODID + ".gui.title"));
- eventReceiver = screen;
- }
-
- public void init() {
- eventReceiver.onInit();
- }
-
- @Override
- public void resize(MinecraftClient client, int width, int height) {
- super.resize(client, width, height);
- eventReceiver.onResize(width, height);
- }
-
- public void render(DrawContext drawContext, int mouseX, int mouseY, float delta) {
- drawContext.getMatrices().push();
- API.getFunctionHolder().drawContext = drawContext;
- Profiler.startSection(eventReceiver.getID() == null ? "mpk_gui" : eventReceiver.getID());
- try {
- eventReceiver.drawScreen(new Vector2D(mouseX, mouseY), delta);
- } catch (Exception e) {
- API.LOGGER.warn("Error in drawScreen with id: " + eventReceiver.getID(), e);
- }
- Profiler.endSection();
- drawContext.getMatrices().pop();
- }
-
- public void close() {
- super.close();
- eventReceiver.onGuiClosed();
- }
-
- public boolean shouldPause() {
- return false;
- }
-
- public boolean mouseClicked(double mouseX, double mouseY, int state) {
- eventReceiver.onMouseClicked(new Vector2D(mouseX, mouseY), state);
- return super.mouseClicked(mouseX, mouseY, state);
- }
-
- public boolean mouseReleased(double mouseX, double mouseY, int state) {
- eventReceiver.onMouseReleased(new Vector2D(mouseX, mouseY), state);
- return super.mouseReleased(mouseX, mouseY, state);
- }
-
- public boolean mouseDragged(double mouseX, double mouseY, int clickedMouseButton, double moveX, double moveY) {
- eventReceiver.onMouseClickMove(new Vector2D(mouseX, mouseY), clickedMouseButton, 0);
- return super.mouseDragged(mouseX, mouseY, clickedMouseButton, moveX, moveY);
- }
-
- public boolean keyPressed(int keyCode, int scanCode, int modifiers) {
- eventReceiver.onKeyEvent(keyCode, scanCode, modifiers, false);
- return super.keyPressed(keyCode, scanCode, modifiers);
- }
-
- @Override
- public boolean charTyped(char c, int modifiers) {
- eventReceiver.onKeyEvent(c, 0, modifiers, true);
- return super.charTyped(c, modifiers);
- }
-
- @Override
- public boolean mouseScrolled(double mouseX, double mouseY, double horizontalAmount, double verticalAmount) {
- eventReceiver.onMouseScroll(
- new Vector2D(mouseX, mouseY),
- (int) (MathUtil.constrain(verticalAmount, -1, 1) * 7)
- );
- return super.mouseScrolled(mouseX, mouseY, horizontalAmount, verticalAmount);
- }
-}
diff --git a/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/MPKMod.java b/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/MPKMod.java
deleted file mode 100644
index 8f9fd866..00000000
--- a/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/MPKMod.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_3;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.KeyBinding;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_3.network.DataCustomPayload;
-import io.github.kurrycat.mpknetapi.common.network.packet.MPKPacket;
-import net.fabricmc.api.ModInitializer;
-import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
-import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
-import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents;
-import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
-import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback;
-import net.minecraft.SharedConstants;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.util.math.MatrixStack;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class MPKMod implements ModInitializer {
- public static final MPKMod INSTANCE = new MPKMod();
- public static Map keyBindingMap = new HashMap<>();
- public final EventHandler eventHandler = new EventHandler();
- public MatrixStack matrixStack;
-
- @Override
- public void onInitialize() {
- // This code runs as soon as Minecraft is in a mod-load-ready state.
- // However, some things (like resources) may still be uninitialized.
- API.LOGGER.info("Loading " + API.NAME + " " + API.VERSION);
- API.preInit(getClass());
- registerKeybindingsFromGUIs();
-
- HudRenderCallback.EVENT.register(eventHandler::onInGameOverlayRender);
- ClientTickEvents.START_CLIENT_TICK.register(eventHandler::onClientTickStart);
- ClientTickEvents.END_CLIENT_TICK.register(eventHandler::onClientTickEnd);
- ClientPlayConnectionEvents.JOIN.register(eventHandler::onServerConnect);
- ClientPlayConnectionEvents.DISCONNECT.register(eventHandler::onServerDisconnect);
-
- DataCustomPayload.registerServerboundPayload();
- ClientPlayNetworking.registerGlobalReceiver(DataCustomPayload.registerClientboundPayload(), ((payload, context) -> {
- MPKPacket packet = MPKPacket.handle(API.PACKET_LISTENER_CLIENT, payload.data(), null);
- if (packet != null) {
- API.Events.onPluginMessage(packet);
- }
- }));
- }
-
- private void registerKeybindingsFromGUIs() {
- API.guiScreenMap.forEach((id, guiScreen) -> {
- if (guiScreen.shouldCreateKeyBind())
- registerKeyBinding(id);
- });
-
- API.keyBindingMap.forEach((id, consumer) -> registerKeyBinding(id));
- keyBindingMap.forEach((id, key) -> KeyBindingHelper.registerKeyBinding(key));
- }
-
- public void registerKeyBinding(String id) {
- net.minecraft.client.option.KeyBinding keyBinding = new net.minecraft.client.option.KeyBinding(
- API.MODID + ".key." + id + ".desc",
- -1,
- API.KEYBINDING_CATEGORY
- );
-
- keyBindingMap.put(id, keyBinding);
- }
-
- public void init() {
- API.LOGGER.info(API.COMPATIBILITY_MARKER, "Registering compatibility functions...");
- API.registerFunctionHolder(new FunctionCompatibility());
- API.LOGGER.info(API.COMPATIBILITY_MARKER, "Registered compatibility functions.");
-
- registerKeyBindings();
- API.init(SharedConstants.getGameVersion().getName());
-
- API.Events.onLoadComplete();
- }
-
- private void registerKeyBindings() {
- for (net.minecraft.client.option.KeyBinding k : MinecraftClient.getInstance().options.allKeys) {
- new KeyBinding(
- () -> k.getBoundKeyLocalizedText().getString(),
- k.getTranslationKey(),
- k::isPressed
- );
- }
-
- API.LOGGER.info(API.COMPATIBILITY_MARKER, "Registered {} Keybindings", KeyBinding.getKeyMap().size());
- }
-}
diff --git a/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/mixin/GameRendererMixin.java b/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/mixin/GameRendererMixin.java
deleted file mode 100644
index e2bb0c5f..00000000
--- a/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/mixin/GameRendererMixin.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_3.mixin;
-
-import com.mojang.blaze3d.systems.RenderSystem;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_3.MPKMod;
-import net.minecraft.client.render.Camera;
-import net.minecraft.client.render.GameRenderer;
-import net.minecraft.client.render.RenderTickCounter;
-import net.minecraft.client.util.math.MatrixStack;
-import org.joml.Matrix4fStack;
-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(value = GameRenderer.class)
-public class GameRendererMixin {
- @Inject(at = @At(value = "INVOKE_STRING",
- target = "Lnet/minecraft/util/profiler/Profiler;swap(Ljava/lang/String;)V",
- args = "ldc=hand"),
- method = "renderWorld")
- public void render(RenderTickCounter tickCounter, CallbackInfo ci) {
- GameRenderer gameRenderer = (GameRenderer) (Object) this;
- Camera camera = gameRenderer.getCamera();
- Matrix4fStack matrixStack = RenderSystem.getModelViewStack();
- matrixStack.pushMatrix();
- matrixStack.rotateXYZ(camera.getPitch() * ((float) Math.PI / 180), camera.getYaw() * ((float) Math.PI / 180) + (float) Math.PI, 0.0f);
-
- MPKMod.INSTANCE.eventHandler.onRenderWorldOverlay(new MatrixStack(), tickCounter.getTickDelta(false));
-
- matrixStack.popMatrix();
- }
-}
diff --git a/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/mixin/KeyBindingAccessor.java b/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/mixin/KeyBindingAccessor.java
deleted file mode 100644
index 999c5f15..00000000
--- a/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/mixin/KeyBindingAccessor.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_3.mixin;
-
-import net.minecraft.client.option.KeyBinding;
-import net.minecraft.client.util.InputUtil;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.gen.Accessor;
-
-@Mixin(KeyBinding.class)
-public interface KeyBindingAccessor {
- @Accessor
- InputUtil.Key getBoundKey();
-}
diff --git a/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/mixin/KeyboardMixin.java b/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/mixin/KeyboardMixin.java
deleted file mode 100644
index 47320caf..00000000
--- a/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/mixin/KeyboardMixin.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_3.mixin;
-
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_3.MPKMod;
-import net.minecraft.client.Keyboard;
-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(Keyboard.class)
-public class KeyboardMixin {
- @Inject(method = "onKey", at = @At(value = "RETURN"))
- private void onKey(long window, int key, int scancode, int action, int modifiers, CallbackInfo ci) {
- if(key != -1) {
- MPKMod.INSTANCE.eventHandler.onKey(key, scancode, action);
- }
- }
-}
diff --git a/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/mixin/MinecraftClientMixin.java b/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/mixin/MinecraftClientMixin.java
deleted file mode 100644
index 97708f2f..00000000
--- a/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/mixin/MinecraftClientMixin.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_3.mixin;
-
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_3.MPKMod;
-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 MinecraftClientMixin {
- @Inject(at = @At("TAIL"), method = "")
- private void init(CallbackInfo info) {
- MPKMod.INSTANCE.init();
- }
-}
diff --git a/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/mixin/MouseMixin.java b/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/mixin/MouseMixin.java
deleted file mode 100644
index a8f5579e..00000000
--- a/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/mixin/MouseMixin.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_3.mixin;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.Mouse;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.Shadow;
-import org.spongepowered.asm.mixin.injection.At;
-import org.spongepowered.asm.mixin.injection.Inject;
-import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
-
-@Mixin(Mouse.class)
-public class MouseMixin {
- @Shadow
- private double cursorDeltaX;
- @Shadow
- private double cursorDeltaY;
- @Shadow
- private double x;
- @Shadow
- private double y;
-
- @Inject(method = "onCursorPos", at = @At(value = "TAIL"))
- private void onCursorPos(long window, double x, double y, CallbackInfo ci) {
- if (window == MinecraftClient.getInstance().getWindow().getHandle()) {
- API.Events.onMouseInput(
- io.github.kurrycat.mpkmod.util.Mouse.Button.NONE,
- io.github.kurrycat.mpkmod.util.Mouse.State.NONE,
- (int) x, (int) y, (int) cursorDeltaX, (int) -cursorDeltaY,
- 0, System.nanoTime()
- );
- }
- }
-
- @Inject(method = "onMouseScroll", at = @At(value = "TAIL"))
- private void onMouseScroll(long window, double horizontal, double vertical, CallbackInfo ci) {
- API.Events.onMouseInput(
- io.github.kurrycat.mpkmod.util.Mouse.Button.NONE,
- io.github.kurrycat.mpkmod.util.Mouse.State.NONE,
- (int) x, (int) y, 0, 0,
- (int) vertical, System.nanoTime()
- );
- }
-
- @Inject(method = "onMouseButton", at = @At(value = "TAIL"))
- private void onMouseButton(long window, int button, int action, int mods, CallbackInfo ci) {
- API.Events.onMouseInput(
- io.github.kurrycat.mpkmod.util.Mouse.Button.fromInt(button),
- button == -1 ? io.github.kurrycat.mpkmod.util.Mouse.State.NONE :
- (action == 1 ? io.github.kurrycat.mpkmod.util.Mouse.State.DOWN : io.github.kurrycat.mpkmod.util.Mouse.State.UP),
- (int) x, (int) y, 0, 0,
- 0, System.nanoTime()
- );
- }
-}
diff --git a/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/network/DataCustomPayload.java b/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/network/DataCustomPayload.java
deleted file mode 100644
index dd59b06b..00000000
--- a/fabric-1.21.3/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_3/network/DataCustomPayload.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_3.network;
-
-import io.github.kurrycat.mpknetapi.common.MPKNetworking;
-import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry;
-import net.minecraft.network.PacketByteBuf;
-import net.minecraft.network.codec.PacketCodec;
-import net.minecraft.network.packet.CustomPayload;
-import net.minecraft.util.Identifier;
-
-public record DataCustomPayload(byte[] data) implements CustomPayload {
- public static final Id MPK_ID = new Id<>(Identifier.of(MPKNetworking.CHANNEL_NAMESPACE, MPKNetworking.CHANNEL_PATH));
-
- public static final PacketCodec CODEC = PacketCodec.of(
- (payload, buf) -> buf.writeBytes(payload.data()),
- buf -> {
- byte[] data = new byte[buf.readableBytes()];
- buf.readBytes(data);
- return new DataCustomPayload(data);
- }
- );
-
- @Override
- public Id extends CustomPayload> getId() {
- return MPK_ID;
- }
-
- public static Id registerClientboundPayload() {
- PayloadTypeRegistry.playS2C().register(MPK_ID, DataCustomPayload.CODEC);
- return MPK_ID;
- }
-
- public static Id registerServerboundPayload() {
- PayloadTypeRegistry.playC2S().register(MPK_ID, DataCustomPayload.CODEC);
- return MPK_ID;
- }
-}
\ No newline at end of file
diff --git a/fabric-1.21.3/src/main/resources/assets/mpkmod/icon.png b/fabric-1.21.3/src/main/resources/assets/mpkmod/icon.png
deleted file mode 100644
index 48bcd55b..00000000
Binary files a/fabric-1.21.3/src/main/resources/assets/mpkmod/icon.png and /dev/null differ
diff --git a/fabric-1.21.3/src/main/resources/assets/mpkmod/lang/en_US.lang b/fabric-1.21.3/src/main/resources/assets/mpkmod/lang/en_US.lang
deleted file mode 100644
index 6bb9fb6f..00000000
--- a/fabric-1.21.3/src/main/resources/assets/mpkmod/lang/en_US.lang
+++ /dev/null
@@ -1,6 +0,0 @@
-mpkmod.key.main_gui.desc=Open MPK Mod GUI
-mpkmod.key.lb_gui.desc=Open Landing Block GUI
-mpkmod.key.lb_set.desc=Set Landing Block
-mpkmod.key.options_gui.desc=Open Options GUI
-mpkmod.main_gui.title=MPK Mod GUI
-mpkmod.lb_gui.title=Landing Block GUI
\ No newline at end of file
diff --git a/fabric-1.21.3/src/main/resources/assets/mpkmod/lang/en_us.json b/fabric-1.21.3/src/main/resources/assets/mpkmod/lang/en_us.json
deleted file mode 100644
index 167f27be..00000000
--- a/fabric-1.21.3/src/main/resources/assets/mpkmod/lang/en_us.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "mpkmod.key.main_gui.desc": "Open MPK Mod GUI",
- "mpkmod.key.lb_gui.desc": "Open Landing Block GUI",
- "mpkmod.key.lb_set.desc": "Set Landing Block",
- "mpkmod.key.options_gui.desc": "Open Options GUI",
- "mpkmod.main_gui.title": "MPK Mod GUI",
- "mpkmod.lb_gui.title": "Landing Block GUI"
-}
\ No newline at end of file
diff --git a/fabric-1.21.3/src/main/resources/assets/mpkmod/lang/pl_pl.json b/fabric-1.21.3/src/main/resources/assets/mpkmod/lang/pl_pl.json
deleted file mode 100644
index 886d7746..00000000
--- a/fabric-1.21.3/src/main/resources/assets/mpkmod/lang/pl_pl.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "mpkmod.key.main_gui.desc": "Otwórz menu MPK",
- "mpkmod.key.lb_gui.desc": "Otwórz menu Bloku Lądowania",
- "mpkmod.key.lb_set.desc": "Ustaw Blok Lądowania",
- "mpkmod.key.options_gui.desc": "Otwórz menu opcji",
- "mpkmod.main_gui.title": "Menu MPK",
- "mpkmod.lb_gui.title": "Menu Bloku Lądowania"
-}
\ No newline at end of file
diff --git a/fabric-1.21.3/src/main/resources/assets/mpkmod/lang/pl_pl.lang b/fabric-1.21.3/src/main/resources/assets/mpkmod/lang/pl_pl.lang
deleted file mode 100644
index 0d946226..00000000
--- a/fabric-1.21.3/src/main/resources/assets/mpkmod/lang/pl_pl.lang
+++ /dev/null
@@ -1,6 +0,0 @@
-mpkmod.key.main_gui.desc=Otwórz menu MPK
-mpkmod.key.lb_gui.desc=Otwórz menu Bloku Lądowania
-mpkmod.key.lb_set.desc=Ustaw Blok Lądowania
-mpkmod.key.options_gui.desc=Otwórz menu opcji
-mpkmod.main_gui.title=Menu MPK
-mpkmod.lb_gui.title=Menu Bloku Lądowania
\ No newline at end of file
diff --git a/fabric-1.21.3/src/main/resources/fabric.mod.json b/fabric-1.21.3/src/main/resources/fabric.mod.json
deleted file mode 100644
index cecaaa21..00000000
--- a/fabric-1.21.3/src/main/resources/fabric.mod.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "schemaVersion": 1,
- "id": "mpkmod",
- "version": "${version}",
-
- "name": "MPK Mod",
- "description": "A Mod that adds some features that help parkour to the game.",
- "authors": [
- "kurrycat",
- "CodeKid0 (Fabric port)",
- "Contributors"
- ],
- "contact": {
- "sources": "https://github.com/kurrycat2004/MPKMod_2"
- },
-
- "license": "MIT",
- "icon": "assets/mpkmod/icon.png",
- "environment": "client",
- "entrypoints": {
- "main": [
- "io.github.kurrycat.mpkmod.compatibility.fabric_1_21_3.MPKMod"
- ]
- },
- "mixins": [
- "mpkmod.mixins.json"
- ],
-
- "depends": {
- "fabricloader": ">=0.15.11",
- "fabric-api": "*",
- "minecraft": "~1.21",
- "java": ">=21"
- },
- "suggests": {}
-}
diff --git a/fabric-1.21.3/src/main/resources/mpkmod.mixins.json b/fabric-1.21.3/src/main/resources/mpkmod.mixins.json
deleted file mode 100644
index 6fc8720d..00000000
--- a/fabric-1.21.3/src/main/resources/mpkmod.mixins.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "required": true,
- "minVersion": "0.8",
- "package": "io.github.kurrycat.mpkmod.compatibility.fabric_1_21_3.mixin",
- "compatibilityLevel": "JAVA_21",
- "mixins": [
- ],
- "client": [
- "GameRendererMixin",
- "KeyBindingAccessor",
- "KeyboardMixin",
- "MinecraftClientMixin",
- "MouseMixin"
- ],
- "injectors": {
- "defaultRequire": 1
- }
-}
diff --git a/fabric-1.21.5/.gitignore b/fabric-1.21.5/.gitignore
deleted file mode 100644
index c476faf2..00000000
--- a/fabric-1.21.5/.gitignore
+++ /dev/null
@@ -1,40 +0,0 @@
-# gradle
-
-.gradle/
-build/
-out/
-classes/
-
-# eclipse
-
-*.launch
-
-# idea
-
-.idea/
-*.iml
-*.ipr
-*.iws
-
-# vscode
-
-.settings/
-.vscode/
-bin/
-.classpath
-.project
-
-# macos
-
-*.DS_Store
-
-# fabric
-
-run/
-
-# java
-
-hs_err_*.log
-replay_*.log
-*.hprof
-*.jfr
diff --git a/fabric-1.21.5/build.gradle b/fabric-1.21.5/build.gradle
deleted file mode 100644
index e9cf65e7..00000000
--- a/fabric-1.21.5/build.gradle
+++ /dev/null
@@ -1,21 +0,0 @@
-plugins {
- id 'fabric-loom' version "1.11-SNAPSHOT"
-}
-
-loom.runs.client.runDir = "../runs/run"
-
-dependencies {
- minecraft "com.mojang:minecraft:${project.minecraft_version}"
- mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
- modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
-
- modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
-}
-
-processResources {
- inputs.property "version", project.version
-
- filesMatching("fabric.mod.json") {
- expand "version": project.version
- }
-}
\ No newline at end of file
diff --git a/fabric-1.21.5/gradle.properties b/fabric-1.21.5/gradle.properties
deleted file mode 100644
index 5b5a6efe..00000000
--- a/fabric-1.21.5/gradle.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-# Done to increase the memory available to gradle.
-org.gradle.jvmargs=-Xmx1G
-org.gradle.parallel=true
-
-# Fabric Properties
-# check these on https://fabricmc.net/develop
-minecraft_version=1.21.5
-yarn_mappings=1.21.5+build.1
-loader_version=0.16.13
-
-# Fabric API
-fabric_version=0.121.0+1.21.5
-
-jdkVersion=21
diff --git a/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/EventHandler.java b/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/EventHandler.java
deleted file mode 100644
index 0bee949c..00000000
--- a/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/EventHandler.java
+++ /dev/null
@@ -1,123 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.Player;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.mixin.KeyBindingAccessor;
-import io.github.kurrycat.mpkmod.ticks.ButtonMS;
-import io.github.kurrycat.mpkmod.ticks.ButtonMSList;
-import io.github.kurrycat.mpkmod.util.BoundingBox3D;
-import io.github.kurrycat.mpkmod.util.Vector3D;
-import net.fabricmc.fabric.api.networking.v1.PacketSender;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.DrawContext;
-import net.minecraft.client.network.ClientPlayNetworkHandler;
-import net.minecraft.client.network.ClientPlayerEntity;
-import net.minecraft.client.option.GameOptions;
-import net.minecraft.client.render.RenderTickCounter;
-import net.minecraft.client.util.InputUtil;
-import net.minecraft.client.util.math.MatrixStack;
-import net.minecraft.util.Util;
-import net.minecraft.util.math.Box;
-import net.minecraft.util.math.Vec3d;
-
-public class EventHandler {
- private static final ButtonMSList timeQueue = new ButtonMSList();
-
- /**
- * @param key The GLFW key code. See {@link InputUtil}.
- * @param scanCode
- * @param action The action, where 0 = unpressed, 1 = pressed, 2 = held.
- */
- public void onKey(int key, int scanCode, int action) {
- GameOptions options = MinecraftClient.getInstance().options;
- long eventNanos = Util.getMeasuringTimeNano();
-
- InputUtil.Key inputKey = InputUtil.fromKeyCode(key, scanCode);
-
- int[] keys = {
- ((KeyBindingAccessor) options.forwardKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.leftKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.backKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.rightKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.sprintKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.sneakKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.jumpKey).getBoundKey().getCode()
- };
-
- for (int i = 0; i < keys.length; i++) {
- if (key == keys[i]) {
- timeQueue.add(ButtonMS.of(ButtonMS.Button.values()[i], eventNanos, action == 1));
- }
- }
-
- if (action == 1) {
- FunctionCompatibility.pressedButtons.add(inputKey.getCode());
- } else if (action == 0) {
- FunctionCompatibility.pressedButtons.remove(inputKey.getCode());
- }
-
- API.Events.onKeyInput(key, inputKey.getLocalizedText().getString(), action == 1);
-
- MPKMod.keyBindingMap.forEach((id, keyBinding) -> {
- if (keyBinding.isPressed()) {
- API.Events.onKeybind(id);
- }
- });
- }
-
- public void onInGameOverlayRender(DrawContext drawContext, RenderTickCounter renderTickCounter) {
- drawContext.getMatrices().push();
- API.getFunctionHolder().drawContext = drawContext;
- API.Events.onRenderOverlay();
- drawContext.getMatrices().pop();
- }
-
- public void onRenderWorldOverlay(MatrixStack matrixStack, float tickDelta) {
- MPKMod.INSTANCE.matrixStack = matrixStack;
- matrixStack.push();
- Vec3d pos = MinecraftClient.getInstance().gameRenderer.getCamera().getPos().negate();
- MPKMod.INSTANCE.matrixStack.translate(pos);
- API.Events.onRenderWorldOverlay(tickDelta);
- matrixStack.pop();
- }
-
- public void onClientTickStart(MinecraftClient mc) {
- if (mc.isPaused() || mc.world == null) return;
- API.Events.onTickStart();
- }
-
- public void onClientTickEnd(MinecraftClient mc) {
- if (mc.isPaused() || mc.world == null) return;
- ClientPlayerEntity mcPlayer = mc.player;
-
- if (mcPlayer != null) {
- Box playerBB = mcPlayer.getBoundingBox();
- new Player()
- .setPos(new Vector3D(mcPlayer.getX(), mcPlayer.getY(), mcPlayer.getZ()))
- .setLastPos(new Vector3D(mcPlayer.lastX, mcPlayer.lastY, mcPlayer.lastZ))
- .setMotion(new Vector3D(mcPlayer.getVelocity().x, mcPlayer.getVelocity().y, mcPlayer.getVelocity().z))
- .setRotation(mcPlayer.getRotationClient().y, mcPlayer.getRotationClient().x)
- .setOnGround(mcPlayer.isOnGround())
- .setSprinting(mcPlayer.isSprinting())
- .setBoundingBox(new BoundingBox3D(
- new Vector3D(playerBB.minX, playerBB.minY, playerBB.minZ),
- new Vector3D(playerBB.maxX, playerBB.maxY, playerBB.maxZ)
- ))
- .constructKeyInput()
- .setKeyMSList(timeQueue)
- .buildAndSave();
- timeQueue.clear();
- }
-
- API.Events.onTickEnd();
- }
-
-
- public void onServerConnect(ClientPlayNetworkHandler clientPlayNetworkHandler, PacketSender packetSender, MinecraftClient minecraftClient) {
- API.Events.onServerConnect(clientPlayNetworkHandler.getConnection().isLocal());
- }
-
- public void onServerDisconnect(ClientPlayNetworkHandler clientPlayNetworkHandler, MinecraftClient minecraftClient) {
- API.Events.onServerDisconnect();
- }
-}
diff --git a/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/FunctionCompatibility.java b/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/FunctionCompatibility.java
deleted file mode 100644
index 257de18e..00000000
--- a/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/FunctionCompatibility.java
+++ /dev/null
@@ -1,370 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5;
-
-import com.mojang.blaze3d.systems.RenderSystem;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.*;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.mixin.KeyBindingAccessor;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.network.DataCustomPayload;
-import io.github.kurrycat.mpkmod.gui.MPKGuiScreen;
-import io.github.kurrycat.mpkmod.util.BoundingBox3D;
-import io.github.kurrycat.mpkmod.util.Debug;
-import io.github.kurrycat.mpkmod.util.Vector2D;
-import io.github.kurrycat.mpkmod.util.Vector3D;
-import io.github.kurrycat.mpknetapi.common.network.packet.MPKPacket;
-import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
-import net.minecraft.block.BlockState;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.DrawContext;
-import net.minecraft.client.gui.screen.Screen;
-import net.minecraft.client.network.ClientPlayerEntity;
-import net.minecraft.client.network.ServerInfo;
-import net.minecraft.client.option.GameOptions;
-import net.minecraft.client.option.KeyBinding;
-import net.minecraft.client.render.RenderLayer;
-import net.minecraft.client.render.VertexConsumer;
-import net.minecraft.client.render.VertexRendering;
-import net.minecraft.client.sound.PositionedSoundInstance;
-import net.minecraft.client.util.math.MatrixStack;
-import net.minecraft.registry.Registries;
-import net.minecraft.sound.SoundEvents;
-import net.minecraft.util.Util;
-import net.minecraft.util.hit.BlockHitResult;
-import net.minecraft.util.hit.HitResult;
-import net.minecraft.util.math.BlockPos;
-import net.minecraft.util.math.MathHelper;
-import net.minecraft.util.profiler.Profilers;
-
-import java.awt.*;
-import java.util.*;
-import java.util.List;
-
-public class FunctionCompatibility implements FunctionHolder,
- SoundManager.Interface,
- WorldInteraction.Interface,
- Renderer3D.Interface,
- Renderer2D.Interface,
- FontRenderer.Interface,
- Minecraft.Interface,
- Keyboard.Interface,
- Profiler.Interface {
- public static final Set pressedButtons = new HashSet<>();
- public DrawContext drawContext = null;
-
- public void playButtonSound() {
- MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
- }
-
- public List getCollisionBoundingBoxes(Vector3D blockPosVector) {
- final Vector3D blockPosVec = blockPosVector.copy();
- BlockPos blockPos = new BlockPos(blockPosVec.getXI(), blockPosVec.getYI(), blockPosVec.getZI());
- if (MinecraftClient.getInstance().world == null) return null;
- ArrayList boundingBoxes = new ArrayList<>();
- BlockState blockState = MinecraftClient.getInstance().world.getBlockState(blockPos);
-
- blockState.getCollisionShape(MinecraftClient.getInstance().world, blockPos).simplify().forEachBox(
- ((minX, minY, minZ, maxX, maxY, maxZ) -> boundingBoxes.add(
- new BoundingBox3D(new Vector3D(minX, minY, minZ), new Vector3D(maxX, maxY, maxZ)).move(blockPosVec)
- ))
- );
-
- return boundingBoxes;
- }
-
- public Vector3D getLookingAt() {
- if (MinecraftClient.getInstance().getCameraEntity() == null)
- return null;
-
- HitResult hitResult = MinecraftClient.getInstance().getCameraEntity().raycast(20, 0, false);
- if (hitResult instanceof BlockHitResult) {
- BlockPos blockPos = ((BlockHitResult) hitResult).getBlockPos();
- return new Vector3D(blockPos.getX(), blockPos.getY(), blockPos.getZ());
- }
-
- return null;
- }
-
- @Override
- public String getBlockName(Vector3D blockPos) {
- BlockPos blockpos = new BlockPos(blockPos.getXI(), blockPos.getYI(), blockPos.getZI());
- if (MinecraftClient.getInstance().world == null)
- return null;
-
- return Registries.BLOCK.getKey(
- MinecraftClient.getInstance().world.getBlockState(blockpos).getBlock()
- ).get().getValue().toString();
- }
-
- @Override
- public HashMap getBlockProperties(Vector3D blockPos) {
- HashMap properties = new HashMap<>();
- if (MinecraftClient.getInstance().world == null)
- return properties;
-
- BlockPos blockpos = new BlockPos(blockPos.getXI(), blockPos.getYI(), blockPos.getZI());
- BlockState blockState = MinecraftClient.getInstance().world.getBlockState(blockpos);
- blockState.getEntries().forEach((key, value) ->
- properties.put(key.getName(), Util.getValueAsString(key, value))
- );
- return null;
- }
-
- /**
- * Is called in {@link WorldInteraction.Interface WorldInteraction.Interface}
- */
- public String getLookingAtBlock() {
- if (MinecraftClient.getInstance().getCameraEntity() == null)
- return null;
-
- HitResult hitResult = MinecraftClient.getInstance().getCameraEntity().raycast(20, 0, false);
- if (hitResult.getType() == HitResult.Type.BLOCK && MinecraftClient.getInstance().world != null) {
- return Registries.BLOCK.getKey(
- MinecraftClient.getInstance().world.getBlockState(((BlockHitResult) hitResult).getBlockPos()).getBlock()
- ).get().getValue().toTranslationKey();
- }
- return null;
- }
-
- public void drawBox(BoundingBox3D bb, Color color, float partialTicks) {
- int r = color.getRed(), g = color.getGreen(), b = color.getBlue(), a = color.getAlpha();
-
- RenderSystem.lineWidth(1.0F);
-
- float minX = (float) bb.minX();
- float minY = (float) bb.minY();
- float minZ = (float) bb.minZ();
- float maxX = (float) bb.maxX();
- float maxY = (float) bb.maxY();
- float maxZ = (float) bb.maxZ();
-
- VertexRendering.drawFilledBox(
- MPKMod.INSTANCE.matrixStack,
- MinecraftClient.getInstance().getBufferBuilders().getEntityVertexConsumers().getBuffer(RenderLayer.getDebugFilledBox()),
- minX, minY, minZ,
- maxX, maxY, maxZ,
- r / 255f, g / 255f, b / 255f, a / 255f
- );
- }
-
- /**
- * Is called in {@link Renderer2D.Interface}
- */
- public void drawRect(Vector2D pos, Vector2D size, Color color) {
- if (drawContext == null) return;
- drawContext.fill(
- (int) pos.getX(), (int) pos.getY(),
- (int) (pos.getX() + size.getX()), (int) (pos.getY() + size.getY()),
- color.getRGB()
- );
- }
-
- /**
- * Is called in {@link Renderer2D.Interface}
- */
- public void drawLines(Collection points, Color color) {
- if (points.size() < 2) {
- Debug.stacktrace("At least two points expected, got: " + points.size());
- return;
- }
- int r = color.getRed(), g = color.getGreen(), b = color.getBlue(), a = color.getAlpha();
-
- drawContext.draw(provider -> {
- VertexConsumer consumer = provider.getBuffer(RenderLayer.getGui());
-
- for (Vector2D p : points) {
- consumer.vertex((float) p.getX(), (float) p.getY(), 0).color(r, g, b, a);
- }
- });
- }
-
- public Vector2D getScaledSize() {
- return new Vector2D(
- MinecraftClient.getInstance().getWindow().getScaledWidth(),
- MinecraftClient.getInstance().getWindow().getScaledHeight()
- );
- }
-
- public Vector2D getScreenSize() {
- return new Vector2D(MinecraftClient.getInstance().getWindow().getWidth(), MinecraftClient.getInstance().getWindow().getHeight());
- }
-
- public void enableScissor(double x, double y, double w, double h) {
- int x1 = (int) x;
- int y1 = (int) y;
- int x2 = (int) (x + w);
- int y2 = (int) (y + h);
- drawContext.enableScissor(x1, y1, x2, y2);
- }
-
- public void disableScissor() {
- try {
- drawContext.disableScissor();
- } catch (IllegalStateException ignored) {}
- }
-
- public void clearScissors() {
- boolean clearedAll = false;
- while (!clearedAll) {
- try {
- drawContext.disableScissor();
- } catch (IllegalStateException e) {
- clearedAll = true;
- }
- }
- }
-
- public boolean scissorContains(Vector2D point) {
- return drawContext.scissorContains(point.getXI(), point.getYI());
- }
-
- public void drawString(String text, double x, double y, Color color, double fontSize, boolean shadow) {
- if (drawContext == null) return;
- MatrixStack matrixStack = drawContext.getMatrices();
- matrixStack.push();
- matrixStack.translate(x, y, 0);
- double scale = fontSize / MinecraftClient.getInstance().textRenderer.fontHeight;
- matrixStack.scale((float) scale, (float) scale, 1);
- drawContext.drawText(
- MinecraftClient.getInstance().textRenderer, text,
- 0, 0, color.getRGB(), shadow
- );
- matrixStack.pop();
- }
-
- public Vector2D getStringSize(String text, double fontSize) {
- return new Vector2D(
- MinecraftClient.getInstance().textRenderer.getWidth(text) *
- (float) (fontSize / MinecraftClient.getInstance().textRenderer.fontHeight),
- (float) fontSize
- );
- }
-
- public String getIP() {
- ServerInfo d = MinecraftClient.getInstance().getCurrentServerEntry();
-
- if (d == null)
- return "Multiplayer";
- else
- return d.address;
- }
-
- public String getFPS() {
- String[] split = MinecraftClient.getInstance().fpsDebugString.split(" ");
- if (split.length == 0)
- return "Error";
- return split[0];
- }
-
- public void displayGuiScreen(MPKGuiScreen screen) {
- MinecraftClient.getInstance().setScreen(
- screen == null
- ? null
- : new io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.MPKGuiScreen(screen));
- }
-
- public String getCurrentGuiScreen() {
- Screen curr = MinecraftClient.getInstance().currentScreen;
-
- if (curr == null)
- return null;
- else if (curr instanceof io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.MPKGuiScreen) {
- String id = ((io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.MPKGuiScreen) curr).eventReceiver.getID();
- if (id == null)
- id = "unknown";
-
- return id;
- }
-
- return curr.getClass().getSimpleName();
- }
-
- /**
- * Is called in {@link Minecraft.Interface Minecraft.Interface}
- */
- public String getUserName() {
- if (MinecraftClient.getInstance().player == null) return null;
- return MinecraftClient.getInstance().player.getName().getString();
- }
-
- public void copyToClipboard(String content) {
- MinecraftClient.getInstance().keyboard.setClipboard(content);
- }
-
- public boolean setInputs(Float yaw, boolean relYaw, Float pitch, boolean relPitch, int pressedInputs, int releasedInputs, int L, int R) {
- if (!Minecraft.isSingleplayer()) return false;
- ClientPlayerEntity player = MinecraftClient.getInstance().player;
- if (player == null) return false;
- GameOptions op = MinecraftClient.getInstance().options;
-
- float prevYaw = player.getYaw();
- float prevPitch = player.getPitch();
-
- if (yaw != null) {
- player.setYaw(relYaw ? (player.getYaw() + yaw) : yaw);
- player.lastYaw += player.getYaw() - prevYaw;
- }
- if (pitch != null) {
- player.setPitch(relPitch ? (player.getPitch() + pitch) : pitch);
- player.setPitch(MathHelper.clamp(player.getPitch(), -90.0F, 90.0F));
-
- player.lastPitch += player.getPitch() - prevPitch;
- player.lastPitch = MathHelper.clamp(player.lastPitch, -90.0F, 90.0F);
- }
-
- if (player.getVehicle() != null) {
- player.getVehicle().onPassengerLookAround(player);
- }
-
- KeyBinding[] keys = new KeyBinding[]{
- op.forwardKey,
- op.leftKey,
- op.backKey,
- op.rightKey,
- op.sprintKey,
- op.sneakKey,
- op.jumpKey
- };
-
- for (int i = 0; i < keys.length; i++) {
- if ((releasedInputs & 1 << i) != 0) {
- KeyBinding.setKeyPressed(((KeyBindingAccessor) keys[i]).getBoundKey(), false);
- }
- if ((pressedInputs & 1 << i) != 0) {
- KeyBinding.setKeyPressed(((KeyBindingAccessor) keys[i]).getBoundKey(), true);
- KeyBinding.onKeyPressed(((KeyBindingAccessor) keys[i]).getBoundKey());
- }
- }
-
- KeyBinding.setKeyPressed(((KeyBindingAccessor) op.attackKey).getBoundKey(), L > 0);
- for (int i = 0; i < L; i++)
- KeyBinding.onKeyPressed(((KeyBindingAccessor) op.attackKey).getBoundKey());
-
- KeyBinding.setKeyPressed(((KeyBindingAccessor) op.useKey).getBoundKey(), R > 0);
- for (int i = 0; i < R; i++)
- KeyBinding.onKeyPressed(((KeyBindingAccessor) op.useKey).getBoundKey());
-
- return true;
- }
-
- public boolean isF3Enabled() {
- return MinecraftClient.getInstance().getDebugHud().shouldShowDebugHud();
- }
-
- public void sendPacket(MPKPacket packet) {
- ClientPlayNetworking.send(new DataCustomPayload(packet.getData()));
- }
-
- public List getPressedButtons() {
- return new ArrayList<>(pressedButtons);
- }
-
- public void startSection(String name) {
- Profilers.get().push(name);
- }
-
- public void endStartSection(String name) {
- Profilers.get().swap(name);
- }
-
- public void endSection() {
- Profilers.get().pop();
- }
-}
diff --git a/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/MPKGuiScreen.java b/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/MPKGuiScreen.java
deleted file mode 100644
index 4c376fb5..00000000
--- a/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/MPKGuiScreen.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.Profiler;
-import io.github.kurrycat.mpkmod.util.MathUtil;
-import io.github.kurrycat.mpkmod.util.Vector2D;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.DrawContext;
-import net.minecraft.client.gui.screen.Screen;
-import net.minecraft.text.Text;
-
-public class MPKGuiScreen extends Screen {
- public io.github.kurrycat.mpkmod.gui.MPKGuiScreen eventReceiver;
-
- public MPKGuiScreen(io.github.kurrycat.mpkmod.gui.MPKGuiScreen screen) {
- super(Text.translatable(API.MODID + ".gui.title"));
- eventReceiver = screen;
- }
-
- public void init() {
- eventReceiver.onInit();
- }
-
- @Override
- public void resize(MinecraftClient client, int width, int height) {
- super.resize(client, width, height);
- eventReceiver.onResize(width, height);
- }
-
- public void render(DrawContext drawContext, int mouseX, int mouseY, float delta) {
- drawContext.getMatrices().push();
- API.getFunctionHolder().drawContext = drawContext;
- Profiler.startSection(eventReceiver.getID() == null ? "mpk_gui" : eventReceiver.getID());
- try {
- eventReceiver.drawScreen(new Vector2D(mouseX, mouseY), delta);
- } catch (Exception e) {
- API.LOGGER.warn("Error in drawScreen with id: " + eventReceiver.getID(), e);
- }
- Profiler.endSection();
- drawContext.getMatrices().pop();
- }
-
- public void close() {
- super.close();
- eventReceiver.onGuiClosed();
- }
-
- public boolean shouldPause() {
- return false;
- }
-
- public boolean mouseClicked(double mouseX, double mouseY, int state) {
- eventReceiver.onMouseClicked(new Vector2D(mouseX, mouseY), state);
- return super.mouseClicked(mouseX, mouseY, state);
- }
-
- public boolean mouseReleased(double mouseX, double mouseY, int state) {
- eventReceiver.onMouseReleased(new Vector2D(mouseX, mouseY), state);
- return super.mouseReleased(mouseX, mouseY, state);
- }
-
- public boolean mouseDragged(double mouseX, double mouseY, int clickedMouseButton, double moveX, double moveY) {
- eventReceiver.onMouseClickMove(new Vector2D(mouseX, mouseY), clickedMouseButton, 0);
- return super.mouseDragged(mouseX, mouseY, clickedMouseButton, moveX, moveY);
- }
-
- public boolean keyPressed(int keyCode, int scanCode, int modifiers) {
- eventReceiver.onKeyEvent(keyCode, scanCode, modifiers, false);
- return super.keyPressed(keyCode, scanCode, modifiers);
- }
-
- @Override
- public boolean charTyped(char c, int modifiers) {
- eventReceiver.onKeyEvent(c, 0, modifiers, true);
- return super.charTyped(c, modifiers);
- }
-
- @Override
- public boolean mouseScrolled(double mouseX, double mouseY, double horizontalAmount, double verticalAmount) {
- eventReceiver.onMouseScroll(
- new Vector2D(mouseX, mouseY),
- (int) (MathUtil.constrain(verticalAmount, -1, 1) * 7)
- );
- return super.mouseScrolled(mouseX, mouseY, horizontalAmount, verticalAmount);
- }
-}
diff --git a/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/MPKMod.java b/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/MPKMod.java
deleted file mode 100644
index 3cba5ec8..00000000
--- a/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/MPKMod.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.KeyBinding;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.network.DataCustomPayload;
-import io.github.kurrycat.mpknetapi.common.network.packet.MPKPacket;
-import net.fabricmc.api.ModInitializer;
-import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
-import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
-import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents;
-import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
-import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback;
-import net.minecraft.SharedConstants;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.util.math.MatrixStack;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class MPKMod implements ModInitializer {
- public static final MPKMod INSTANCE = new MPKMod();
- public static Map keyBindingMap = new HashMap<>();
- public final EventHandler eventHandler = new EventHandler();
- public MatrixStack matrixStack;
-
- @Override
- public void onInitialize() {
- // This code runs as soon as Minecraft is in a mod-load-ready state.
- // However, some things (like resources) may still be uninitialized.
- API.LOGGER.info("Loading " + API.NAME + " " + API.VERSION);
- API.preInit(getClass());
- registerKeybindingsFromGUIs();
-
- HudRenderCallback.EVENT.register(eventHandler::onInGameOverlayRender);
- ClientTickEvents.START_CLIENT_TICK.register(eventHandler::onClientTickStart);
- ClientTickEvents.END_CLIENT_TICK.register(eventHandler::onClientTickEnd);
- ClientPlayConnectionEvents.JOIN.register(eventHandler::onServerConnect);
- ClientPlayConnectionEvents.DISCONNECT.register(eventHandler::onServerDisconnect);
-
- DataCustomPayload.registerServerboundPayload();
- ClientPlayNetworking.registerGlobalReceiver(DataCustomPayload.registerClientboundPayload(), ((payload, context) -> {
- MPKPacket packet = MPKPacket.handle(API.PACKET_LISTENER_CLIENT, payload.data(), null);
- if (packet != null) {
- API.Events.onPluginMessage(packet);
- }
- }));
- }
-
- private void registerKeybindingsFromGUIs() {
- API.guiScreenMap.forEach((id, guiScreen) -> {
- if (guiScreen.shouldCreateKeyBind())
- registerKeyBinding(id);
- });
-
- API.keyBindingMap.forEach((id, consumer) -> registerKeyBinding(id));
- keyBindingMap.forEach((id, key) -> KeyBindingHelper.registerKeyBinding(key));
- }
-
- public void registerKeyBinding(String id) {
- net.minecraft.client.option.KeyBinding keyBinding = new net.minecraft.client.option.KeyBinding(
- API.MODID + ".key." + id + ".desc",
- -1,
- API.KEYBINDING_CATEGORY
- );
-
- keyBindingMap.put(id, keyBinding);
- }
-
- public void init() {
- API.LOGGER.info(API.COMPATIBILITY_MARKER, "Registering compatibility functions...");
- API.registerFunctionHolder(new FunctionCompatibility());
- API.LOGGER.info(API.COMPATIBILITY_MARKER, "Registered compatibility functions.");
-
- registerKeyBindings();
- API.init(SharedConstants.getGameVersion().getName());
-
- API.Events.onLoadComplete();
- }
-
- private void registerKeyBindings() {
- for (net.minecraft.client.option.KeyBinding k : MinecraftClient.getInstance().options.allKeys) {
- new KeyBinding(
- () -> k.getBoundKeyLocalizedText().getString(),
- k.getTranslationKey(),
- k::isPressed
- );
- }
-
- API.LOGGER.info(API.COMPATIBILITY_MARKER, "Registered {} Keybindings", KeyBinding.getKeyMap().size());
- }
-}
diff --git a/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/GameRendererMixin.java b/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/GameRendererMixin.java
deleted file mode 100644
index 234b5bf9..00000000
--- a/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/GameRendererMixin.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.mixin;
-
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.MPKMod;
-import net.minecraft.client.render.*;
-import net.minecraft.client.util.math.MatrixStack;
-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(value = WorldRenderer.class)
-public class GameRendererMixin {
- @Inject(method = "renderBlockEntities", at = @At("HEAD"))
- public void render(MatrixStack matrices, VertexConsumerProvider.Immediate entityVertexConsumers, VertexConsumerProvider.Immediate effectVertexConsumers, Camera camera, float tickProgress, CallbackInfo ci) {
- MPKMod.INSTANCE.eventHandler.onRenderWorldOverlay(new MatrixStack(), tickProgress);
- }
-}
diff --git a/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/KeyBindingAccessor.java b/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/KeyBindingAccessor.java
deleted file mode 100644
index 1bbc15c7..00000000
--- a/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/KeyBindingAccessor.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.mixin;
-
-import net.minecraft.client.option.KeyBinding;
-import net.minecraft.client.util.InputUtil;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.gen.Accessor;
-
-@Mixin(KeyBinding.class)
-public interface KeyBindingAccessor {
- @Accessor
- InputUtil.Key getBoundKey();
-}
diff --git a/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/KeyboardMixin.java b/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/KeyboardMixin.java
deleted file mode 100644
index 10c661b5..00000000
--- a/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/KeyboardMixin.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.mixin;
-
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.MPKMod;
-import net.minecraft.client.Keyboard;
-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(Keyboard.class)
-public class KeyboardMixin {
- @Inject(method = "onKey", at = @At(value = "RETURN"))
- private void onKey(long window, int key, int scancode, int action, int modifiers, CallbackInfo ci) {
- if(key != -1) {
- MPKMod.INSTANCE.eventHandler.onKey(key, scancode, action);
- }
- }
-}
diff --git a/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/MinecraftClientMixin.java b/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/MinecraftClientMixin.java
deleted file mode 100644
index fd006cae..00000000
--- a/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/MinecraftClientMixin.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.mixin;
-
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.MPKMod;
-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 MinecraftClientMixin {
- @Inject(at = @At("TAIL"), method = "")
- private void init(CallbackInfo info) {
- MPKMod.INSTANCE.init();
- }
-}
diff --git a/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/MouseMixin.java b/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/MouseMixin.java
deleted file mode 100644
index 0ae184fa..00000000
--- a/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/MouseMixin.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.mixin;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.Mouse;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.Shadow;
-import org.spongepowered.asm.mixin.injection.At;
-import org.spongepowered.asm.mixin.injection.Inject;
-import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
-
-@Mixin(Mouse.class)
-public class MouseMixin {
- @Shadow
- private double cursorDeltaX;
- @Shadow
- private double cursorDeltaY;
- @Shadow
- private double x;
- @Shadow
- private double y;
-
- @Inject(method = "onCursorPos", at = @At(value = "TAIL"))
- private void onCursorPos(long window, double x, double y, CallbackInfo ci) {
- if (window == MinecraftClient.getInstance().getWindow().getHandle()) {
- API.Events.onMouseInput(
- io.github.kurrycat.mpkmod.util.Mouse.Button.NONE,
- io.github.kurrycat.mpkmod.util.Mouse.State.NONE,
- (int) x, (int) y, (int) cursorDeltaX, (int) -cursorDeltaY,
- 0, System.nanoTime()
- );
- }
- }
-
- @Inject(method = "onMouseScroll", at = @At(value = "TAIL"))
- private void onMouseScroll(long window, double horizontal, double vertical, CallbackInfo ci) {
- API.Events.onMouseInput(
- io.github.kurrycat.mpkmod.util.Mouse.Button.NONE,
- io.github.kurrycat.mpkmod.util.Mouse.State.NONE,
- (int) x, (int) y, 0, 0,
- (int) vertical, System.nanoTime()
- );
- }
-
- @Inject(method = "onMouseButton", at = @At(value = "TAIL"))
- private void onMouseButton(long window, int button, int action, int mods, CallbackInfo ci) {
- API.Events.onMouseInput(
- io.github.kurrycat.mpkmod.util.Mouse.Button.fromInt(button),
- button == -1 ? io.github.kurrycat.mpkmod.util.Mouse.State.NONE :
- (action == 1 ? io.github.kurrycat.mpkmod.util.Mouse.State.DOWN : io.github.kurrycat.mpkmod.util.Mouse.State.UP),
- (int) x, (int) y, 0, 0,
- 0, System.nanoTime()
- );
- }
-}
diff --git a/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/network/DataCustomPayload.java b/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/network/DataCustomPayload.java
deleted file mode 100644
index e6e7ff5a..00000000
--- a/fabric-1.21.5/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/network/DataCustomPayload.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.network;
-
-import io.github.kurrycat.mpknetapi.common.MPKNetworking;
-import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry;
-import net.minecraft.network.PacketByteBuf;
-import net.minecraft.network.codec.PacketCodec;
-import net.minecraft.network.packet.CustomPayload;
-import net.minecraft.util.Identifier;
-
-public record DataCustomPayload(byte[] data) implements CustomPayload {
- public static final Id MPK_ID = new Id<>(Identifier.of(MPKNetworking.CHANNEL_NAMESPACE, MPKNetworking.CHANNEL_PATH));
-
- public static final PacketCodec CODEC = PacketCodec.of(
- (payload, buf) -> buf.writeBytes(payload.data()),
- buf -> {
- byte[] data = new byte[buf.readableBytes()];
- buf.readBytes(data);
- return new DataCustomPayload(data);
- }
- );
-
- @Override
- public Id extends CustomPayload> getId() {
- return MPK_ID;
- }
-
- public static Id registerClientboundPayload() {
- PayloadTypeRegistry.playS2C().register(MPK_ID, DataCustomPayload.CODEC);
- return MPK_ID;
- }
-
- public static Id registerServerboundPayload() {
- PayloadTypeRegistry.playC2S().register(MPK_ID, DataCustomPayload.CODEC);
- return MPK_ID;
- }
-}
\ No newline at end of file
diff --git a/fabric-1.21.5/src/main/resources/assets/mpkmod/icon.png b/fabric-1.21.5/src/main/resources/assets/mpkmod/icon.png
deleted file mode 100644
index 48bcd55b..00000000
Binary files a/fabric-1.21.5/src/main/resources/assets/mpkmod/icon.png and /dev/null differ
diff --git a/fabric-1.21.5/src/main/resources/assets/mpkmod/lang/en_US.lang b/fabric-1.21.5/src/main/resources/assets/mpkmod/lang/en_US.lang
deleted file mode 100644
index 6bb9fb6f..00000000
--- a/fabric-1.21.5/src/main/resources/assets/mpkmod/lang/en_US.lang
+++ /dev/null
@@ -1,6 +0,0 @@
-mpkmod.key.main_gui.desc=Open MPK Mod GUI
-mpkmod.key.lb_gui.desc=Open Landing Block GUI
-mpkmod.key.lb_set.desc=Set Landing Block
-mpkmod.key.options_gui.desc=Open Options GUI
-mpkmod.main_gui.title=MPK Mod GUI
-mpkmod.lb_gui.title=Landing Block GUI
\ No newline at end of file
diff --git a/fabric-1.21.5/src/main/resources/assets/mpkmod/lang/en_us.json b/fabric-1.21.5/src/main/resources/assets/mpkmod/lang/en_us.json
deleted file mode 100644
index 167f27be..00000000
--- a/fabric-1.21.5/src/main/resources/assets/mpkmod/lang/en_us.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "mpkmod.key.main_gui.desc": "Open MPK Mod GUI",
- "mpkmod.key.lb_gui.desc": "Open Landing Block GUI",
- "mpkmod.key.lb_set.desc": "Set Landing Block",
- "mpkmod.key.options_gui.desc": "Open Options GUI",
- "mpkmod.main_gui.title": "MPK Mod GUI",
- "mpkmod.lb_gui.title": "Landing Block GUI"
-}
\ No newline at end of file
diff --git a/fabric-1.21.5/src/main/resources/assets/mpkmod/lang/pl_pl.json b/fabric-1.21.5/src/main/resources/assets/mpkmod/lang/pl_pl.json
deleted file mode 100644
index 886d7746..00000000
--- a/fabric-1.21.5/src/main/resources/assets/mpkmod/lang/pl_pl.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "mpkmod.key.main_gui.desc": "Otwórz menu MPK",
- "mpkmod.key.lb_gui.desc": "Otwórz menu Bloku Lądowania",
- "mpkmod.key.lb_set.desc": "Ustaw Blok Lądowania",
- "mpkmod.key.options_gui.desc": "Otwórz menu opcji",
- "mpkmod.main_gui.title": "Menu MPK",
- "mpkmod.lb_gui.title": "Menu Bloku Lądowania"
-}
\ No newline at end of file
diff --git a/fabric-1.21.5/src/main/resources/assets/mpkmod/lang/pl_pl.lang b/fabric-1.21.5/src/main/resources/assets/mpkmod/lang/pl_pl.lang
deleted file mode 100644
index 0d946226..00000000
--- a/fabric-1.21.5/src/main/resources/assets/mpkmod/lang/pl_pl.lang
+++ /dev/null
@@ -1,6 +0,0 @@
-mpkmod.key.main_gui.desc=Otwórz menu MPK
-mpkmod.key.lb_gui.desc=Otwórz menu Bloku Lądowania
-mpkmod.key.lb_set.desc=Ustaw Blok Lądowania
-mpkmod.key.options_gui.desc=Otwórz menu opcji
-mpkmod.main_gui.title=Menu MPK
-mpkmod.lb_gui.title=Menu Bloku Lądowania
\ No newline at end of file
diff --git a/fabric-1.21.5/src/main/resources/fabric.mod.json b/fabric-1.21.5/src/main/resources/fabric.mod.json
deleted file mode 100644
index 08619352..00000000
--- a/fabric-1.21.5/src/main/resources/fabric.mod.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "schemaVersion": 1,
- "id": "mpkmod",
- "version": "${version}",
-
- "name": "MPK Mod",
- "description": "A Mod that adds some features that help parkour to the game.",
- "authors": [
- "kurrycat",
- "CodeKid0 (Fabric port)",
- "Contributors"
- ],
- "contact": {
- "sources": "https://github.com/kurrycat2004/MPKMod_2"
- },
-
- "license": "MIT",
- "icon": "assets/mpkmod/icon.png",
- "environment": "client",
- "entrypoints": {
- "main": [
- "io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.MPKMod"
- ]
- },
- "mixins": [
- "mpkmod.mixins.json"
- ],
-
- "depends": {
- "fabricloader": ">=0.15.11",
- "fabric-api": "*",
- "minecraft": ">=1.21.5",
- "java": ">=21"
- },
- "suggests": {}
-}
diff --git a/fabric-1.21.5/src/main/resources/mpkmod.mixins.json b/fabric-1.21.5/src/main/resources/mpkmod.mixins.json
deleted file mode 100644
index d20c32e2..00000000
--- a/fabric-1.21.5/src/main/resources/mpkmod.mixins.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "required": true,
- "minVersion": "0.8",
- "package": "io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.mixin",
- "compatibilityLevel": "JAVA_21",
- "mixins": [
- ],
- "client": [
- "GameRendererMixin",
- "KeyBindingAccessor",
- "KeyboardMixin",
- "MinecraftClientMixin",
- "MouseMixin"
- ],
- "injectors": {
- "defaultRequire": 1
- }
-}
diff --git a/fabric-1.21.6/build.gradle b/fabric-1.21.6/build.gradle
index e9cf65e7..17210dad 100644
--- a/fabric-1.21.6/build.gradle
+++ b/fabric-1.21.6/build.gradle
@@ -1,5 +1,7 @@
plugins {
id 'fabric-loom' version "1.11-SNAPSHOT"
+
+ id "me.modmuss50.mod-publish-plugin" version "0.8.4"
}
loom.runs.client.runDir = "../runs/run"
@@ -10,6 +12,8 @@ dependencies {
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
+
+ implementation "com.github.MPKMod.MPKNetworkAPI:common:main-SNAPSHOT"
}
processResources {
@@ -18,4 +22,22 @@ processResources {
filesMatching("fabric.mod.json") {
expand "version": project.version
}
+}
+
+publishMods {
+ file = remapJar.archiveFile
+ changelog = ""
+ type = STABLE
+ modLoaders.add("fabric")
+
+ modrinth {
+ projectId = "412tAvWq"
+ accessToken = providers.environmentVariable("MODRINTH_TOKEN")
+ minecraftVersions.add("1.21.6+")
+ }
+ github {
+ repository = "MPKMod/MPKMod2"
+ accessToken = providers.environmentVariable("GITHUB_TOKEN")
+ commitish = "main"
+ }
}
\ No newline at end of file
diff --git a/fabric-1.21.6/gradle.properties b/fabric-1.21.6/gradle.properties
index 08d77e67..6074b0f7 100644
--- a/fabric-1.21.6/gradle.properties
+++ b/fabric-1.21.6/gradle.properties
@@ -4,6 +4,9 @@ org.gradle.parallel=true
# Fabric Properties
# check these on https://fabricmc.net/develop
+
+#1.21.8 supports 1.21.6 mods
+#TODO: Figure out how this support works and make sure we stay updated
minecraft_version=1.21.6
yarn_mappings=1.21.6+build.1
loader_version=0.16.14
diff --git a/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/MPKMod.java b/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/MPKMod.java
deleted file mode 100644
index bdb4faf2..00000000
--- a/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/MPKMod.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.KeyBinding;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.network.DataCustomPayload;
-import io.github.kurrycat.mpknetapi.common.network.packet.MPKPacket;
-import net.fabricmc.api.ModInitializer;
-import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
-import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
-import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents;
-import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
-import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback;
-import net.minecraft.SharedConstants;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.util.math.MatrixStack;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class MPKMod implements ModInitializer {
- public static final MPKMod INSTANCE = new MPKMod();
- public static Map keyBindingMap = new HashMap<>();
- public final EventHandler eventHandler = new EventHandler();
- public MatrixStack matrixStack;
-
- @Override
- public void onInitialize() {
- // This code runs as soon as Minecraft is in a mod-load-ready state.
- // However, some things (like resources) may still be uninitialized.
- API.LOGGER.info("Loading " + API.NAME + " " + API.VERSION);
- API.preInit(getClass());
- registerKeybindingsFromGUIs();
-
- HudRenderCallback.EVENT.register(eventHandler::onInGameOverlayRender);
- ClientTickEvents.START_CLIENT_TICK.register(eventHandler::onClientTickStart);
- ClientTickEvents.END_CLIENT_TICK.register(eventHandler::onClientTickEnd);
- ClientPlayConnectionEvents.JOIN.register(eventHandler::onServerConnect);
- ClientPlayConnectionEvents.DISCONNECT.register(eventHandler::onServerDisconnect);
-
- DataCustomPayload.registerServerboundPayload();
- ClientPlayNetworking.registerGlobalReceiver(DataCustomPayload.registerClientboundPayload(), ((payload, context) -> {
- MPKPacket packet = MPKPacket.handle(API.PACKET_LISTENER_CLIENT, payload.data(), null);
- if (packet != null) {
- API.Events.onPluginMessage(packet);
- }
- }));
- }
-
- private void registerKeybindingsFromGUIs() {
- API.guiScreenMap.forEach((id, guiScreen) -> {
- if (guiScreen.shouldCreateKeyBind())
- registerKeyBinding(id);
- });
-
- API.keyBindingMap.forEach((id, consumer) -> registerKeyBinding(id));
- keyBindingMap.forEach((id, key) -> KeyBindingHelper.registerKeyBinding(key));
- }
-
- public void registerKeyBinding(String id) {
- net.minecraft.client.option.KeyBinding keyBinding = new net.minecraft.client.option.KeyBinding(
- API.MODID + ".key." + id + ".desc",
- -1,
- API.KEYBINDING_CATEGORY
- );
-
- keyBindingMap.put(id, keyBinding);
- }
-
- public void init() {
- API.LOGGER.info(API.COMPATIBILITY_MARKER, "Registering compatibility functions...");
- API.registerFunctionHolder(new FunctionCompatibility());
- API.LOGGER.info(API.COMPATIBILITY_MARKER, "Registered compatibility functions.");
-
- registerKeyBindings();
- API.init(SharedConstants.getGameVersion().name());
-
- API.Events.onLoadComplete();
- }
-
- private void registerKeyBindings() {
- for (net.minecraft.client.option.KeyBinding k : MinecraftClient.getInstance().options.allKeys) {
- new KeyBinding(
- () -> k.getBoundKeyLocalizedText().getString(),
- k.getTranslationKey(),
- k::isPressed
- );
- }
-
- API.LOGGER.info(API.COMPATIBILITY_MARKER, "Registered {} Keybindings", KeyBinding.getKeyMap().size());
- }
-}
diff --git a/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/KeyBindingAccessor.java b/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/KeyBindingAccessor.java
deleted file mode 100644
index 1bbc15c7..00000000
--- a/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/KeyBindingAccessor.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.mixin;
-
-import net.minecraft.client.option.KeyBinding;
-import net.minecraft.client.util.InputUtil;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.gen.Accessor;
-
-@Mixin(KeyBinding.class)
-public interface KeyBindingAccessor {
- @Accessor
- InputUtil.Key getBoundKey();
-}
diff --git a/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/KeyboardMixin.java b/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/KeyboardMixin.java
deleted file mode 100644
index 10c661b5..00000000
--- a/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/KeyboardMixin.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.mixin;
-
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.MPKMod;
-import net.minecraft.client.Keyboard;
-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(Keyboard.class)
-public class KeyboardMixin {
- @Inject(method = "onKey", at = @At(value = "RETURN"))
- private void onKey(long window, int key, int scancode, int action, int modifiers, CallbackInfo ci) {
- if(key != -1) {
- MPKMod.INSTANCE.eventHandler.onKey(key, scancode, action);
- }
- }
-}
diff --git a/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/MinecraftClientMixin.java b/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/MinecraftClientMixin.java
deleted file mode 100644
index fd006cae..00000000
--- a/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/MinecraftClientMixin.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.mixin;
-
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.MPKMod;
-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 MinecraftClientMixin {
- @Inject(at = @At("TAIL"), method = "")
- private void init(CallbackInfo info) {
- MPKMod.INSTANCE.init();
- }
-}
diff --git a/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/MouseMixin.java b/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/MouseMixin.java
deleted file mode 100644
index 0ae184fa..00000000
--- a/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/MouseMixin.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.mixin;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.Mouse;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.Shadow;
-import org.spongepowered.asm.mixin.injection.At;
-import org.spongepowered.asm.mixin.injection.Inject;
-import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
-
-@Mixin(Mouse.class)
-public class MouseMixin {
- @Shadow
- private double cursorDeltaX;
- @Shadow
- private double cursorDeltaY;
- @Shadow
- private double x;
- @Shadow
- private double y;
-
- @Inject(method = "onCursorPos", at = @At(value = "TAIL"))
- private void onCursorPos(long window, double x, double y, CallbackInfo ci) {
- if (window == MinecraftClient.getInstance().getWindow().getHandle()) {
- API.Events.onMouseInput(
- io.github.kurrycat.mpkmod.util.Mouse.Button.NONE,
- io.github.kurrycat.mpkmod.util.Mouse.State.NONE,
- (int) x, (int) y, (int) cursorDeltaX, (int) -cursorDeltaY,
- 0, System.nanoTime()
- );
- }
- }
-
- @Inject(method = "onMouseScroll", at = @At(value = "TAIL"))
- private void onMouseScroll(long window, double horizontal, double vertical, CallbackInfo ci) {
- API.Events.onMouseInput(
- io.github.kurrycat.mpkmod.util.Mouse.Button.NONE,
- io.github.kurrycat.mpkmod.util.Mouse.State.NONE,
- (int) x, (int) y, 0, 0,
- (int) vertical, System.nanoTime()
- );
- }
-
- @Inject(method = "onMouseButton", at = @At(value = "TAIL"))
- private void onMouseButton(long window, int button, int action, int mods, CallbackInfo ci) {
- API.Events.onMouseInput(
- io.github.kurrycat.mpkmod.util.Mouse.Button.fromInt(button),
- button == -1 ? io.github.kurrycat.mpkmod.util.Mouse.State.NONE :
- (action == 1 ? io.github.kurrycat.mpkmod.util.Mouse.State.DOWN : io.github.kurrycat.mpkmod.util.Mouse.State.UP),
- (int) x, (int) y, 0, 0,
- 0, System.nanoTime()
- );
- }
-}
diff --git a/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/network/DataCustomPayload.java b/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/network/DataCustomPayload.java
deleted file mode 100644
index e6e7ff5a..00000000
--- a/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/network/DataCustomPayload.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.network;
-
-import io.github.kurrycat.mpknetapi.common.MPKNetworking;
-import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry;
-import net.minecraft.network.PacketByteBuf;
-import net.minecraft.network.codec.PacketCodec;
-import net.minecraft.network.packet.CustomPayload;
-import net.minecraft.util.Identifier;
-
-public record DataCustomPayload(byte[] data) implements CustomPayload {
- public static final Id MPK_ID = new Id<>(Identifier.of(MPKNetworking.CHANNEL_NAMESPACE, MPKNetworking.CHANNEL_PATH));
-
- public static final PacketCodec CODEC = PacketCodec.of(
- (payload, buf) -> buf.writeBytes(payload.data()),
- buf -> {
- byte[] data = new byte[buf.readableBytes()];
- buf.readBytes(data);
- return new DataCustomPayload(data);
- }
- );
-
- @Override
- public Id extends CustomPayload> getId() {
- return MPK_ID;
- }
-
- public static Id registerClientboundPayload() {
- PayloadTypeRegistry.playS2C().register(MPK_ID, DataCustomPayload.CODEC);
- return MPK_ID;
- }
-
- public static Id registerServerboundPayload() {
- PayloadTypeRegistry.playC2S().register(MPK_ID, DataCustomPayload.CODEC);
- return MPK_ID;
- }
-}
\ No newline at end of file
diff --git a/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/EventHandler.java b/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/EventHandler.java
similarity index 97%
rename from fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/EventHandler.java
rename to fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/EventHandler.java
index 816ad97f..cca17edc 100644
--- a/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/EventHandler.java
+++ b/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/EventHandler.java
@@ -1,8 +1,8 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5;
+package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_6;
import io.github.kurrycat.mpkmod.compatibility.API;
import io.github.kurrycat.mpkmod.compatibility.MCClasses.Player;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.mixin.KeyBindingAccessor;
+import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_6.mixin.KeyBindingAccessor;
import io.github.kurrycat.mpkmod.ticks.ButtonMS;
import io.github.kurrycat.mpkmod.ticks.ButtonMSList;
import io.github.kurrycat.mpkmod.util.BoundingBox3D;
diff --git a/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/FunctionCompatibility.java b/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/FunctionCompatibility.java
similarity index 97%
rename from fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/FunctionCompatibility.java
rename to fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/FunctionCompatibility.java
index 5759a2ec..4d157734 100644
--- a/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/FunctionCompatibility.java
+++ b/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/FunctionCompatibility.java
@@ -1,10 +1,10 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5;
+package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_6;
import com.mojang.blaze3d.pipeline.RenderPipeline;
import com.mojang.blaze3d.systems.RenderSystem;
import io.github.kurrycat.mpkmod.compatibility.MCClasses.*;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.mixin.KeyBindingAccessor;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.network.DataCustomPayload;
+import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_6.mixin.KeyBindingAccessor;
+import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_6.network.DataCustomPayload;
import io.github.kurrycat.mpkmod.gui.MPKGuiScreen;
import io.github.kurrycat.mpkmod.util.BoundingBox3D;
import io.github.kurrycat.mpkmod.util.Debug;
@@ -265,7 +265,7 @@ public void displayGuiScreen(MPKGuiScreen screen) {
MinecraftClient.getInstance().setScreen(
screen == null
? null
- : new io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.MPKGuiScreen(screen));
+ : new io.github.kurrycat.mpkmod.compatibility.fabric_1_21_6.MPKGuiScreen(screen));
}
public String getCurrentGuiScreen() {
@@ -273,8 +273,8 @@ public String getCurrentGuiScreen() {
if (curr == null)
return null;
- else if (curr instanceof io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.MPKGuiScreen) {
- String id = ((io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.MPKGuiScreen) curr).eventReceiver.getID();
+ else if (curr instanceof io.github.kurrycat.mpkmod.compatibility.fabric_1_21_6.MPKGuiScreen) {
+ String id = ((io.github.kurrycat.mpkmod.compatibility.fabric_1_21_6.MPKGuiScreen) curr).eventReceiver.getID();
if (id == null)
id = "unknown";
diff --git a/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/MPKGuiScreen.java b/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/MPKGuiScreen.java
similarity index 98%
rename from fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/MPKGuiScreen.java
rename to fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/MPKGuiScreen.java
index 51b05de8..f5e3a1f8 100644
--- a/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/MPKGuiScreen.java
+++ b/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/MPKGuiScreen.java
@@ -1,4 +1,4 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5;
+package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_6;
import io.github.kurrycat.mpkmod.compatibility.API;
import io.github.kurrycat.mpkmod.compatibility.MCClasses.Profiler;
diff --git a/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/MPKMod.java b/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/MPKMod.java
similarity index 96%
rename from fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/MPKMod.java
rename to fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/MPKMod.java
index 8c9f5d8d..d33bd01a 100644
--- a/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/MPKMod.java
+++ b/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/MPKMod.java
@@ -1,8 +1,8 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_8;
+package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_6;
import io.github.kurrycat.mpkmod.compatibility.API;
import io.github.kurrycat.mpkmod.compatibility.MCClasses.KeyBinding;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_8.network.DataCustomPayload;
+import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_6.network.DataCustomPayload;
import io.github.kurrycat.mpknetapi.common.network.packet.MPKPacket;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
diff --git a/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/GameRendererMixin.java b/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/mixin/GameRendererMixin.java
similarity index 85%
rename from fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/GameRendererMixin.java
rename to fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/mixin/GameRendererMixin.java
index 234b5bf9..b2ad6466 100644
--- a/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_5/mixin/GameRendererMixin.java
+++ b/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/mixin/GameRendererMixin.java
@@ -1,6 +1,6 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.mixin;
+package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_6.mixin;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.MPKMod;
+import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_6.MPKMod;
import net.minecraft.client.render.*;
import net.minecraft.client.util.math.MatrixStack;
import org.spongepowered.asm.mixin.Mixin;
diff --git a/fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/mixin/KeyBindingAccessor.java b/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/mixin/KeyBindingAccessor.java
similarity index 82%
rename from fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/mixin/KeyBindingAccessor.java
rename to fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/mixin/KeyBindingAccessor.java
index b294e0aa..a63f24cc 100644
--- a/fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/mixin/KeyBindingAccessor.java
+++ b/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/mixin/KeyBindingAccessor.java
@@ -1,4 +1,4 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_20_6.mixin;
+package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_6.mixin;
import net.minecraft.client.option.KeyBinding;
import net.minecraft.client.util.InputUtil;
diff --git a/fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/mixin/KeyboardMixin.java b/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/mixin/KeyboardMixin.java
similarity index 82%
rename from fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/mixin/KeyboardMixin.java
rename to fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/mixin/KeyboardMixin.java
index aab5ee91..4aad9666 100644
--- a/fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/mixin/KeyboardMixin.java
+++ b/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/mixin/KeyboardMixin.java
@@ -1,6 +1,6 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_20_6.mixin;
+package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_6.mixin;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_20_6.MPKMod;
+import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_6.MPKMod;
import net.minecraft.client.Keyboard;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
diff --git a/fabric-1.20.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_4/mixin/MinecraftClientMixin.java b/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/mixin/MinecraftClientMixin.java
similarity index 77%
rename from fabric-1.20.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_4/mixin/MinecraftClientMixin.java
rename to fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/mixin/MinecraftClientMixin.java
index 913c8f9e..8fcbadc7 100644
--- a/fabric-1.20.4/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_4/mixin/MinecraftClientMixin.java
+++ b/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/mixin/MinecraftClientMixin.java
@@ -1,6 +1,6 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_20_4.mixin;
+package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_6.mixin;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_20_4.MPKMod;
+import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_6.MPKMod;
import net.minecraft.client.MinecraftClient;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
diff --git a/fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/mixin/MouseMixin.java b/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/mixin/MouseMixin.java
similarity index 97%
rename from fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/mixin/MouseMixin.java
rename to fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/mixin/MouseMixin.java
index 933db9d5..ffee63f1 100644
--- a/fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/mixin/MouseMixin.java
+++ b/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/mixin/MouseMixin.java
@@ -1,4 +1,4 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_20_6.mixin;
+package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_6.mixin;
import io.github.kurrycat.mpkmod.compatibility.API;
import net.minecraft.client.MinecraftClient;
diff --git a/fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/network/DataCustomPayload.java b/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/network/DataCustomPayload.java
similarity index 95%
rename from fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/network/DataCustomPayload.java
rename to fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/network/DataCustomPayload.java
index 5b297574..f621c1cc 100644
--- a/fabric-1.20.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_20_6/network/DataCustomPayload.java
+++ b/fabric-1.21.6/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_6/network/DataCustomPayload.java
@@ -1,4 +1,4 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_20_6.network;
+package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_6.network;
import io.github.kurrycat.mpknetapi.common.MPKNetworking;
import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry;
diff --git a/fabric-1.21.6/src/main/resources/mpkmod.mixins.json b/fabric-1.21.6/src/main/resources/mpkmod.mixins.json
index d20c32e2..0a2796ba 100644
--- a/fabric-1.21.6/src/main/resources/mpkmod.mixins.json
+++ b/fabric-1.21.6/src/main/resources/mpkmod.mixins.json
@@ -1,7 +1,7 @@
{
"required": true,
"minVersion": "0.8",
- "package": "io.github.kurrycat.mpkmod.compatibility.fabric_1_21_5.mixin",
+ "package": "io.github.kurrycat.mpkmod.compatibility.fabric_1_21_6.mixin",
"compatibilityLevel": "JAVA_21",
"mixins": [
],
diff --git a/fabric-1.21.8/.gitignore b/fabric-1.21.8/.gitignore
deleted file mode 100644
index c476faf2..00000000
--- a/fabric-1.21.8/.gitignore
+++ /dev/null
@@ -1,40 +0,0 @@
-# gradle
-
-.gradle/
-build/
-out/
-classes/
-
-# eclipse
-
-*.launch
-
-# idea
-
-.idea/
-*.iml
-*.ipr
-*.iws
-
-# vscode
-
-.settings/
-.vscode/
-bin/
-.classpath
-.project
-
-# macos
-
-*.DS_Store
-
-# fabric
-
-run/
-
-# java
-
-hs_err_*.log
-replay_*.log
-*.hprof
-*.jfr
diff --git a/fabric-1.21.8/build.gradle b/fabric-1.21.8/build.gradle
deleted file mode 100644
index e9cf65e7..00000000
--- a/fabric-1.21.8/build.gradle
+++ /dev/null
@@ -1,21 +0,0 @@
-plugins {
- id 'fabric-loom' version "1.11-SNAPSHOT"
-}
-
-loom.runs.client.runDir = "../runs/run"
-
-dependencies {
- minecraft "com.mojang:minecraft:${project.minecraft_version}"
- mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
- modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
-
- modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
-}
-
-processResources {
- inputs.property "version", project.version
-
- filesMatching("fabric.mod.json") {
- expand "version": project.version
- }
-}
\ No newline at end of file
diff --git a/fabric-1.21.8/gradle.properties b/fabric-1.21.8/gradle.properties
deleted file mode 100644
index 6ced67f9..00000000
--- a/fabric-1.21.8/gradle.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-# Done to increase the memory available to gradle.
-org.gradle.jvmargs=-Xmx1G
-org.gradle.parallel=true
-
-# Fabric Properties
-# check these on https://fabricmc.net/develop
-minecraft_version=1.21.8
-yarn_mappings=1.21.8+build.1
-loader_version=0.16.14
-
-# Fabric API
-fabric_version=0.129.0+1.21.8
-
-jdkVersion=21
diff --git a/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/EventHandler.java b/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/EventHandler.java
deleted file mode 100644
index b0053f37..00000000
--- a/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/EventHandler.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_8;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.Player;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_8.mixin.KeyBindingAccessor;
-import io.github.kurrycat.mpkmod.ticks.ButtonMS;
-import io.github.kurrycat.mpkmod.ticks.ButtonMSList;
-import io.github.kurrycat.mpkmod.util.BoundingBox3D;
-import io.github.kurrycat.mpkmod.util.Vector3D;
-import net.fabricmc.fabric.api.networking.v1.PacketSender;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.DrawContext;
-import net.minecraft.client.network.ClientPlayNetworkHandler;
-import net.minecraft.client.network.ClientPlayerEntity;
-import net.minecraft.client.option.GameOptions;
-import net.minecraft.client.render.RenderTickCounter;
-import net.minecraft.client.util.InputUtil;
-import net.minecraft.client.util.math.MatrixStack;
-import net.minecraft.util.Util;
-import net.minecraft.util.math.Box;
-import net.minecraft.util.math.Vec3d;
-
-public class EventHandler {
- private static final ButtonMSList timeQueue = new ButtonMSList();
-
- /**
- * @param key The GLFW key code. See {@link InputUtil}.
- * @param scanCode
- * @param action The action, where 0 = unpressed, 1 = pressed, 2 = held.
- */
- public void onKey(int key, int scanCode, int action) {
- GameOptions options = MinecraftClient.getInstance().options;
- long eventNanos = Util.getMeasuringTimeNano();
-
- InputUtil.Key inputKey = InputUtil.fromKeyCode(key, scanCode);
-
- int[] keys = {
- ((KeyBindingAccessor) options.forwardKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.leftKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.backKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.rightKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.sprintKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.sneakKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.jumpKey).getBoundKey().getCode()
- };
-
- for (int i = 0; i < keys.length; i++) {
- if (key == keys[i]) {
- timeQueue.add(ButtonMS.of(ButtonMS.Button.values()[i], eventNanos, action == 1));
- }
- }
-
- if (action == 1) {
- FunctionCompatibility.pressedButtons.add(inputKey.getCode());
- } else if (action == 0) {
- FunctionCompatibility.pressedButtons.remove(inputKey.getCode());
- }
-
- API.Events.onKeyInput(key, inputKey.getLocalizedText().getString(), action == 1);
-
- MPKMod.keyBindingMap.forEach((id, keyBinding) -> {
- if (keyBinding.isPressed()) {
- API.Events.onKeybind(id);
- }
- });
- }
-
- public void onInGameOverlayRender(DrawContext drawContext, RenderTickCounter renderTickCounter) {
- drawContext.getMatrices().pushMatrix();
- API.getFunctionHolder().drawContext = drawContext;
- API.Events.onRenderOverlay();
- drawContext.getMatrices().popMatrix();
- }
-
- public void onRenderWorldOverlay(MatrixStack matrixStack, float tickDelta) {
- MPKMod.INSTANCE.matrixStack = matrixStack;
- matrixStack.push();
- Vec3d pos = MinecraftClient.getInstance().gameRenderer.getCamera().getPos();
- MPKMod.INSTANCE.matrixStack.translate(-pos.x, -pos.y, -pos.z);
- API.Events.onRenderWorldOverlay(tickDelta);
- matrixStack.pop();
- }
-
- public void onClientTickStart(MinecraftClient mc) {
- API.Events.onTickStart();
- }
-
- public void onClientTickEnd(MinecraftClient mc) {
- ClientPlayerEntity mcPlayer = mc.player;
-
- if (mcPlayer != null) {
- Box playerBB = mcPlayer.getBoundingBox();
- new Player()
- .setPos(new Vector3D(mcPlayer.getX(), mcPlayer.getY(), mcPlayer.getZ()))
- .setLastPos(new Vector3D(mcPlayer.lastX, mcPlayer.lastY, mcPlayer.lastZ))
- .setMotion(new Vector3D(mcPlayer.getVelocity().x, mcPlayer.getVelocity().y, mcPlayer.getVelocity().z))
- .setRotation(mcPlayer.getRotationClient().y, mcPlayer.getRotationClient().x)
- .setOnGround(mcPlayer.isOnGround())
- .setSprinting(mcPlayer.isSprinting())
- .setBoundingBox(new BoundingBox3D(
- new Vector3D(playerBB.minX, playerBB.minY, playerBB.minZ),
- new Vector3D(playerBB.maxX, playerBB.maxY, playerBB.maxZ)
- ))
- .constructKeyInput()
- .setKeyMSList(timeQueue)
- .buildAndSave();
- timeQueue.clear();
- }
-
- API.Events.onTickEnd();
- }
-
-
- public void onServerConnect(ClientPlayNetworkHandler clientPlayNetworkHandler, PacketSender packetSender, MinecraftClient minecraftClient) {
- API.Events.onServerConnect(clientPlayNetworkHandler.getConnection().isLocal());
- }
-
- public void onServerDisconnect(ClientPlayNetworkHandler clientPlayNetworkHandler, MinecraftClient minecraftClient) {
- API.Events.onServerDisconnect();
- }
-}
diff --git a/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/FunctionCompatibility.java b/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/FunctionCompatibility.java
deleted file mode 100644
index cb8744f1..00000000
--- a/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/FunctionCompatibility.java
+++ /dev/null
@@ -1,403 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_8;
-
-import com.mojang.blaze3d.pipeline.RenderPipeline;
-import com.mojang.blaze3d.systems.RenderSystem;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.*;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_8.mixin.KeyBindingAccessor;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_8.network.DataCustomPayload;
-import io.github.kurrycat.mpkmod.gui.MPKGuiScreen;
-import io.github.kurrycat.mpkmod.util.BoundingBox3D;
-import io.github.kurrycat.mpkmod.util.Debug;
-import io.github.kurrycat.mpkmod.util.Vector2D;
-import io.github.kurrycat.mpkmod.util.Vector3D;
-import io.github.kurrycat.mpknetapi.common.network.packet.MPKPacket;
-import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
-import net.minecraft.block.BlockState;
-import net.minecraft.client.MinecraftClient;
-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.gui.render.state.special.SpecialGuiElementRenderState;
-import net.minecraft.client.gui.screen.Screen;
-import net.minecraft.client.network.ClientPlayerEntity;
-import net.minecraft.client.network.ServerInfo;
-import net.minecraft.client.option.GameOptions;
-import net.minecraft.client.option.KeyBinding;
-import net.minecraft.client.render.RenderLayer;
-import net.minecraft.client.render.VertexConsumer;
-import net.minecraft.client.render.VertexRendering;
-import net.minecraft.client.sound.PositionedSoundInstance;
-import net.minecraft.client.texture.TextureSetup;
-import net.minecraft.client.util.Window;
-import net.minecraft.registry.Registries;
-import net.minecraft.sound.SoundEvents;
-import net.minecraft.util.Util;
-import net.minecraft.util.hit.BlockHitResult;
-import net.minecraft.util.hit.HitResult;
-import net.minecraft.util.math.BlockPos;
-import net.minecraft.util.math.MathHelper;
-import net.minecraft.util.profiler.Profilers;
-import org.jetbrains.annotations.Nullable;
-import org.lwjgl.opengl.GL11;
-
-import java.awt.*;
-import java.util.List;
-import java.util.*;
-
-public class FunctionCompatibility implements FunctionHolder,
- SoundManager.Interface,
- WorldInteraction.Interface,
- Renderer3D.Interface,
- Renderer2D.Interface,
- FontRenderer.Interface,
- Minecraft.Interface,
- Keyboard.Interface,
- Profiler.Interface {
- public static final Set pressedButtons = new HashSet<>();
- public DrawContext drawContext = null;
-
- public void playButtonSound() {
- MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
- }
-
- public List getCollisionBoundingBoxes(Vector3D blockPosVector) {
- final Vector3D blockPosVec = blockPosVector.copy();
- BlockPos blockPos = new BlockPos(blockPosVec.getXI(), blockPosVec.getYI(), blockPosVec.getZI());
- if (MinecraftClient.getInstance().world == null) return null;
- ArrayList boundingBoxes = new ArrayList<>();
- BlockState blockState = MinecraftClient.getInstance().world.getBlockState(blockPos);
-
- blockState.getCollisionShape(MinecraftClient.getInstance().world, blockPos).simplify().forEachBox(
- ((minX, minY, minZ, maxX, maxY, maxZ) -> boundingBoxes.add(
- new BoundingBox3D(new Vector3D(minX, minY, minZ), new Vector3D(maxX, maxY, maxZ)).move(blockPosVec)
- ))
- );
-
- return boundingBoxes;
- }
-
- public Vector3D getLookingAt() {
- if (MinecraftClient.getInstance().getCameraEntity() == null)
- return null;
-
- HitResult hitResult = MinecraftClient.getInstance().getCameraEntity().raycast(20, 0, false);
- if (hitResult instanceof BlockHitResult) {
- BlockPos blockPos = ((BlockHitResult) hitResult).getBlockPos();
- return new Vector3D(blockPos.getX(), blockPos.getY(), blockPos.getZ());
- }
-
- return null;
- }
-
- @Override
- public String getBlockName(Vector3D blockPos) {
- BlockPos blockpos = new BlockPos(blockPos.getXI(), blockPos.getYI(), blockPos.getZI());
- if (MinecraftClient.getInstance().world == null)
- return null;
-
- return Registries.BLOCK.getKey(
- MinecraftClient.getInstance().world.getBlockState(blockpos).getBlock()
- ).get().getValue().toString();
- }
-
- @Override
- public HashMap getBlockProperties(Vector3D blockPos) {
- HashMap properties = new HashMap<>();
- if (MinecraftClient.getInstance().world == null)
- return properties;
-
- BlockPos blockpos = new BlockPos(blockPos.getXI(), blockPos.getYI(), blockPos.getZI());
- BlockState blockState = MinecraftClient.getInstance().world.getBlockState(blockpos);
- blockState.getEntries().forEach((key, value) ->
- properties.put(key.getName(), Util.getValueAsString(key, value))
- );
- return null;
- }
-
- /**
- * Is called in {@link WorldInteraction.Interface WorldInteraction.Interface}
- */
- public String getLookingAtBlock() {
- if (MinecraftClient.getInstance().getCameraEntity() == null)
- return null;
-
- HitResult hitResult = MinecraftClient.getInstance().getCameraEntity().raycast(20, 0, false);
- if (hitResult.getType() == HitResult.Type.BLOCK && MinecraftClient.getInstance().world != null) {
- return Registries.BLOCK.getKey(
- MinecraftClient.getInstance().world.getBlockState(((BlockHitResult) hitResult).getBlockPos()).getBlock()
- ).get().getValue().toTranslationKey();
- }
- return null;
- }
-
- public void drawBox(BoundingBox3D bb, Color color, float partialTicks) {
- int r = color.getRed(), g = color.getGreen(), b = color.getBlue(), a = color.getAlpha();
-
- RenderSystem.lineWidth(1.0F);
-
- float minX = (float) bb.minX();
- float minY = (float) bb.minY();
- float minZ = (float) bb.minZ();
- float maxX = (float) bb.maxX();
- float maxY = (float) bb.maxY();
- float maxZ = (float) bb.maxZ();
-
- VertexRendering.drawFilledBox(
- MPKMod.INSTANCE.matrixStack,
- MinecraftClient.getInstance().getBufferBuilders().getEntityVertexConsumers().getBuffer(RenderLayer.getDebugFilledBox()),
- minX, minY, minZ,
- maxX, maxY, maxZ,
- r / 255f, g / 255f, b / 255f, a / 255f
- );
- }
-
- /**
- * Is called in {@link Renderer2D.Interface}
- */
- public void drawRect(Vector2D pos, Vector2D size, Color color) {
- if (drawContext == null) return;
- drawContext.fill(
- (int) pos.getX(), (int) pos.getY(),
- (int) (pos.getX() + size.getX()), (int) (pos.getY() + size.getY()),
- color.getRGB()
- );
- }
-
- /**
- * Is called in {@link Renderer2D.Interface}
- */
- public void drawLines(Collection points, Color color) {
- if (points.size() < 2) {
- Debug.stacktrace("At least two points expected, got: " + points.size());
- return;
- }
- int r = color.getRed(), g = color.getGreen(), b = color.getBlue(), a = color.getAlpha();
-
- var window = MinecraftClient.getInstance().getWindow();
- var bounds = new ScreenRect(0, 0, window.getScaledWidth(), window.getScaledHeight());
-
- drawContext.state.addSimpleElement(new PointsRenderState(
- points,
- r, g, b, a,
- SpecialGuiElementRenderState.createBounds(bounds.getLeft(), bounds.getTop(), bounds.getRight(), bounds.getBottom(), drawContext.scissorStack.peekLast()),
- drawContext.scissorStack.peekLast()
- ));
- }
-
- public Vector2D getScaledSize() {
- return new Vector2D(
- MinecraftClient.getInstance().getWindow().getScaledWidth(),
- MinecraftClient.getInstance().getWindow().getScaledHeight()
- );
- }
-
- public Vector2D getScreenSize() {
- return new Vector2D(MinecraftClient.getInstance().getWindow().getWidth(), MinecraftClient.getInstance().getWindow().getHeight());
- }
-
- public void enableScissor(double x, double y, double w, double h) {
- GL11.glEnable(GL11.GL_SCISSOR_TEST);
- Window r = MinecraftClient.getInstance().getWindow();
-
- double scaleFactor = r.getScaleFactor();
- double posX = x * scaleFactor;
- double posY = r.getFramebufferHeight() - (y + h) * scaleFactor;
- double width = w * scaleFactor;
- double height = h * scaleFactor;
- GL11.glScissor((int) posX, (int) posY, Math.max(0, (int) width), Math.max(0, (int) height));
- }
-
- public void disableScissor() {
- GL11.glDisable(GL11.GL_SCISSOR_TEST);
- }
-
-
- public void drawString(String text, double x, double y, Color color, double fontSize, boolean shadow) {
- if (drawContext == null) return;
- var matrixStack = drawContext.getMatrices();
- matrixStack.pushMatrix();
- matrixStack.translate((float) x, (float) y);
- double scale = fontSize / MinecraftClient.getInstance().textRenderer.fontHeight;
- matrixStack.scale((float) scale, (float) scale);
- drawContext.drawText(
- MinecraftClient.getInstance().textRenderer, text,
- 0, 0, color.getRGB(), shadow
- );
- matrixStack.popMatrix();
- }
-
- public Vector2D getStringSize(String text, double fontSize) {
- return new Vector2D(
- MinecraftClient.getInstance().textRenderer.getWidth(text) *
- (float) (fontSize / MinecraftClient.getInstance().textRenderer.fontHeight),
- (float) fontSize
- );
- }
-
- public String getIP() {
- ServerInfo d = MinecraftClient.getInstance().getCurrentServerEntry();
-
- if (d == null)
- return "Multiplayer";
- else
- return d.address;
- }
-
- public String getFPS() {
- String[] split = MinecraftClient.getInstance().fpsDebugString.split(" ");
- if (split.length == 0)
- return "Error";
- return split[0];
- }
-
- public void displayGuiScreen(MPKGuiScreen screen) {
- MinecraftClient.getInstance().setScreen(
- screen == null
- ? null
- : new io.github.kurrycat.mpkmod.compatibility.fabric_1_21_8.MPKGuiScreen(screen));
- }
-
- public String getCurrentGuiScreen() {
- Screen curr = MinecraftClient.getInstance().currentScreen;
-
- if (curr == null)
- return null;
- else if (curr instanceof io.github.kurrycat.mpkmod.compatibility.fabric_1_21_8.MPKGuiScreen) {
- String id = ((io.github.kurrycat.mpkmod.compatibility.fabric_1_21_8.MPKGuiScreen) curr).eventReceiver.getID();
- if (id == null)
- id = "unknown";
-
- return id;
- }
-
- return curr.getClass().getSimpleName();
- }
-
- /**
- * Is called in {@link Minecraft.Interface Minecraft.Interface}
- */
- public String getUserName() {
- if (MinecraftClient.getInstance().player == null) return null;
- return MinecraftClient.getInstance().player.getName().getString();
- }
-
- public void copyToClipboard(String content) {
- MinecraftClient.getInstance().keyboard.setClipboard(content);
- }
-
- public boolean setInputs(Float yaw, boolean relYaw, Float pitch, boolean relPitch, int pressedInputs, int releasedInputs, int L, int R) {
- if (!Minecraft.isSingleplayer()) return false;
- ClientPlayerEntity player = MinecraftClient.getInstance().player;
- if (player == null) return false;
- GameOptions op = MinecraftClient.getInstance().options;
-
- float prevYaw = player.getYaw();
- float prevPitch = player.getPitch();
-
- if (yaw != null) {
- player.setYaw(relYaw ? (player.getYaw() + yaw) : yaw);
- player.lastYaw += player.getYaw() - prevYaw;
- }
- if (pitch != null) {
- player.setPitch(relPitch ? (player.getPitch() + pitch) : pitch);
- player.setPitch(MathHelper.clamp(player.getPitch(), -90.0F, 90.0F));
-
- player.lastPitch += player.getPitch() - prevPitch;
- player.lastPitch = MathHelper.clamp(player.lastPitch, -90.0F, 90.0F);
- }
-
- if (player.getVehicle() != null) {
- player.getVehicle().onPassengerLookAround(player);
- }
-
- KeyBinding[] keys = new KeyBinding[]{
- op.forwardKey,
- op.leftKey,
- op.backKey,
- op.rightKey,
- op.sprintKey,
- op.sneakKey,
- op.jumpKey
- };
-
- for (int i = 0; i < keys.length; i++) {
- if ((releasedInputs & 1 << i) != 0) {
- KeyBinding.setKeyPressed(((KeyBindingAccessor) keys[i]).getBoundKey(), false);
- }
- if ((pressedInputs & 1 << i) != 0) {
- KeyBinding.setKeyPressed(((KeyBindingAccessor) keys[i]).getBoundKey(), true);
- KeyBinding.onKeyPressed(((KeyBindingAccessor) keys[i]).getBoundKey());
- }
- }
-
- KeyBinding.setKeyPressed(((KeyBindingAccessor) op.attackKey).getBoundKey(), L > 0);
- for (int i = 0; i < L; i++)
- KeyBinding.onKeyPressed(((KeyBindingAccessor) op.attackKey).getBoundKey());
-
- KeyBinding.setKeyPressed(((KeyBindingAccessor) op.useKey).getBoundKey(), R > 0);
- for (int i = 0; i < R; i++)
- KeyBinding.onKeyPressed(((KeyBindingAccessor) op.useKey).getBoundKey());
-
- return true;
- }
-
- public boolean isF3Enabled() {
- return MinecraftClient.getInstance().getDebugHud().shouldShowDebugHud();
- }
-
- public void sendPacket(MPKPacket packet) {
- ClientPlayNetworking.send(new DataCustomPayload(packet.getData()));
- }
-
- public List getPressedButtons() {
- return new ArrayList<>(pressedButtons);
- }
-
- public void startSection(String name) {
- Profilers.get().push(name);
- }
-
- public void endStartSection(String name) {
- Profilers.get().swap(name);
- }
-
- public void endSection() {
- Profilers.get().pop();
- }
-
- private record PointsRenderState(
- Collection points,
- int r, int g, int b, int a,
- ScreenRect bounds,
- ScreenRect scissor
- ) implements SimpleGuiElementRenderState {
-
- @Override
- public @Nullable ScreenRect bounds() {
- return this.bounds;
- }
-
- @Override
- public void setupVertices(VertexConsumer consumer, float depth) {
- for (Vector2D p : this.points) {
- consumer.vertex((float) p.getX(), (float) p.getY(), 0).color(r, g, b, a);
- }
- }
-
- @Override
- public RenderPipeline pipeline() {
- return RenderPipelines.GUI;
- }
-
- @Override
- public TextureSetup textureSetup() {
- return TextureSetup.empty();
- }
-
- @Override
- public @Nullable ScreenRect scissorArea() {
- return this.scissor;
- }
- }
-}
\ No newline at end of file
diff --git a/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/MPKGuiScreen.java b/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/MPKGuiScreen.java
deleted file mode 100644
index 300c1ac7..00000000
--- a/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/MPKGuiScreen.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_8;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.Profiler;
-import io.github.kurrycat.mpkmod.util.MathUtil;
-import io.github.kurrycat.mpkmod.util.Vector2D;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.DrawContext;
-import net.minecraft.client.gui.screen.Screen;
-import net.minecraft.text.Text;
-
-public class MPKGuiScreen extends Screen {
- public io.github.kurrycat.mpkmod.gui.MPKGuiScreen eventReceiver;
-
- public MPKGuiScreen(io.github.kurrycat.mpkmod.gui.MPKGuiScreen screen) {
- super(Text.translatable(API.MODID + ".gui.title"));
- eventReceiver = screen;
- }
-
- public void init() {
- eventReceiver.onInit();
- }
-
- @Override
- public void resize(MinecraftClient client, int width, int height) {
- super.resize(client, width, height);
- eventReceiver.onResize(width, height);
- }
-
- public void render(DrawContext drawContext, int mouseX, int mouseY, float delta) {
- drawContext.getMatrices().pushMatrix();
- API.getFunctionHolder().drawContext = drawContext;
- Profiler.startSection(eventReceiver.getID() == null ? "mpk_gui" : eventReceiver.getID());
- try {
- eventReceiver.drawScreen(new Vector2D(mouseX, mouseY), delta);
- } catch (Exception e) {
- API.LOGGER.warn("Error in drawScreen with id: " + eventReceiver.getID(), e);
- }
- Profiler.endSection();
- drawContext.getMatrices().popMatrix();
- }
-
- public void close() {
- super.close();
- eventReceiver.onGuiClosed();
- }
-
- public boolean shouldPause() {
- return false;
- }
-
- public boolean mouseClicked(double mouseX, double mouseY, int state) {
- eventReceiver.onMouseClicked(new Vector2D(mouseX, mouseY), state);
- return super.mouseClicked(mouseX, mouseY, state);
- }
-
- public boolean mouseReleased(double mouseX, double mouseY, int state) {
- eventReceiver.onMouseReleased(new Vector2D(mouseX, mouseY), state);
- return super.mouseReleased(mouseX, mouseY, state);
- }
-
- public boolean mouseDragged(double mouseX, double mouseY, int clickedMouseButton, double moveX, double moveY) {
- eventReceiver.onMouseClickMove(new Vector2D(mouseX, mouseY), clickedMouseButton, 0);
- return super.mouseDragged(mouseX, mouseY, clickedMouseButton, moveX, moveY);
- }
-
- public boolean keyPressed(int keyCode, int scanCode, int modifiers) {
- eventReceiver.onKeyEvent(keyCode, scanCode, modifiers, false);
- return super.keyPressed(keyCode, scanCode, modifiers);
- }
-
- @Override
- public boolean charTyped(char c, int modifiers) {
- eventReceiver.onKeyEvent(c, 0, modifiers, true);
- return super.charTyped(c, modifiers);
- }
-
- @Override
- public boolean mouseScrolled(double mouseX, double mouseY, double horizontalAmount, double verticalAmount) {
- eventReceiver.onMouseScroll(
- new Vector2D(mouseX, mouseY),
- (int) (MathUtil.constrain(verticalAmount, -1, 1) * 7)
- );
- return super.mouseScrolled(mouseX, mouseY, horizontalAmount, verticalAmount);
- }
-}
diff --git a/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/mixin/GameRendererMixin.java b/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/mixin/GameRendererMixin.java
deleted file mode 100644
index 62da6cb1..00000000
--- a/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/mixin/GameRendererMixin.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_8.mixin;
-
-import com.mojang.blaze3d.systems.RenderSystem;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_8.MPKMod;
-import net.minecraft.client.render.Camera;
-import net.minecraft.client.render.GameRenderer;
-import net.minecraft.client.render.RenderTickCounter;
-import net.minecraft.client.util.math.MatrixStack;
-import org.joml.Matrix4fStack;
-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(value = GameRenderer.class)
-public class GameRendererMixin {
- @Inject(at = @At(value = "INVOKE_STRING",
- target = "Lnet/minecraft/util/profiler/Profiler;swap(Ljava/lang/String;)V",
- args = "ldc=hand"),
- method = "renderWorld")
- public void render(RenderTickCounter tickCounter, CallbackInfo ci) {
- GameRenderer gameRenderer = (GameRenderer) (Object) this;
- Camera camera = gameRenderer.getCamera();
- Matrix4fStack matrixStack = RenderSystem.getModelViewStack();
- matrixStack.pushMatrix();
- matrixStack.rotateXYZ(camera.getPitch() * ((float) Math.PI / 180), camera.getYaw() * ((float) Math.PI / 180) + (float) Math.PI, 0.0f);
-
- MPKMod.INSTANCE.eventHandler.onRenderWorldOverlay(new MatrixStack(), tickCounter.getTickProgress(false));
-
- matrixStack.popMatrix();
- }
-}
diff --git a/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/mixin/KeyBindingAccessor.java b/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/mixin/KeyBindingAccessor.java
deleted file mode 100644
index cebee4e4..00000000
--- a/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/mixin/KeyBindingAccessor.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_8.mixin;
-
-import net.minecraft.client.option.KeyBinding;
-import net.minecraft.client.util.InputUtil;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.gen.Accessor;
-
-@Mixin(KeyBinding.class)
-public interface KeyBindingAccessor {
- @Accessor
- InputUtil.Key getBoundKey();
-}
diff --git a/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/mixin/KeyboardMixin.java b/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/mixin/KeyboardMixin.java
deleted file mode 100644
index 0ddad617..00000000
--- a/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/mixin/KeyboardMixin.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_8.mixin;
-
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_8.MPKMod;
-import net.minecraft.client.Keyboard;
-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(Keyboard.class)
-public class KeyboardMixin {
- @Inject(method = "onKey", at = @At(value = "RETURN"))
- private void onKey(long window, int key, int scancode, int action, int modifiers, CallbackInfo ci) {
- if(key != -1) {
- MPKMod.INSTANCE.eventHandler.onKey(key, scancode, action);
- }
- }
-}
diff --git a/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/mixin/MinecraftClientMixin.java b/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/mixin/MinecraftClientMixin.java
deleted file mode 100644
index 1d41169f..00000000
--- a/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/mixin/MinecraftClientMixin.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_8.mixin;
-
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_8.MPKMod;
-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 MinecraftClientMixin {
- @Inject(at = @At("TAIL"), method = "")
- private void init(CallbackInfo info) {
- MPKMod.INSTANCE.init();
- }
-}
diff --git a/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/mixin/MouseMixin.java b/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/mixin/MouseMixin.java
deleted file mode 100644
index 1ad3ed02..00000000
--- a/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/mixin/MouseMixin.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_8.mixin;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.Mouse;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.Shadow;
-import org.spongepowered.asm.mixin.injection.At;
-import org.spongepowered.asm.mixin.injection.Inject;
-import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
-
-@Mixin(Mouse.class)
-public class MouseMixin {
- @Shadow
- private double cursorDeltaX;
- @Shadow
- private double cursorDeltaY;
- @Shadow
- private double x;
- @Shadow
- private double y;
-
- @Inject(method = "onCursorPos", at = @At(value = "TAIL"))
- private void onCursorPos(long window, double x, double y, CallbackInfo ci) {
- if (window == MinecraftClient.getInstance().getWindow().getHandle()) {
- API.Events.onMouseInput(
- io.github.kurrycat.mpkmod.util.Mouse.Button.NONE,
- io.github.kurrycat.mpkmod.util.Mouse.State.NONE,
- (int) x, (int) y, (int) cursorDeltaX, (int) -cursorDeltaY,
- 0, System.nanoTime()
- );
- }
- }
-
- @Inject(method = "onMouseScroll", at = @At(value = "TAIL"))
- private void onMouseScroll(long window, double horizontal, double vertical, CallbackInfo ci) {
- API.Events.onMouseInput(
- io.github.kurrycat.mpkmod.util.Mouse.Button.NONE,
- io.github.kurrycat.mpkmod.util.Mouse.State.NONE,
- (int) x, (int) y, 0, 0,
- (int) vertical, System.nanoTime()
- );
- }
-
- @Inject(method = "onMouseButton", at = @At(value = "TAIL"))
- private void onMouseButton(long window, int button, int action, int mods, CallbackInfo ci) {
- API.Events.onMouseInput(
- io.github.kurrycat.mpkmod.util.Mouse.Button.fromInt(button),
- button == -1 ? io.github.kurrycat.mpkmod.util.Mouse.State.NONE :
- (action == 1 ? io.github.kurrycat.mpkmod.util.Mouse.State.DOWN : io.github.kurrycat.mpkmod.util.Mouse.State.UP),
- (int) x, (int) y, 0, 0,
- 0, System.nanoTime()
- );
- }
-}
diff --git a/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/network/DataCustomPayload.java b/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/network/DataCustomPayload.java
deleted file mode 100644
index 91a8e692..00000000
--- a/fabric-1.21.8/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21_8/network/DataCustomPayload.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_8.network;
-
-import io.github.kurrycat.mpknetapi.common.MPKNetworking;
-import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry;
-import net.minecraft.network.PacketByteBuf;
-import net.minecraft.network.codec.PacketCodec;
-import net.minecraft.network.packet.CustomPayload;
-import net.minecraft.util.Identifier;
-
-public record DataCustomPayload(byte[] data) implements CustomPayload {
- public static final Id MPK_ID = new Id<>(Identifier.of(MPKNetworking.CHANNEL_NAMESPACE, MPKNetworking.CHANNEL_PATH));
-
- public static final PacketCodec CODEC = PacketCodec.of(
- (payload, buf) -> buf.writeBytes(payload.data()),
- buf -> {
- byte[] data = new byte[buf.readableBytes()];
- buf.readBytes(data);
- return new DataCustomPayload(data);
- }
- );
-
- @Override
- public Id extends CustomPayload> getId() {
- return MPK_ID;
- }
-
- public static Id registerClientboundPayload() {
- PayloadTypeRegistry.playS2C().register(MPK_ID, DataCustomPayload.CODEC);
- return MPK_ID;
- }
-
- public static Id registerServerboundPayload() {
- PayloadTypeRegistry.playC2S().register(MPK_ID, DataCustomPayload.CODEC);
- return MPK_ID;
- }
-}
\ No newline at end of file
diff --git a/fabric-1.21.8/src/main/resources/assets/mpkmod/icon.png b/fabric-1.21.8/src/main/resources/assets/mpkmod/icon.png
deleted file mode 100644
index 48bcd55b..00000000
Binary files a/fabric-1.21.8/src/main/resources/assets/mpkmod/icon.png and /dev/null differ
diff --git a/fabric-1.21.8/src/main/resources/assets/mpkmod/lang/en_US.lang b/fabric-1.21.8/src/main/resources/assets/mpkmod/lang/en_US.lang
deleted file mode 100644
index 6bb9fb6f..00000000
--- a/fabric-1.21.8/src/main/resources/assets/mpkmod/lang/en_US.lang
+++ /dev/null
@@ -1,6 +0,0 @@
-mpkmod.key.main_gui.desc=Open MPK Mod GUI
-mpkmod.key.lb_gui.desc=Open Landing Block GUI
-mpkmod.key.lb_set.desc=Set Landing Block
-mpkmod.key.options_gui.desc=Open Options GUI
-mpkmod.main_gui.title=MPK Mod GUI
-mpkmod.lb_gui.title=Landing Block GUI
\ No newline at end of file
diff --git a/fabric-1.21.8/src/main/resources/assets/mpkmod/lang/en_us.json b/fabric-1.21.8/src/main/resources/assets/mpkmod/lang/en_us.json
deleted file mode 100644
index 167f27be..00000000
--- a/fabric-1.21.8/src/main/resources/assets/mpkmod/lang/en_us.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "mpkmod.key.main_gui.desc": "Open MPK Mod GUI",
- "mpkmod.key.lb_gui.desc": "Open Landing Block GUI",
- "mpkmod.key.lb_set.desc": "Set Landing Block",
- "mpkmod.key.options_gui.desc": "Open Options GUI",
- "mpkmod.main_gui.title": "MPK Mod GUI",
- "mpkmod.lb_gui.title": "Landing Block GUI"
-}
\ No newline at end of file
diff --git a/fabric-1.21.8/src/main/resources/assets/mpkmod/lang/pl_pl.json b/fabric-1.21.8/src/main/resources/assets/mpkmod/lang/pl_pl.json
deleted file mode 100644
index 886d7746..00000000
--- a/fabric-1.21.8/src/main/resources/assets/mpkmod/lang/pl_pl.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "mpkmod.key.main_gui.desc": "Otwórz menu MPK",
- "mpkmod.key.lb_gui.desc": "Otwórz menu Bloku Lądowania",
- "mpkmod.key.lb_set.desc": "Ustaw Blok Lądowania",
- "mpkmod.key.options_gui.desc": "Otwórz menu opcji",
- "mpkmod.main_gui.title": "Menu MPK",
- "mpkmod.lb_gui.title": "Menu Bloku Lądowania"
-}
\ No newline at end of file
diff --git a/fabric-1.21.8/src/main/resources/assets/mpkmod/lang/pl_pl.lang b/fabric-1.21.8/src/main/resources/assets/mpkmod/lang/pl_pl.lang
deleted file mode 100644
index 0d946226..00000000
--- a/fabric-1.21.8/src/main/resources/assets/mpkmod/lang/pl_pl.lang
+++ /dev/null
@@ -1,6 +0,0 @@
-mpkmod.key.main_gui.desc=Otwórz menu MPK
-mpkmod.key.lb_gui.desc=Otwórz menu Bloku Lądowania
-mpkmod.key.lb_set.desc=Ustaw Blok Lądowania
-mpkmod.key.options_gui.desc=Otwórz menu opcji
-mpkmod.main_gui.title=Menu MPK
-mpkmod.lb_gui.title=Menu Bloku Lądowania
\ No newline at end of file
diff --git a/fabric-1.21.8/src/main/resources/fabric.mod.json b/fabric-1.21.8/src/main/resources/fabric.mod.json
deleted file mode 100644
index ba356f21..00000000
--- a/fabric-1.21.8/src/main/resources/fabric.mod.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "schemaVersion": 1,
- "id": "mpkmod",
- "version": "${version}",
-
- "name": "MPK Mod",
- "description": "A Mod that adds some features that help parkour to the game.",
- "authors": [
- "kurrycat",
- "CodeKid0 (Fabric port)",
- "Contributors"
- ],
- "contact": {
- "sources": "https://github.com/kurrycat2004/MPKMod_2"
- },
-
- "license": "MIT",
- "icon": "assets/mpkmod/icon.png",
- "environment": "client",
- "entrypoints": {
- "main": [
- "io.github.kurrycat.mpkmod.compatibility.fabric_1_21_8.MPKMod"
- ]
- },
- "mixins": [
- "mpkmod.mixins.json"
- ],
-
- "depends": {
- "fabricloader": ">=0.16.14",
- "fabric-api": "*",
- "minecraft": "~1.21",
- "java": ">=21"
- },
- "suggests": {}
-}
diff --git a/fabric-1.21.8/src/main/resources/mpkmod.mixins.json b/fabric-1.21.8/src/main/resources/mpkmod.mixins.json
deleted file mode 100644
index 6122bcc5..00000000
--- a/fabric-1.21.8/src/main/resources/mpkmod.mixins.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "required": true,
- "minVersion": "0.8",
- "package": "io.github.kurrycat.mpkmod.compatibility.fabric_1_21_8.mixin",
- "compatibilityLevel": "JAVA_21",
- "mixins": [
- ],
- "client": [
- "GameRendererMixin",
- "KeyBindingAccessor",
- "KeyboardMixin",
- "MinecraftClientMixin",
- "MouseMixin"
- ],
- "injectors": {
- "defaultRequire": 1
- }
-}
diff --git a/fabric-1.21/.gitignore b/fabric-1.21/.gitignore
deleted file mode 100644
index c476faf2..00000000
--- a/fabric-1.21/.gitignore
+++ /dev/null
@@ -1,40 +0,0 @@
-# gradle
-
-.gradle/
-build/
-out/
-classes/
-
-# eclipse
-
-*.launch
-
-# idea
-
-.idea/
-*.iml
-*.ipr
-*.iws
-
-# vscode
-
-.settings/
-.vscode/
-bin/
-.classpath
-.project
-
-# macos
-
-*.DS_Store
-
-# fabric
-
-run/
-
-# java
-
-hs_err_*.log
-replay_*.log
-*.hprof
-*.jfr
diff --git a/fabric-1.21/build.gradle b/fabric-1.21/build.gradle
deleted file mode 100644
index e9cf65e7..00000000
--- a/fabric-1.21/build.gradle
+++ /dev/null
@@ -1,21 +0,0 @@
-plugins {
- id 'fabric-loom' version "1.11-SNAPSHOT"
-}
-
-loom.runs.client.runDir = "../runs/run"
-
-dependencies {
- minecraft "com.mojang:minecraft:${project.minecraft_version}"
- mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
- modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
-
- modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
-}
-
-processResources {
- inputs.property "version", project.version
-
- filesMatching("fabric.mod.json") {
- expand "version": project.version
- }
-}
\ No newline at end of file
diff --git a/fabric-1.21/gradle.properties b/fabric-1.21/gradle.properties
deleted file mode 100644
index 9af5b9fd..00000000
--- a/fabric-1.21/gradle.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-# Done to increase the memory available to gradle.
-org.gradle.jvmargs=-Xmx1G
-org.gradle.parallel=true
-
-# Fabric Properties
-# check these on https://fabricmc.net/develop
-minecraft_version=1.21
-yarn_mappings=1.21+build.4
-loader_version=0.15.11
-
-# Fabric API
-fabric_version=0.100.4+1.21
-
-jdkVersion=21
diff --git a/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/EventHandler.java b/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/EventHandler.java
deleted file mode 100644
index 324babf7..00000000
--- a/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/EventHandler.java
+++ /dev/null
@@ -1,123 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.Player;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21.mixin.KeyBindingAccessor;
-import io.github.kurrycat.mpkmod.ticks.ButtonMS;
-import io.github.kurrycat.mpkmod.ticks.ButtonMSList;
-import io.github.kurrycat.mpkmod.util.BoundingBox3D;
-import io.github.kurrycat.mpkmod.util.Vector3D;
-import net.fabricmc.fabric.api.networking.v1.PacketSender;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.DrawContext;
-import net.minecraft.client.network.ClientPlayNetworkHandler;
-import net.minecraft.client.network.ClientPlayerEntity;
-import net.minecraft.client.option.GameOptions;
-import net.minecraft.client.render.RenderTickCounter;
-import net.minecraft.client.util.InputUtil;
-import net.minecraft.client.util.math.MatrixStack;
-import net.minecraft.util.Util;
-import net.minecraft.util.math.Box;
-import net.minecraft.util.math.Vec3d;
-
-public class EventHandler {
- private static final ButtonMSList timeQueue = new ButtonMSList();
-
- /**
- * @param key The GLFW key code. See {@link net.minecraft.client.util.InputUtil}.
- * @param scanCode
- * @param action The action, where 0 = unpressed, 1 = pressed, 2 = held.
- */
- public void onKey(int key, int scanCode, int action) {
- GameOptions options = MinecraftClient.getInstance().options;
- long eventNanos = Util.getMeasuringTimeNano();
-
- InputUtil.Key inputKey = InputUtil.fromKeyCode(key, scanCode);
-
- int[] keys = {
- ((KeyBindingAccessor) options.forwardKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.leftKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.backKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.rightKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.sprintKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.sneakKey).getBoundKey().getCode(),
- ((KeyBindingAccessor) options.jumpKey).getBoundKey().getCode()
- };
-
- for (int i = 0; i < keys.length; i++) {
- if (key == keys[i]) {
- timeQueue.add(ButtonMS.of(ButtonMS.Button.values()[i], eventNanos, action == 1));
- }
- }
-
- if (action == 1) {
- FunctionCompatibility.pressedButtons.add(inputKey.getCode());
- } else if (action == 0) {
- FunctionCompatibility.pressedButtons.remove(inputKey.getCode());
- }
-
- API.Events.onKeyInput(key, inputKey.getLocalizedText().getString(), action == 1);
-
- MPKMod.keyBindingMap.forEach((id, keyBinding) -> {
- if (keyBinding.isPressed()) {
- API.Events.onKeybind(id);
- }
- });
- }
-
- public void onInGameOverlayRender(DrawContext drawContext, RenderTickCounter renderTickCounter) {
- drawContext.getMatrices().push();
- API.getFunctionHolder().drawContext = drawContext;
- API.Events.onRenderOverlay();
- drawContext.getMatrices().pop();
- }
-
- public void onRenderWorldOverlay(MatrixStack matrixStack, float tickDelta) {
- MPKMod.INSTANCE.matrixStack = matrixStack;
- matrixStack.push();
- Vec3d pos = MinecraftClient.getInstance().gameRenderer.getCamera().getPos();
- MPKMod.INSTANCE.matrixStack.translate(-pos.x, -pos.y, -pos.z);
- API.Events.onRenderWorldOverlay(tickDelta);
- matrixStack.pop();
- }
-
- public void onClientTickStart(MinecraftClient mc) {
- if (mc.isPaused() || mc.world == null) return;
- API.Events.onTickStart();
- }
-
- public void onClientTickEnd(MinecraftClient mc) {
- if (mc.isPaused() || mc.world == null) return;
- ClientPlayerEntity mcPlayer = mc.player;
-
- if (mcPlayer != null) {
- Box playerBB = mcPlayer.getBoundingBox();
- new Player()
- .setPos(new Vector3D(mcPlayer.getX(), mcPlayer.getY(), mcPlayer.getZ()))
- .setLastPos(new Vector3D(mcPlayer.prevX, mcPlayer.prevY, mcPlayer.prevZ))
- .setMotion(new Vector3D(mcPlayer.getVelocity().x, mcPlayer.getVelocity().y, mcPlayer.getVelocity().z))
- .setRotation(mcPlayer.getRotationClient().y, mcPlayer.getRotationClient().x)
- .setOnGround(mcPlayer.isOnGround())
- .setSprinting(mcPlayer.isSprinting())
- .setBoundingBox(new BoundingBox3D(
- new Vector3D(playerBB.minX, playerBB.minY, playerBB.minZ),
- new Vector3D(playerBB.maxX, playerBB.maxY, playerBB.maxZ)
- ))
- .constructKeyInput()
- .setKeyMSList(timeQueue)
- .buildAndSave();
- timeQueue.clear();
- }
-
- API.Events.onTickEnd();
- }
-
-
- public void onServerConnect(ClientPlayNetworkHandler clientPlayNetworkHandler, PacketSender packetSender, MinecraftClient minecraftClient) {
- API.Events.onServerConnect(clientPlayNetworkHandler.getConnection().isLocal());
- }
-
- public void onServerDisconnect(ClientPlayNetworkHandler clientPlayNetworkHandler, MinecraftClient minecraftClient) {
- API.Events.onServerDisconnect();
- }
-}
diff --git a/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/FunctionCompatibility.java b/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/FunctionCompatibility.java
deleted file mode 100644
index 9a12590d..00000000
--- a/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/FunctionCompatibility.java
+++ /dev/null
@@ -1,432 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21;
-
-import com.mojang.blaze3d.systems.RenderSystem;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.*;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21.mixin.KeyBindingAccessor;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21.network.DataCustomPayload;
-import io.github.kurrycat.mpkmod.gui.MPKGuiScreen;
-import io.github.kurrycat.mpkmod.util.BoundingBox3D;
-import io.github.kurrycat.mpkmod.util.Debug;
-import io.github.kurrycat.mpkmod.util.Vector2D;
-import io.github.kurrycat.mpkmod.util.Vector3D;
-import io.github.kurrycat.mpknetapi.common.network.packet.MPKPacket;
-import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
-import net.minecraft.block.BlockState;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.DrawContext;
-import net.minecraft.client.gui.screen.Screen;
-import net.minecraft.client.network.ClientPlayerEntity;
-import net.minecraft.client.network.ServerInfo;
-import net.minecraft.client.option.GameOptions;
-import net.minecraft.client.option.KeyBinding;
-import net.minecraft.client.render.*;
-import net.minecraft.client.sound.PositionedSoundInstance;
-import net.minecraft.client.util.math.MatrixStack;
-import net.minecraft.registry.Registries;
-import net.minecraft.sound.SoundEvents;
-import net.minecraft.util.Util;
-import net.minecraft.util.hit.BlockHitResult;
-import net.minecraft.util.hit.HitResult;
-import net.minecraft.util.math.BlockPos;
-import net.minecraft.util.math.MathHelper;
-import org.joml.Matrix4f;
-
-import java.awt.*;
-import java.util.*;
-import java.util.List;
-
-public class FunctionCompatibility implements FunctionHolder,
- SoundManager.Interface,
- WorldInteraction.Interface,
- Renderer3D.Interface,
- Renderer2D.Interface,
- FontRenderer.Interface,
- io.github.kurrycat.mpkmod.compatibility.MCClasses.Minecraft.Interface,
- io.github.kurrycat.mpkmod.compatibility.MCClasses.Keyboard.Interface,
- Profiler.Interface {
- public static final Set pressedButtons = new HashSet<>();
- public DrawContext drawContext = null;
-
- public void playButtonSound() {
- MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
- }
-
- public List getCollisionBoundingBoxes(Vector3D blockPosVector) {
- final Vector3D blockPosVec = blockPosVector.copy();
- BlockPos blockPos = new BlockPos(blockPosVec.getXI(), blockPosVec.getYI(), blockPosVec.getZI());
- if (MinecraftClient.getInstance().world == null) return null;
- ArrayList boundingBoxes = new ArrayList<>();
- BlockState blockState = MinecraftClient.getInstance().world.getBlockState(blockPos);
-
- blockState.getCollisionShape(MinecraftClient.getInstance().world, blockPos).simplify().forEachBox(
- ((minX, minY, minZ, maxX, maxY, maxZ) -> boundingBoxes.add(
- new BoundingBox3D(new Vector3D(minX, minY, minZ), new Vector3D(maxX, maxY, maxZ)).move(blockPosVec)
- ))
- );
-
- return boundingBoxes;
- }
-
- public Vector3D getLookingAt() {
- if (MinecraftClient.getInstance().getCameraEntity() == null)
- return null;
-
- HitResult hitResult = MinecraftClient.getInstance().getCameraEntity().raycast(20, 0, false);
- if (hitResult instanceof BlockHitResult) {
- BlockPos blockPos = ((BlockHitResult) hitResult).getBlockPos();
- return new Vector3D(blockPos.getX(), blockPos.getY(), blockPos.getZ());
- }
-
- return null;
- }
-
- @Override
- public String getBlockName(Vector3D blockPos) {
- BlockPos blockpos = new BlockPos(blockPos.getXI(), blockPos.getYI(), blockPos.getZI());
- if (MinecraftClient.getInstance().world == null)
- return null;
-
- return Registries.BLOCK.getKey(
- MinecraftClient.getInstance().world.getBlockState(blockpos).getBlock()
- ).get().getValue().toString();
- }
-
- @Override
- public HashMap getBlockProperties(Vector3D blockPos) {
- HashMap properties = new HashMap<>();
- if (MinecraftClient.getInstance().world == null)
- return properties;
-
- BlockPos blockpos = new BlockPos(blockPos.getXI(), blockPos.getYI(), blockPos.getZI());
- BlockState blockState = MinecraftClient.getInstance().world.getBlockState(blockpos);
- blockState.getEntries().forEach((key, value) ->
- properties.put(key.getName(), Util.getValueAsString(key, value))
- );
- return null;
- }
-
- /**
- * Is called in {@link io.github.kurrycat.mpkmod.compatibility.MCClasses.WorldInteraction.Interface WorldInteraction.Interface}
- */
- public String getLookingAtBlock() {
- if (MinecraftClient.getInstance().getCameraEntity() == null)
- return null;
-
- HitResult hitResult = MinecraftClient.getInstance().getCameraEntity().raycast(20, 0, false);
- if (hitResult.getType() == HitResult.Type.BLOCK && MinecraftClient.getInstance().world != null) {
- return Registries.BLOCK.getKey(
- MinecraftClient.getInstance().world.getBlockState(((BlockHitResult) hitResult).getBlockPos()).getBlock()
- ).get().getValue().toTranslationKey();
- }
- return null;
- }
-
- public void drawBox(BoundingBox3D bb, Color color, float partialTicks) {
- int r = color.getRed(), g = color.getGreen(), b = color.getBlue(), a = color.getAlpha();
-
- RenderSystem.applyModelViewMatrix();
-
- RenderSystem.enableBlend();
- RenderSystem.enableDepthTest();
- RenderSystem.setShader(GameRenderer::getPositionColorProgram);
-
- Tessellator tessellator = Tessellator.getInstance();
-
- RenderSystem.lineWidth(1.0F);
-
- Matrix4f posMat = MPKMod.INSTANCE.matrixStack.peek().getPositionMatrix();
-
- float minX = (float) bb.minX();
- float minY = (float) bb.minY();
- float minZ = (float) bb.minZ();
- float maxX = (float) bb.maxX();
- float maxY = (float) bb.maxY();
- float maxZ = (float) bb.maxZ();
-
- BufferBuilder builder = tessellator.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR);
-
- builder.vertex(posMat, minX, maxY, minZ).color(r, g, b, a);
- builder.vertex(posMat, maxX, maxY, minZ).color(r, g, b, a);
- builder.vertex(posMat, maxX, minY, minZ).color(r, g, b, a);
- builder.vertex(posMat, minX, minY, minZ).color(r, g, b, a);
-
- builder.vertex(posMat, minX, minY, maxZ).color(r, g, b, a);
- builder.vertex(posMat, maxX, minY, maxZ).color(r, g, b, a);
- builder.vertex(posMat, maxX, maxY, maxZ).color(r, g, b, a);
- builder.vertex(posMat, minX, maxY, maxZ).color(r, g, b, a);
-
- builder.vertex(posMat, minX, minY, minZ).color(r, g, b, a);
- builder.vertex(posMat, maxX, minY, minZ).color(r, g, b, a);
- builder.vertex(posMat, maxX, minY, maxZ).color(r, g, b, a);
- builder.vertex(posMat, minX, minY, maxZ).color(r, g, b, a);
-
- builder.vertex(posMat, minX, maxY, maxZ).color(r, g, b, a);
- builder.vertex(posMat, maxX, maxY, maxZ).color(r, g, b, a);
- builder.vertex(posMat, maxX, maxY, minZ).color(r, g, b, a);
- builder.vertex(posMat, minX, maxY, minZ).color(r, g, b, a);
-
- builder.vertex(posMat, minX, minY, maxZ).color(r, g, b, a);
- builder.vertex(posMat, minX, maxY, maxZ).color(r, g, b, a);
- builder.vertex(posMat, minX, maxY, minZ).color(r, g, b, a);
- builder.vertex(posMat, minX, minY, minZ).color(r, g, b, a);
-
- builder.vertex(posMat, maxX, minY, minZ).color(r, g, b, a);
- builder.vertex(posMat, maxX, maxY, minZ).color(r, g, b, a);
- builder.vertex(posMat, maxX, maxY, maxZ).color(r, g, b, a);
- builder.vertex(posMat, maxX, minY, maxZ).color(r, g, b, a);
-
- BufferRenderer.drawWithGlobalProgram(builder.end());
-
- RenderSystem.enableBlend();
- }
-
- /**
- * Is called in {@link Renderer2D.Interface}
- */
- public void drawRect(Vector2D pos, Vector2D size, Color color) {
- if (drawContext == null) return;
- //0.04 because drawString SHADOW_OFFSET is 0.03
- drawContext.getMatrices().translate(0, 0, 0.04);
- Matrix4f posMat = drawContext.getMatrices().peek().getPositionMatrix();
- int r = color.getRed(), g = color.getGreen(), b = color.getBlue(), a = color.getAlpha();
- double x = pos.getX(), y = pos.getY(), w = size.getX(), h = size.getY();
-
- Tessellator tessellator = Tessellator.getInstance();
- RenderSystem.enableBlend();
- RenderSystem.setShader(GameRenderer::getPositionColorProgram);
- BufferBuilder bb = tessellator.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR);
- bb.vertex(posMat, (float) x, (float) (y + h), 0).color(r, g, b, a);
- bb.vertex(posMat, (float) (x + w), (float) (y + h), 0).color(r, g, b, a);
- bb.vertex(posMat, (float) (x + w), (float) y, 0).color(r, g, b, a);
- bb.vertex(posMat, (float) x, (float) y, 0).color(r, g, b, a);
- BufferRenderer.drawWithGlobalProgram(bb.end());
-
- RenderSystem.disableBlend();
- }
-
- /**
- * Is called in {@link Renderer2D.Interface}
- */
- public void drawLines(Collection points, Color color) {
- if (points.size() < 2) {
- Debug.stacktrace("At least two points expected, got: " + points.size());
- return;
- }
- int r = color.getRed(), g = color.getGreen(), b = color.getBlue(), a = color.getAlpha();
-
- drawContext.getMatrices().translate(0, 0, 0.04);
- Matrix4f posMat = drawContext.getMatrices().peek().getPositionMatrix();
-
- RenderSystem.enableBlend();
- RenderSystem.enableDepthTest();
- RenderSystem.setShader(GameRenderer::getPositionColorProgram);
-
- Tessellator tessellator = Tessellator.getInstance();
-
- RenderSystem.lineWidth(1.0f);
-
- BufferBuilder builder = tessellator.begin(VertexFormat.DrawMode.DEBUG_LINE_STRIP, VertexFormats.POSITION_COLOR);
-
- for (Vector2D p : points) {
- builder.vertex(posMat, (float) p.getX(), (float) p.getY(), 0).color(r, g, b, a);
- }
-
- BufferRenderer.drawWithGlobalProgram(builder.end());
-
- RenderSystem.enableBlend();
- }
-
- public Vector2D getScaledSize() {
- return new Vector2D(
- MinecraftClient.getInstance().getWindow().getScaledWidth(),
- MinecraftClient.getInstance().getWindow().getScaledHeight()
- );
- }
-
- public Vector2D getScreenSize() {
- return new Vector2D(MinecraftClient.getInstance().getWindow().getWidth(), MinecraftClient.getInstance().getWindow().getHeight());
- }
-
- public void enableScissor(double x, double y, double w, double h) {
- int x1 = (int) x;
- int y1 = (int) y;
- int x2 = (int) (x + w);
- int y2 = (int) (y + h);
- drawContext.enableScissor(x1, y1, x2, y2);
- }
-
- public void disableScissor() {
- try {
- drawContext.disableScissor();
- } catch (IllegalStateException ignored) {}
- }
-
- public void clearScissors() {
- boolean clearedAll = false;
- while (!clearedAll) {
- try {
- drawContext.disableScissor();
- } catch (IllegalStateException e) {
- clearedAll = true;
- }
- }
- }
-
- public boolean scissorContains(Vector2D point) {
- return drawContext.scissorContains(point.getXI(), point.getYI());
- }
-
- public void drawString(String text, double x, double y, Color color, double fontSize, boolean shadow) {
- if (drawContext == null) return;
- MatrixStack matrixStack = drawContext.getMatrices();
- matrixStack.translate(0, 0, 0.04);
- matrixStack.push();
- matrixStack.translate(x, y, 0);
- double scale = fontSize / MinecraftClient.getInstance().textRenderer.fontHeight;
- matrixStack.scale((float) scale, (float) scale, 1);
- drawContext.drawText(
- MinecraftClient.getInstance().textRenderer, text,
- 0, 0, color.getRGB(), shadow
- );
- matrixStack.pop();
- }
-
- public Vector2D getStringSize(String text, double fontSize) {
- return new Vector2D(
- MinecraftClient.getInstance().textRenderer.getWidth(text) *
- (float) (fontSize / MinecraftClient.getInstance().textRenderer.fontHeight),
- (float) fontSize
- );
- }
-
- public String getIP() {
- ServerInfo d = MinecraftClient.getInstance().getCurrentServerEntry();
-
- if (d == null)
- return "Multiplayer";
- else
- return d.address;
- }
-
- public String getFPS() {
- String[] split = MinecraftClient.getInstance().fpsDebugString.split(" ");
- if (split.length == 0)
- return "Error";
- return split[0];
- }
-
- public void displayGuiScreen(MPKGuiScreen screen) {
- MinecraftClient.getInstance().setScreen(
- screen == null
- ? null
- : new io.github.kurrycat.mpkmod.compatibility.fabric_1_21.MPKGuiScreen(screen));
- }
-
- public String getCurrentGuiScreen() {
- Screen curr = MinecraftClient.getInstance().currentScreen;
-
- if (curr == null)
- return null;
- else if (curr instanceof io.github.kurrycat.mpkmod.compatibility.fabric_1_21.MPKGuiScreen) {
- String id = ((io.github.kurrycat.mpkmod.compatibility.fabric_1_21.MPKGuiScreen) curr).eventReceiver.getID();
- if (id == null)
- id = "unknown";
-
- return id;
- }
-
- return curr.getClass().getSimpleName();
- }
-
- /**
- * Is called in {@link io.github.kurrycat.mpkmod.compatibility.MCClasses.Minecraft.Interface Minecraft.Interface}
- */
- public String getUserName() {
- if (MinecraftClient.getInstance().player == null) return null;
- return MinecraftClient.getInstance().player.getName().getString();
- }
-
- public void copyToClipboard(String content) {
- MinecraftClient.getInstance().keyboard.setClipboard(content);
- }
-
- public boolean setInputs(Float yaw, boolean relYaw, Float pitch, boolean relPitch, int pressedInputs, int releasedInputs, int L, int R) {
- if (!io.github.kurrycat.mpkmod.compatibility.MCClasses.Minecraft.isSingleplayer()) return false;
- ClientPlayerEntity player = MinecraftClient.getInstance().player;
- if (player == null) return false;
- GameOptions op = MinecraftClient.getInstance().options;
-
- float prevYaw = player.getYaw();
- float prevPitch = player.getPitch();
-
- if (yaw != null) {
- player.setYaw(relYaw ? (player.getYaw() + yaw) : yaw);
- player.prevYaw += player.getYaw() - prevYaw;
- }
- if (pitch != null) {
- player.setPitch(relPitch ? (player.getPitch() + pitch) : pitch);
- player.setPitch(MathHelper.clamp(player.getPitch(), -90.0F, 90.0F));
-
- player.prevPitch += player.getPitch() - prevPitch;
- player.prevPitch = MathHelper.clamp(player.prevPitch, -90.0F, 90.0F);
- }
-
- if (player.getVehicle() != null) {
- player.getVehicle().onPassengerLookAround(player);
- }
-
- KeyBinding[] keys = new KeyBinding[]{
- op.forwardKey,
- op.leftKey,
- op.backKey,
- op.rightKey,
- op.sprintKey,
- op.sneakKey,
- op.jumpKey
- };
-
- for (int i = 0; i < keys.length; i++) {
- if ((releasedInputs & 1 << i) != 0) {
- KeyBinding.setKeyPressed(((KeyBindingAccessor) keys[i]).getBoundKey(), false);
- }
- if ((pressedInputs & 1 << i) != 0) {
- KeyBinding.setKeyPressed(((KeyBindingAccessor) keys[i]).getBoundKey(), true);
- KeyBinding.onKeyPressed(((KeyBindingAccessor) keys[i]).getBoundKey());
- }
- }
-
- KeyBinding.setKeyPressed(((KeyBindingAccessor) op.attackKey).getBoundKey(), L > 0);
- for (int i = 0; i < L; i++)
- KeyBinding.onKeyPressed(((KeyBindingAccessor) op.attackKey).getBoundKey());
-
- KeyBinding.setKeyPressed(((KeyBindingAccessor) op.useKey).getBoundKey(), R > 0);
- for (int i = 0; i < R; i++)
- KeyBinding.onKeyPressed(((KeyBindingAccessor) op.useKey).getBoundKey());
-
- return true;
- }
-
- public boolean isF3Enabled() {
- return MinecraftClient.getInstance().getDebugHud().shouldShowDebugHud();
- }
-
- public void sendPacket(MPKPacket packet) {
- ClientPlayNetworking.send(new DataCustomPayload(packet.getData()));
- }
-
- public List getPressedButtons() {
- return new ArrayList<>(pressedButtons);
- }
-
- public void startSection(String name) {
- MinecraftClient.getInstance().getProfiler().push(name);
- }
-
- public void endStartSection(String name) {
- MinecraftClient.getInstance().getProfiler().swap(name);
- }
-
- public void endSection() {
- MinecraftClient.getInstance().getProfiler().pop();
- }
-}
diff --git a/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/MPKGuiScreen.java b/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/MPKGuiScreen.java
deleted file mode 100644
index 7dbb4b3c..00000000
--- a/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/MPKGuiScreen.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.Profiler;
-import io.github.kurrycat.mpkmod.util.MathUtil;
-import io.github.kurrycat.mpkmod.util.Vector2D;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.DrawContext;
-import net.minecraft.client.gui.screen.Screen;
-import net.minecraft.text.Text;
-
-public class MPKGuiScreen extends Screen {
- public io.github.kurrycat.mpkmod.gui.MPKGuiScreen eventReceiver;
-
- public MPKGuiScreen(io.github.kurrycat.mpkmod.gui.MPKGuiScreen screen) {
- super(Text.translatable(API.MODID + ".gui.title"));
- eventReceiver = screen;
- }
-
- public void init() {
- eventReceiver.onInit();
- }
-
- @Override
- public void resize(MinecraftClient client, int width, int height) {
- super.resize(client, width, height);
- eventReceiver.onResize(width, height);
- }
-
- public void render(DrawContext drawContext, int mouseX, int mouseY, float delta) {
- drawContext.getMatrices().push();
- API.getFunctionHolder().drawContext = drawContext;
- Profiler.startSection(eventReceiver.getID() == null ? "mpk_gui" : eventReceiver.getID());
- try {
- eventReceiver.drawScreen(new Vector2D(mouseX, mouseY), delta);
- } catch (Exception e) {
- API.LOGGER.warn("Error in drawScreen with id: " + eventReceiver.getID(), e);
- }
- Profiler.endSection();
- drawContext.getMatrices().pop();
- }
-
- public void close() {
- super.close();
- eventReceiver.onGuiClosed();
- }
-
- public boolean shouldPause() {
- return false;
- }
-
- public boolean mouseClicked(double mouseX, double mouseY, int state) {
- eventReceiver.onMouseClicked(new Vector2D(mouseX, mouseY), state);
- return super.mouseClicked(mouseX, mouseY, state);
- }
-
- public boolean mouseReleased(double mouseX, double mouseY, int state) {
- eventReceiver.onMouseReleased(new Vector2D(mouseX, mouseY), state);
- return super.mouseReleased(mouseX, mouseY, state);
- }
-
- public boolean mouseDragged(double mouseX, double mouseY, int clickedMouseButton, double moveX, double moveY) {
- eventReceiver.onMouseClickMove(new Vector2D(mouseX, mouseY), clickedMouseButton, 0);
- return super.mouseDragged(mouseX, mouseY, clickedMouseButton, moveX, moveY);
- }
-
- public boolean keyPressed(int keyCode, int scanCode, int modifiers) {
- eventReceiver.onKeyEvent(keyCode, scanCode, modifiers, false);
- return super.keyPressed(keyCode, scanCode, modifiers);
- }
-
- @Override
- public boolean charTyped(char c, int modifiers) {
- eventReceiver.onKeyEvent(c, 0, modifiers, true);
- return super.charTyped(c, modifiers);
- }
-
- @Override
- public boolean mouseScrolled(double mouseX, double mouseY, double horizontalAmount, double verticalAmount) {
- eventReceiver.onMouseScroll(
- new Vector2D(mouseX, mouseY),
- (int) (MathUtil.constrain(verticalAmount, -1, 1) * 7)
- );
- return super.mouseScrolled(mouseX, mouseY, horizontalAmount, verticalAmount);
- }
-}
diff --git a/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/MPKMod.java b/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/MPKMod.java
deleted file mode 100644
index 1c7f5feb..00000000
--- a/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/MPKMod.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import io.github.kurrycat.mpkmod.compatibility.MCClasses.KeyBinding;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21.network.DataCustomPayload;
-import io.github.kurrycat.mpknetapi.common.network.packet.MPKPacket;
-import net.fabricmc.api.ModInitializer;
-import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
-import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
-import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents;
-import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
-import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback;
-import net.minecraft.SharedConstants;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.util.math.MatrixStack;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class MPKMod implements ModInitializer {
- public static final MPKMod INSTANCE = new MPKMod();
- public static Map keyBindingMap = new HashMap<>();
- public final EventHandler eventHandler = new EventHandler();
- public MatrixStack matrixStack;
-
- @Override
- public void onInitialize() {
- // This code runs as soon as Minecraft is in a mod-load-ready state.
- // However, some things (like resources) may still be uninitialized.
- API.LOGGER.info("Loading " + API.NAME + " " + API.VERSION);
- API.preInit(getClass());
- registerKeybindingsFromGUIs();
-
- HudRenderCallback.EVENT.register(eventHandler::onInGameOverlayRender);
- ClientTickEvents.START_CLIENT_TICK.register(eventHandler::onClientTickStart);
- ClientTickEvents.END_CLIENT_TICK.register(eventHandler::onClientTickEnd);
- ClientPlayConnectionEvents.JOIN.register(eventHandler::onServerConnect);
- ClientPlayConnectionEvents.DISCONNECT.register(eventHandler::onServerDisconnect);
-
- DataCustomPayload.registerServerboundPayload();
- ClientPlayNetworking.registerGlobalReceiver(DataCustomPayload.registerClientboundPayload(), ((payload, context) -> {
- MPKPacket packet = MPKPacket.handle(API.PACKET_LISTENER_CLIENT, payload.data(), null);
- if (packet != null) {
- API.Events.onPluginMessage(packet);
- }
- }));
- }
-
- private void registerKeybindingsFromGUIs() {
- API.guiScreenMap.forEach((id, guiScreen) -> {
- if (guiScreen.shouldCreateKeyBind())
- registerKeyBinding(id);
- });
-
- API.keyBindingMap.forEach((id, consumer) -> registerKeyBinding(id));
- keyBindingMap.forEach((id, key) -> KeyBindingHelper.registerKeyBinding(key));
- }
-
- public void registerKeyBinding(String id) {
- net.minecraft.client.option.KeyBinding keyBinding = new net.minecraft.client.option.KeyBinding(
- API.MODID + ".key." + id + ".desc",
- -1,
- API.KEYBINDING_CATEGORY
- );
-
- keyBindingMap.put(id, keyBinding);
- }
-
- public void init() {
- API.LOGGER.info(API.COMPATIBILITY_MARKER, "Registering compatibility functions...");
- API.registerFunctionHolder(new FunctionCompatibility());
- API.LOGGER.info(API.COMPATIBILITY_MARKER, "Registered compatibility functions.");
-
- registerKeyBindings();
- API.init(SharedConstants.getGameVersion().getName());
-
- API.Events.onLoadComplete();
- }
-
- private void registerKeyBindings() {
- for (net.minecraft.client.option.KeyBinding k : MinecraftClient.getInstance().options.allKeys) {
- new io.github.kurrycat.mpkmod.compatibility.MCClasses.KeyBinding(
- () -> k.getBoundKeyLocalizedText().getString(),
- k.getTranslationKey(),
- k::isPressed
- );
- }
-
- API.LOGGER.info(API.COMPATIBILITY_MARKER, "Registered {} Keybindings", KeyBinding.getKeyMap().size());
- }
-}
diff --git a/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/mixin/GameRendererMixin.java b/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/mixin/GameRendererMixin.java
deleted file mode 100644
index 13073a89..00000000
--- a/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/mixin/GameRendererMixin.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21.mixin;
-
-import com.mojang.blaze3d.systems.RenderSystem;
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21.MPKMod;
-import net.minecraft.client.render.Camera;
-import net.minecraft.client.render.GameRenderer;
-import net.minecraft.client.render.RenderTickCounter;
-import net.minecraft.client.util.math.MatrixStack;
-import org.joml.Matrix4fStack;
-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(value = GameRenderer.class)
-public class GameRendererMixin {
- @Inject(at = @At(value = "INVOKE_STRING",
- target = "Lnet/minecraft/util/profiler/Profiler;swap(Ljava/lang/String;)V",
- args = "ldc=hand"),
- method = "renderWorld")
- public void render(RenderTickCounter tickCounter, CallbackInfo ci) {
- GameRenderer gameRenderer = (GameRenderer) (Object) this;
- Camera camera = gameRenderer.getCamera();
- Matrix4fStack matrixStack = RenderSystem.getModelViewStack();
- matrixStack.pushMatrix();
- matrixStack.rotateXYZ(camera.getPitch() * ((float) Math.PI / 180), camera.getYaw() * ((float) Math.PI / 180) + (float) Math.PI, 0.0f);
-
- MPKMod.INSTANCE.eventHandler.onRenderWorldOverlay(new MatrixStack(), tickCounter.getTickDelta(false));
-
- matrixStack.popMatrix();
- }
-}
diff --git a/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/mixin/KeyBindingAccessor.java b/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/mixin/KeyBindingAccessor.java
deleted file mode 100644
index ad96efba..00000000
--- a/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/mixin/KeyBindingAccessor.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21.mixin;
-
-import net.minecraft.client.option.KeyBinding;
-import net.minecraft.client.util.InputUtil;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.gen.Accessor;
-
-@Mixin(KeyBinding.class)
-public interface KeyBindingAccessor {
- @Accessor
- InputUtil.Key getBoundKey();
-}
diff --git a/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/mixin/KeyboardMixin.java b/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/mixin/KeyboardMixin.java
deleted file mode 100644
index 6da0fe93..00000000
--- a/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/mixin/KeyboardMixin.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21.mixin;
-
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21.MPKMod;
-import net.minecraft.client.Keyboard;
-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(Keyboard.class)
-public class KeyboardMixin {
- @Inject(method = "onKey", at = @At(value = "RETURN"))
- private void onKey(long window, int key, int scancode, int action, int modifiers, CallbackInfo ci) {
- if(key != -1) {
- MPKMod.INSTANCE.eventHandler.onKey(key, scancode, action);
- }
- }
-}
diff --git a/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/mixin/MinecraftClientMixin.java b/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/mixin/MinecraftClientMixin.java
deleted file mode 100644
index 3ed4083a..00000000
--- a/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/mixin/MinecraftClientMixin.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21.mixin;
-
-import io.github.kurrycat.mpkmod.compatibility.fabric_1_21.MPKMod;
-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 MinecraftClientMixin {
- @Inject(at = @At("TAIL"), method = "")
- private void init(CallbackInfo info) {
- MPKMod.INSTANCE.init();
- }
-}
diff --git a/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/mixin/MouseMixin.java b/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/mixin/MouseMixin.java
deleted file mode 100644
index 8cf1033f..00000000
--- a/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/mixin/MouseMixin.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21.mixin;
-
-import io.github.kurrycat.mpkmod.compatibility.API;
-import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.Mouse;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.Shadow;
-import org.spongepowered.asm.mixin.injection.At;
-import org.spongepowered.asm.mixin.injection.Inject;
-import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
-
-@Mixin(Mouse.class)
-public class MouseMixin {
- @Shadow
- private double cursorDeltaX;
- @Shadow
- private double cursorDeltaY;
- @Shadow
- private double x;
- @Shadow
- private double y;
-
- @Inject(method = "onCursorPos", at = @At(value = "TAIL"))
- private void onCursorPos(long window, double x, double y, CallbackInfo ci) {
- if (window == MinecraftClient.getInstance().getWindow().getHandle()) {
- API.Events.onMouseInput(
- io.github.kurrycat.mpkmod.util.Mouse.Button.NONE,
- io.github.kurrycat.mpkmod.util.Mouse.State.NONE,
- (int) x, (int) y, (int) cursorDeltaX, (int) -cursorDeltaY,
- 0, System.nanoTime()
- );
- }
- }
-
- @Inject(method = "onMouseScroll", at = @At(value = "TAIL"))
- private void onMouseScroll(long window, double horizontal, double vertical, CallbackInfo ci) {
- API.Events.onMouseInput(
- io.github.kurrycat.mpkmod.util.Mouse.Button.NONE,
- io.github.kurrycat.mpkmod.util.Mouse.State.NONE,
- (int) x, (int) y, 0, 0,
- (int) vertical, System.nanoTime()
- );
- }
-
- @Inject(method = "onMouseButton", at = @At(value = "TAIL"))
- private void onMouseButton(long window, int button, int action, int mods, CallbackInfo ci) {
- API.Events.onMouseInput(
- io.github.kurrycat.mpkmod.util.Mouse.Button.fromInt(button),
- button == -1 ? io.github.kurrycat.mpkmod.util.Mouse.State.NONE :
- (action == 1 ? io.github.kurrycat.mpkmod.util.Mouse.State.DOWN : io.github.kurrycat.mpkmod.util.Mouse.State.UP),
- (int) x, (int) y, 0, 0,
- 0, System.nanoTime()
- );
- }
-}
diff --git a/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/network/DataCustomPayload.java b/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/network/DataCustomPayload.java
deleted file mode 100644
index 2236956a..00000000
--- a/fabric-1.21/src/main/java/io/github/kurrycat/mpkmod/compatibility/fabric_1_21/network/DataCustomPayload.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package io.github.kurrycat.mpkmod.compatibility.fabric_1_21.network;
-
-import io.github.kurrycat.mpknetapi.common.MPKNetworking;
-import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry;
-import net.minecraft.network.PacketByteBuf;
-import net.minecraft.network.codec.PacketCodec;
-import net.minecraft.network.packet.CustomPayload;
-import net.minecraft.util.Identifier;
-
-public record DataCustomPayload(byte[] data) implements CustomPayload {
- public static final Id MPK_ID = new Id<>(Identifier.of(MPKNetworking.CHANNEL_NAMESPACE, MPKNetworking.CHANNEL_PATH));
-
- public static final PacketCodec CODEC = PacketCodec.of(
- (payload, buf) -> buf.writeBytes(payload.data()),
- buf -> {
- byte[] data = new byte[buf.readableBytes()];
- buf.readBytes(data);
- return new DataCustomPayload(data);
- }
- );
-
- @Override
- public Id extends CustomPayload> getId() {
- return MPK_ID;
- }
-
- public static Id registerClientboundPayload() {
- PayloadTypeRegistry.playS2C().register(MPK_ID, DataCustomPayload.CODEC);
- return MPK_ID;
- }
-
- public static Id registerServerboundPayload() {
- PayloadTypeRegistry.playC2S().register(MPK_ID, DataCustomPayload.CODEC);
- return MPK_ID;
- }
-}
\ No newline at end of file
diff --git a/fabric-1.21/src/main/resources/assets/mpkmod/icon.png b/fabric-1.21/src/main/resources/assets/mpkmod/icon.png
deleted file mode 100644
index 48bcd55b..00000000
Binary files a/fabric-1.21/src/main/resources/assets/mpkmod/icon.png and /dev/null differ
diff --git a/fabric-1.21/src/main/resources/assets/mpkmod/lang/en_US.lang b/fabric-1.21/src/main/resources/assets/mpkmod/lang/en_US.lang
deleted file mode 100644
index 6bb9fb6f..00000000
--- a/fabric-1.21/src/main/resources/assets/mpkmod/lang/en_US.lang
+++ /dev/null
@@ -1,6 +0,0 @@
-mpkmod.key.main_gui.desc=Open MPK Mod GUI
-mpkmod.key.lb_gui.desc=Open Landing Block GUI
-mpkmod.key.lb_set.desc=Set Landing Block
-mpkmod.key.options_gui.desc=Open Options GUI
-mpkmod.main_gui.title=MPK Mod GUI
-mpkmod.lb_gui.title=Landing Block GUI
\ No newline at end of file
diff --git a/fabric-1.21/src/main/resources/assets/mpkmod/lang/en_us.json b/fabric-1.21/src/main/resources/assets/mpkmod/lang/en_us.json
deleted file mode 100644
index 167f27be..00000000
--- a/fabric-1.21/src/main/resources/assets/mpkmod/lang/en_us.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "mpkmod.key.main_gui.desc": "Open MPK Mod GUI",
- "mpkmod.key.lb_gui.desc": "Open Landing Block GUI",
- "mpkmod.key.lb_set.desc": "Set Landing Block",
- "mpkmod.key.options_gui.desc": "Open Options GUI",
- "mpkmod.main_gui.title": "MPK Mod GUI",
- "mpkmod.lb_gui.title": "Landing Block GUI"
-}
\ No newline at end of file
diff --git a/fabric-1.21/src/main/resources/assets/mpkmod/lang/pl_pl.json b/fabric-1.21/src/main/resources/assets/mpkmod/lang/pl_pl.json
deleted file mode 100644
index 886d7746..00000000
--- a/fabric-1.21/src/main/resources/assets/mpkmod/lang/pl_pl.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "mpkmod.key.main_gui.desc": "Otwórz menu MPK",
- "mpkmod.key.lb_gui.desc": "Otwórz menu Bloku Lądowania",
- "mpkmod.key.lb_set.desc": "Ustaw Blok Lądowania",
- "mpkmod.key.options_gui.desc": "Otwórz menu opcji",
- "mpkmod.main_gui.title": "Menu MPK",
- "mpkmod.lb_gui.title": "Menu Bloku Lądowania"
-}
\ No newline at end of file
diff --git a/fabric-1.21/src/main/resources/assets/mpkmod/lang/pl_pl.lang b/fabric-1.21/src/main/resources/assets/mpkmod/lang/pl_pl.lang
deleted file mode 100644
index 0d946226..00000000
--- a/fabric-1.21/src/main/resources/assets/mpkmod/lang/pl_pl.lang
+++ /dev/null
@@ -1,6 +0,0 @@
-mpkmod.key.main_gui.desc=Otwórz menu MPK
-mpkmod.key.lb_gui.desc=Otwórz menu Bloku Lądowania
-mpkmod.key.lb_set.desc=Ustaw Blok Lądowania
-mpkmod.key.options_gui.desc=Otwórz menu opcji
-mpkmod.main_gui.title=Menu MPK
-mpkmod.lb_gui.title=Menu Bloku Lądowania
\ No newline at end of file
diff --git a/fabric-1.21/src/main/resources/fabric.mod.json b/fabric-1.21/src/main/resources/fabric.mod.json
deleted file mode 100644
index f3412194..00000000
--- a/fabric-1.21/src/main/resources/fabric.mod.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "schemaVersion": 1,
- "id": "mpkmod",
- "version": "${version}",
-
- "name": "MPK Mod",
- "description": "A Mod that adds some features that help parkour to the game.",
- "authors": [
- "kurrycat",
- "CodeKid0 (Fabric port)",
- "Contributors"
- ],
- "contact": {
- "sources": "https://github.com/kurrycat2004/MPKMod_2"
- },
-
- "license": "MIT",
- "icon": "assets/mpkmod/icon.png",
- "environment": "client",
- "entrypoints": {
- "main": [
- "io.github.kurrycat.mpkmod.compatibility.fabric_1_21.MPKMod"
- ]
- },
- "mixins": [
- "mpkmod.mixins.json"
- ],
-
- "depends": {
- "fabricloader": ">=0.15.11",
- "fabric-api": "*",
- "minecraft": "~1.21",
- "java": ">=21"
- },
- "suggests": {}
-}
diff --git a/fabric-1.21/src/main/resources/mpkmod.mixins.json b/fabric-1.21/src/main/resources/mpkmod.mixins.json
deleted file mode 100644
index 77fe20b1..00000000
--- a/fabric-1.21/src/main/resources/mpkmod.mixins.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "required": true,
- "minVersion": "0.8",
- "package": "io.github.kurrycat.mpkmod.compatibility.fabric_1_21.mixin",
- "compatibilityLevel": "JAVA_21",
- "mixins": [
- ],
- "client": [
- "GameRendererMixin",
- "KeyBindingAccessor",
- "KeyboardMixin",
- "MinecraftClientMixin",
- "MouseMixin"
- ],
- "injectors": {
- "defaultRequire": 1
- }
-}
diff --git a/forge-1.8.9/build.gradle b/forge-1.8.9/build.gradle
index a15cb1b2..d53502d8 100644
--- a/forge-1.8.9/build.gradle
+++ b/forge-1.8.9/build.gradle
@@ -1,5 +1,7 @@
plugins {
id 'xyz.wagyourtail.unimined' version '1.2.6'
+
+ id "me.modmuss50.mod-publish-plugin" version "0.8.4"
}
unimined.useGlobalCache = false
@@ -23,6 +25,7 @@ unimined.minecraft {
}
dependencies {
+ implementation "com.github.MPKMod.MPKNetworkAPI:common:main-SNAPSHOT"
}
processResources {
@@ -34,4 +37,22 @@ processResources {
filesMatching("mcmod.info") {
expand "version": project.version
}
+}
+
+publishMods {
+ file = remapJar.archiveFile
+ changelog = ""
+ type = STABLE
+ modLoaders.add("forge")
+
+ modrinth {
+ projectId = "412tAvWq"
+ accessToken = providers.environmentVariable("MODRINTH_TOKEN")
+ minecraftVersions.add("1.8.9")
+ }
+ github {
+ repository = "MPKMod/MPKMod2"
+ accessToken = providers.environmentVariable("GITHUB_TOKEN")
+ commitish = "main"
+ }
}
\ No newline at end of file
diff --git a/forge-1.8.9/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_8/MPKMod.java b/forge-1.8.9/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_8/MPKMod.java
index 93ea65eb..4aa798e4 100644
--- a/forge-1.8.9/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_8/MPKMod.java
+++ b/forge-1.8.9/src/main/java/io/github/kurrycat/mpkmod/compatibility/forge_1_8/MPKMod.java
@@ -5,7 +5,6 @@
import net.minecraft.client.Minecraft;
import net.minecraft.client.settings.GameSettings;
import net.minecraft.client.settings.KeyBinding;
-import net.minecraft.entity.EntityLivingBase;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.client.registry.ClientRegistry;
import net.minecraftforge.fml.common.Mod;
@@ -13,10 +12,7 @@
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLLoadCompleteEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
-import org.lwjgl.LWJGLUtil;
import org.lwjgl.input.Keyboard;
-import org.lwjgl.input.Mouse;
-import org.lwjgl.opengl.GL11;
import java.util.HashMap;
import java.util.Map;
diff --git a/network-api b/network-api
deleted file mode 160000
index 1aa48b68..00000000
--- a/network-api
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 1aa48b685ca9df2d6b074355bbb7d7148766e545
diff --git a/settings.gradle.kts b/settings.gradle.kts
index ac10af44..c4a9860e 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -22,16 +22,8 @@ plugins {
}
include("common")
-include("network-api:common")
if (System.getenv("JITPACK") == null) {
include("forge-1.8.9")
- include("fabric-1.19.4")
- include("fabric-1.20.4")
- include("fabric-1.20.6")
- include("fabric-1.21")
- include("fabric-1.21.3")
- include("fabric-1.21.5")
include("fabric-1.21.6")
- include("fabric-1.21.8")
}
\ No newline at end of file