Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,10 @@ jobs:
java-version: '17'
distribution: 'adopt'

- name: Set up JDK 21
- name: Set up JDK 25
uses: actions/setup-java@v5
with:
java-version: '21'
java-version: '25'
distribution: 'adopt'

- name: Setup Gradle
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,10 @@ jobs:
java-version: '17'
distribution: 'adopt'

- name: Set up JDK 21
- name: Set up JDK 25
uses: actions/setup-java@v5
with:
java-version: '21'
java-version: '25'
distribution: 'adopt'

- name: Setup Gradle
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ If you think that mpkmod should have a specific feature, encounter any bugs or i
- 1.8.9
- 1.12.2
* [Fabric](https://fabricmc.net/)
- 1.21.9
- 26.1

I aim to keep the mod updated for the latest version of minecraft. <br>
To use the mod with other versions please check out the [ViaFabricPlus](https://github.com/ViaVersion/ViaFabricPlus) project.
Expand All @@ -42,7 +42,7 @@ To use the mod with other versions please check out the [ViaFabricPlus](https://

### Installation

Download the version you want from [releases](https://github.com/kurrycat2004/MPKMod_2/releases). (See [snapshots](#snapshots) for how to download a snapshot version) <br>
Download the version you want from [releases](https://github.com/MPKMod/MPKMod2/releases/). (See [snapshots](#snapshots) for how to download a snapshot version) <br>
Then move the mod file (for example `mpkmod-2.0.0-pre.9-forge-1.8.9.jar`) into your [.minecraft](https://minecraft.wiki/w/.minecraft#Locating)/mods folder and start the game to use it. <br>

---
Expand Down Expand Up @@ -84,6 +84,6 @@ The landing mode is `Land` by default, which will compare the specified bounding
> [!IMPORTANT]
> GitHub only displays artifacts if you are logged in.

Go to [Actions](https://github.com/kurrycat2004/MPKMod_2/actions/workflows/gradle.yml?query=is%3Asuccess+branch%3Amaster),
Go to [Actions](https://github.com/MPKMod/MPKMod2/actions/workflows/build.yml?query=is%3Asuccess+branch%3Amaster),
click the build you want to download (first is newest) and scroll down to Artifacts.<br>
The zip file (`mpkmod.DATE-TIME.zip`) will contain the mod jar for every supported version.
21 changes: 16 additions & 5 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -109,11 +109,22 @@ configure(
if (project.name != "common") {
project.afterEvaluate {

remapJar {
inputFile.set project.jar.archiveFile
destinationDirectory = file("${rootProject.buildDir}/libs")
dependsOn project.jar
archiveFileName = project.jar.archiveFileName
if (project.tasks.findByName('remapJar')) {
remapJar {
inputFile.set project.jar.archiveFile
destinationDirectory = file("${rootProject.buildDir}/libs")
dependsOn project.jar
archiveFileName = project.jar.archiveFileName
}
} else {
jar {
doLast {
copy {
from archiveFile.get().asFile
into "${rootProject.buildDir}/libs"
}
}
}
}

// Fix unimined runs bug
Expand Down
1 change: 1 addition & 0 deletions fabric-1.21.11/.gitignore → fabric-26.1/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ bin/
# fabric

run/
remappedSrc/

# java

Expand Down
22 changes: 13 additions & 9 deletions fabric-1.21.11/build.gradle → fabric-26.1/build.gradle
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
plugins {
id 'fabric-loom' version "1.14-SNAPSHOT"
id 'net.fabricmc.fabric-loom' version "1.15-SNAPSHOT"

id "me.modmuss50.mod-publish-plugin" version "1.1.0"
}

loom.runs.client.runDir = "../runs/run"
loom {
accessWidenerPath = file("src/main/resources/mpkmod.classtweaker")

runs.client.runDir = "../runs/run"
}

repositories {
maven { url = "https://repo.viaversion.com" }
Expand All @@ -14,12 +18,12 @@ repositories {

dependencies {
minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings loom.officialMojangMappings()
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
implementation include("net.fabricmc:fabric-loader:${project.loader_version}")

implementation include("net.fabricmc.fabric-api:fabric-api:${project.fabric_version}")

modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
modCompileOnly "com.viaversion:viafabricplus-api:4.4.0"
modImplementation "com.terraformersmc:modmenu:17.0.0-beta.1"
compileOnly "com.viaversion:viafabricplus-api:4.4.8"
compileOnly "com.terraformersmc:modmenu:18.0.0-alpha.6"

implementation "com.github.MPKMod.MPKNetworkAPI:common:${project.networkApiVersion}"
}
Expand All @@ -33,7 +37,7 @@ processResources {
}

publishMods {
file = remapJar.archiveFile
file = jar.archiveFile
changelog = ""
type = STABLE
version = project.version
Expand All @@ -42,7 +46,7 @@ publishMods {
modrinth {
projectId = "412tAvWq"
accessToken = providers.environmentVariable("MODRINTH_TOKEN")
minecraftVersions.add("1.21.11")
minecraftVersions.add("26.1")
}
/*github {
repository = "MPKMod/MPKMod2"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ org.gradle.parallel=true

# Fabric Properties
# check these on https://fabricmc.net/develop
minecraft_version=1.21.11
loader_version=0.18.2
minecraft_version=26.1
loader_version=0.18.4

# Fabric API
fabric_version=0.139.5+1.21.11
fabric_version=0.144.0+26.1

jdkVersion=21
jdkVersion=25
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_11;
package io.github.kurrycat.mpkmod.compatibility.fabric_26_1;

import com.mojang.blaze3d.platform.InputConstants;
import com.mojang.blaze3d.vertex.PoseStack;
import io.github.kurrycat.mpkmod.compatibility.API;
import io.github.kurrycat.mpkmod.compatibility.MCClasses.Player;
import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_11.mixin.KeyMappingAccessor;
import io.github.kurrycat.mpkmod.compatibility.fabric_26_1.mixin.KeyMappingAccessor;
import io.github.kurrycat.mpkmod.ticks.ButtonMS;
import io.github.kurrycat.mpkmod.ticks.ButtonMSList;
import io.github.kurrycat.mpkmod.util.BoundingBox3D;
Expand All @@ -14,18 +14,16 @@
import net.minecraft.client.KeyMapping;
import net.minecraft.client.Minecraft;
import net.minecraft.client.Options;
import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.client.gui.GuiGraphicsExtractor;
import net.minecraft.client.input.KeyEvent;
import net.minecraft.client.input.MouseButtonInfo;
import net.minecraft.client.multiplayer.ClientPacketListener;
import net.minecraft.client.multiplayer.PlayerInfo;
import net.minecraft.client.player.LocalPlayer;
import net.minecraft.util.Util;
import net.minecraft.world.phys.AABB;
import net.minecraft.world.phys.Vec3;

import java.util.Map;
import java.util.Optional;

public class EventHandler {
private static final ButtonMSList timeQueue = new ButtonMSList();
Expand Down Expand Up @@ -114,7 +112,7 @@ private void checkKeyBinding(int keyCode) {
}
}

public void onInGameOverlayRender(GuiGraphics drawContext, DeltaTracker renderTickCounter) {
public void onInGameOverlayRender(GuiGraphicsExtractor drawContext, DeltaTracker renderTickCounter) {
drawContext.pose().pushMatrix();
API.<FunctionCompatibility>getFunctionHolder().drawContext = drawContext;
API.Events.onRenderOverlay();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_11;
package io.github.kurrycat.mpkmod.compatibility.fabric_26_1;

import com.mojang.blaze3d.pipeline.RenderPipeline;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import io.github.kurrycat.mpkmod.compatibility.MCClasses.*;
import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_11.mixin.KeyMappingAccessor;
import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_11.network.DataCustomPayload;
import io.github.kurrycat.mpkmod.compatibility.fabric_26_1.mixin.KeyMappingAccessor;
import io.github.kurrycat.mpkmod.compatibility.fabric_26_1.network.DataCustomPayload;
import io.github.kurrycat.mpkmod.gui.MPKGuiScreen;
import io.github.kurrycat.mpkmod.util.BoundingBox3D;
import io.github.kurrycat.mpkmod.util.Debug;
Expand All @@ -15,18 +15,16 @@
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
import net.minecraft.client.KeyMapping;
import net.minecraft.client.Options;
import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.client.gui.components.PlayerTabOverlay;
import net.minecraft.client.gui.GuiGraphicsExtractor;
import net.minecraft.client.gui.navigation.ScreenRectangle;
import net.minecraft.client.gui.render.TextureSetup;
import net.minecraft.client.gui.render.state.GuiElementRenderState;
import net.minecraft.client.gui.render.state.pip.PictureInPictureRenderState;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.client.multiplayer.PlayerInfo;
import net.minecraft.client.multiplayer.ServerData;
import net.minecraft.client.player.LocalPlayer;
import net.minecraft.client.renderer.RenderPipelines;
import net.minecraft.client.renderer.rendertype.RenderTypes;
import net.minecraft.client.renderer.state.gui.GuiElementRenderState;
import net.minecraft.client.renderer.state.gui.pip.PictureInPictureRenderState;
import net.minecraft.client.resources.sounds.SimpleSoundInstance;
import net.minecraft.core.BlockPos;
import net.minecraft.core.registries.BuiltInRegistries;
Expand All @@ -53,7 +51,7 @@ public class FunctionCompatibility implements FunctionHolder,
Keyboard.Interface,
Profiler.Interface {
public static final Set<Integer> pressedButtons = new HashSet<>();
public GuiGraphics drawContext = null;
public GuiGraphicsExtractor drawContext = null;

public void playButtonSound() {
net.minecraft.client.Minecraft.getInstance().getSoundManager().play(SimpleSoundInstance.forUI(SoundEvents.UI_BUTTON_CLICK, 1.0F));
Expand Down Expand Up @@ -107,8 +105,8 @@ public HashMap<String, String> getBlockProperties(Vector3D blockPos) {

BlockPos blockpos = new BlockPos(blockPos.getXI(), blockPos.getYI(), blockPos.getZI());
BlockState blockState = net.minecraft.client.Minecraft.getInstance().level.getBlockState(blockpos);
blockState.getValues().forEach((key, value) ->
properties.put(key.getName(), Util.getPropertyName(key, value))
blockState.getValues().forEach(value ->
properties.put(value.valueName(), Util.getPropertyName(value.property(), value)) //TODO: Check this
);
return null;
}
Expand Down Expand Up @@ -223,7 +221,7 @@ public void drawLines(Collection<Vector2D> points, Color color) {
var window = net.minecraft.client.Minecraft.getInstance().getWindow();
var bounds = new ScreenRectangle(0, 0, window.getGuiScaledWidth(), window.getGuiScaledHeight());

drawContext.guiRenderState.submitGuiElement(new PointsRenderState(
drawContext.guiRenderState.addGuiElement(new PointsRenderState(
points,
r, g, b, a,
PictureInPictureRenderState.getBounds(bounds.left(), bounds.top(), bounds.right(), bounds.bottom(), drawContext.scissorStack.peek()),
Expand Down Expand Up @@ -278,7 +276,7 @@ public void drawString(String text, double x, double y, Color color, double font
matrixStack.translate((float) x, (float) y);
double scale = fontSize / net.minecraft.client.Minecraft.getInstance().font.lineHeight;
matrixStack.scale((float) scale, (float) scale);
drawContext.drawString(
drawContext.text(
net.minecraft.client.Minecraft.getInstance().font, text,
0, 0, color.getRGB(), shadow
);
Expand Down Expand Up @@ -318,16 +316,16 @@ public void displayGuiScreen(MPKGuiScreen screen) {
net.minecraft.client.Minecraft.getInstance().setScreen(
screen == null
? null
: new io.github.kurrycat.mpkmod.compatibility.fabric_1_21_11.MPKGuiScreen(screen));
: new io.github.kurrycat.mpkmod.compatibility.fabric_26_1.MPKGuiScreen(screen));
}

public String getCurrentGuiScreen() {
Screen curr = net.minecraft.client.Minecraft.getInstance().screen;

if (curr == null)
return null;
else if (curr instanceof io.github.kurrycat.mpkmod.compatibility.fabric_1_21_11.MPKGuiScreen) {
String id = ((io.github.kurrycat.mpkmod.compatibility.fabric_1_21_11.MPKGuiScreen) curr).eventReceiver.getID();
else if (curr instanceof io.github.kurrycat.mpkmod.compatibility.fabric_26_1.MPKGuiScreen) {
String id = ((io.github.kurrycat.mpkmod.compatibility.fabric_26_1.MPKGuiScreen) curr).eventReceiver.getID();
if (id == null)
id = "unknown";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_11;
package io.github.kurrycat.mpkmod.compatibility.fabric_26_1;

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.Minecraft;
import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.client.gui.GuiGraphicsExtractor;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.client.input.CharacterEvent;
import net.minecraft.client.input.KeyEvent;
Expand All @@ -32,7 +31,7 @@ public void resize(int width, int height) {
}

@Override
public void render(GuiGraphics drawContext, int mouseX, int mouseY, float delta) {
public void extractBackground(GuiGraphicsExtractor drawContext, int mouseX, int mouseY, float delta) {
drawContext.pose().pushMatrix();
API.<FunctionCompatibility>getFunctionHolder().drawContext = drawContext;
Profiler.startSection(eventReceiver.getID() == null ? "mpk_gui" : eventReceiver.getID());
Expand Down Expand Up @@ -82,7 +81,7 @@ public boolean keyPressed(KeyEvent input) {

@Override
public boolean charTyped(CharacterEvent input) {
eventReceiver.onKeyEvent(input.codepoint(), 0, input.modifiers(), true);
eventReceiver.onKeyEvent(input.codepoint(), 0, 0, true);
return super.charTyped(input);
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_11;
package io.github.kurrycat.mpkmod.compatibility.fabric_26_1;

import com.mojang.blaze3d.vertex.PoseStack;
import com.viaversion.viafabricplus.ViaFabricPlus;
import com.viaversion.viafabricplus.api.ViaFabricPlusBase;
import io.github.kurrycat.mpkmod.compatibility.API;
import io.github.kurrycat.mpkmod.compatibility.MCClasses.KeyBinding;
import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_11.network.DataCustomPayload;
import io.github.kurrycat.mpkmod.compatibility.fabric_26_1.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.keymapping.v1.KeyMappingHelper;
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.hud.HudElementRegistry;
Expand Down Expand Up @@ -75,7 +75,7 @@ private void registerKeybindingsFromGUIs() {
});

API.keyBindingMap.forEach((id, consumer) -> registerKeyBinding(id));
keyBindingMap.forEach((id, key) -> KeyBindingHelper.registerKeyBinding(key));
keyBindingMap.forEach((id, key) -> KeyMappingHelper.registerKeyMapping(key));
}

public void registerKeyBinding(String id) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_11;
package io.github.kurrycat.mpkmod.compatibility.fabric_26_1;

import com.terraformersmc.modmenu.api.ConfigScreenFactory;
import com.terraformersmc.modmenu.api.ModMenuApi;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_11.mixin;
package io.github.kurrycat.mpkmod.compatibility.fabric_26_1.mixin;

import com.mojang.blaze3d.platform.InputConstants;
import net.minecraft.client.KeyMapping;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_11.mixin;
package io.github.kurrycat.mpkmod.compatibility.fabric_26_1.mixin;

import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_11.MPKMod;
import io.github.kurrycat.mpkmod.compatibility.fabric_26_1.MPKMod;
import net.minecraft.client.KeyboardHandler;
import net.minecraft.client.input.KeyEvent;
import org.spongepowered.asm.mixin.Mixin;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
package io.github.kurrycat.mpkmod.compatibility.fabric_1_21_11.mixin;
package io.github.kurrycat.mpkmod.compatibility.fabric_26_1.mixin;

import com.mojang.blaze3d.vertex.PoseStack;
import io.github.kurrycat.mpkmod.compatibility.fabric_1_21_11.MPKMod;
import io.github.kurrycat.mpkmod.compatibility.fabric_26_1.MPKMod;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.LevelRenderer;
import net.minecraft.client.renderer.SubmitNodeStorage;
import net.minecraft.client.renderer.state.LevelRenderState;
import net.minecraft.client.renderer.state.level.LevelRenderState;
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 = LevelRenderer.class)
@Mixin(LevelRenderer.class)
public class LevelRendererMixin {
@Inject(method = "submitBlockEntities", at = @At("HEAD"))
public void render(PoseStack matrices, LevelRenderState renderState, SubmitNodeStorage orderedRenderCommandQueueImpl, CallbackInfo ci) {
public void render(PoseStack poseStack, LevelRenderState levelRenderState, SubmitNodeStorage submitNodeStorage, CallbackInfo ci) {
MPKMod.INSTANCE.eventHandler.onRenderWorldOverlay(
new PoseStack(),
Minecraft.getInstance().getDeltaTracker().getGameTimeDeltaPartialTick(true)
Expand Down
Loading
Loading