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 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 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 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 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 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