Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
25d30ab
port build environment to 26.1
Mithi83 Aug 20, 2026
512c482
NonnullDefault -> NullMarked
Mithi83 Aug 20, 2026
09596c4
GuiGraphics -> GuiGraphicsExtractor
Mithi83 Aug 20, 2026
d8741bc
drawString -> text
Mithi83 Aug 20, 2026
c29d148
renderWidget -> extractWidgetRenderState
Mithi83 Aug 20, 2026
6300eea
fixup extractWidgetRenderState -> extractContents
Mithi83 Aug 20, 2026
e8ff754
ClickType -> ContainerInput
Mithi83 Aug 20, 2026
2875d0a
ResourceLocation -> Identifier
Mithi83 Aug 20, 2026
fe26102
replace InteractionResult.sidedSuccess
Mithi83 Aug 20, 2026
7be73b9
PacketDistributor.sendToServer -> ClientPacketDistributor.sendToServer
Mithi83 Aug 20, 2026
6047cdb
isValidClickButton signature changed
Mithi83 Aug 20, 2026
f5b2b00
appeng.init.client.InitScreens moved
Mithi83 Aug 20, 2026
6664bda
keyPressed signature changed
Mithi83 Aug 20, 2026
4a28ece
Screen.hasShiftDown -> Minecraft.getInstance().hasShiftDown()
Mithi83 Aug 20, 2026
db597c2
level.isClientSide -> level.isClientSide()
Mithi83 Aug 20, 2026
3a7013a
move metalProps to match AE2 code
Mithi83 Aug 21, 2026
4c421ef
REVIEW NEEDED- charTyped signature changed
Mithi83 Aug 20, 2026
9d7c124
REVIEW NEEDED - mouseClicked signature changed
Mithi83 Aug 20, 2026
ceec9a5
REVIEW NEEDED - adapt recipes
Mithi83 Aug 22, 2026
e357ab6
REVIEW NEEDED - item models
Mithi83 Aug 21, 2026
fcf7566
REVIEW NEEDED - OnlyIn no longer available
Mithi83 Aug 20, 2026
5fc1b6d
TODO - part models are now JSON and there is no datagen
Mithi83 Aug 21, 2026
492ab21
TODO - RequesterBlockEntity.java - why does this need the full path?
Mithi83 Aug 21, 2026
4a90885
TODO - GUI fixes
Mithi83 Aug 21, 2026
f867175
TODO - GUI hack for bg texture
Mithi83 Aug 21, 2026
7990586
TODO - RequestManager.java - TEMP added missing abstract overrides
Mithi83 Aug 21, 2026
8cc2502
remove unused imports from Registration.java
Mithi83 Aug 21, 2026
baf47aa
TODO - RequesterBlock.java - TEMP disable appendHoverText
Mithi83 Aug 21, 2026
98b2b7f
TODO - color handling seems to be no longer needed
Mithi83 Aug 22, 2026
531f28a
TODO - port ae2wtlib support - maybe needs improvement
Mithi83 Aug 20, 2026
b953fdb
TODO - rewrite data serialization
Mithi83 Aug 21, 2026
d479715
fix number field colors
Mithi83 Aug 28, 2026
d42515d
update Gradle
rlnt Sep 1, 2026
9a98b50
remove unused parchment mappings
rlnt Sep 1, 2026
ac5944c
enable JEI run config
rlnt Sep 1, 2026
5f5cb75
update MDG and enable doc download
rlnt Sep 1, 2026
073dc21
mark slot field accessors as mutable
rlnt Sep 1, 2026
d9f47f0
provide registry context to requester menu syncing
rlnt Sep 1, 2026
03e7e88
update java mixin compatibility level to 25
rlnt Sep 1, 2026
db0a451
migrate to jspecify nullable annotations
rlnt Sep 1, 2026
8ca33e2
move requester tooltip to custom block item
rlnt Sep 1, 2026
e6df36e
fix registration name clash and clean up file
rlnt Sep 1, 2026
adbe312
update loader minimum version
rlnt Sep 1, 2026
3ed12a4
fix ser/de not using proper defaults
rlnt Sep 1, 2026
7723823
separate requests between manager and config inventory
rlnt Sep 1, 2026
905d006
do not mark slots as drag and drop targets if locked
rlnt Sep 1, 2026
6f9ab9a
fix requester screen using wrong render pipeline for background
rlnt Sep 1, 2026
60dfbcd
add missing particle textures in terminal
rlnt Sep 1, 2026
2d9c0ab
clean up wtlib integration
rlnt Sep 1, 2026
3d69d68
fix texture name for front in requester model
rlnt Sep 1, 2026
ebb8810
improve sync packet logic
rlnt Sep 1, 2026
bf90f3d
update workflows
rlnt Sep 1, 2026
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
6 changes: 3 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
workflow_dispatch:
push:
branches:
- "1.21.1"
- "26.1"
tags-ignore:
- "**"
paths:
Expand All @@ -15,7 +15,7 @@ on:
- "**/build.yml"
pull_request:
branches:
- "1.21.1"
- "26.1"
paths:
- "gradle/**"
- "**.java"
Expand All @@ -32,4 +32,4 @@ jobs:
uses: AlmostReliable/.github/.github/workflows/build.yml@main
with:
java-distribution: "microsoft"
java-version: "21"
java-version: "25"
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
secrets: inherit
with:
java-distribution: "microsoft"
java-version: "21"
java-version: "25"
mod_name: "MERequester"
curseforge_id: "688367"
modrinth_id: "E6BFl96N"
Expand Down
15 changes: 9 additions & 6 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,18 +1,22 @@
plugins {
id("net.neoforged.moddev") version "2.0.141"
id("com.almostreliable.almostgradle") version "1.5.2"
id("net.neoforged.moddev") version "2.0.143"
id("com.almostreliable.almostgradle") version "2.3.2"
}

almostgradle.setup {
withSourcesJar = false
downloadSources = true
downloadJavadoc = true
}

neoForge {
runs {
configureEach {
systemProperties = mapOf(
"guideme.ae2.guide.sources" to file("guidebook").absolutePath,
"guideme.ae2.guide.sourcesNamespace" to almostgradle.modId,
systemProperties.putAll(
mapOf(
"guideme.ae2.guide.sources" to file("guidebook").absolutePath,
"guideme.ae2.guide.sourcesNamespace" to almostgradle.modId,
)
)
}

Expand All @@ -26,7 +30,6 @@ neoForge {
repositories {
mavenCentral()
maven("https://modmaven.dev")
mavenLocal()
}

dependencies {
Expand Down
17 changes: 7 additions & 10 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ group = com.almostreliable
modId = merequester
modName = ME Requester
modVersion = 1.4.3
minecraftVersion = 1.21.1
neoforgeVersion = 21.1.169
minecraftVersion = 26.1.2
neoforgeVersion = 26.1.2.81

# replacement properties
modAuthor = Almost Reliable
Expand All @@ -14,17 +14,14 @@ githubUser = AlmostReliable
githubRepo = merequester

# mod dependencies
aeVersion = 19.2.13
wtlibVersion = 19.2.5
aeVersion = 26.1.10-beta
wtlibVersion = 26.1.1-beta

# settings
neoForge.parchment.minecraftVersion = 1.21.1
neoForge.parchment.mappingsVersion = 2024.11.17
almostgradle.buildconfig.name = ModConstants
almostgradle.buildconfig = ModConstants
almostgradle.launchArgs.autoWorldJoin = true
almostgradle.recipeViewers.emi.runConfig = true
almostgradle.recipeViewers.emi.version = 1.1.21
almostgradle.recipeViewers.emi.minecraftVersion = 1.21.1
almostgradle.recipeViewers.jei.runConfig = true
almostgradle.recipeViewers.jei.version = 29.21.0.66

# gradle
org.gradle.vfs.watch = true
Expand Down
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase = GRADLE_USER_HOME
distributionPath = wrapper/dists
distributionUrl = https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip
distributionUrl = https\://services.gradle.org/distributions/gradle-9.5.1-bin.zip
networkTimeout = 10000
validateDistributionUrl = true
zipStoreBase = GRADLE_USER_HOME
Expand Down
11 changes: 4 additions & 7 deletions gradlew

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions gradlew.bat

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions src/main/java/com/almostreliable/merequester/MERequester.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.almostreliable.merequester;

import com.almostreliable.merequester.core.Config;
import com.almostreliable.merequester.core.Registration;
import com.almostreliable.merequester.core.ModRegistration;
import com.almostreliable.merequester.network.PacketHandler;

import net.neoforged.bus.api.IEventBus;
Expand All @@ -19,7 +19,7 @@ public final class MERequester {
public static final String TERMINAL_ID = "requester_terminal";

public MERequester(IEventBus modEventBus, ModContainer modContainer) {
Registration.init(modEventBus);
ModRegistration.init(modEventBus);
PacketHandler.init(modEventBus);
Config.init(modContainer);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,21 @@
import com.almostreliable.merequester.client.RequesterScreen;
import com.almostreliable.merequester.client.RequesterTerminalScreen;
import com.almostreliable.merequester.compat.wtlib.WirelessTerminalCompat;
import com.almostreliable.merequester.core.Registration;
import com.almostreliable.merequester.requester.RequesterMenu;
import com.almostreliable.merequester.terminal.RequesterTerminalMenu;

import net.minecraft.client.color.item.ItemColor;
import net.minecraft.util.FastColor;
import net.neoforged.api.distmarker.Dist;
import net.neoforged.bus.api.IEventBus;
import net.neoforged.fml.common.Mod;
import net.neoforged.neoforge.client.event.RegisterColorHandlersEvent;
import net.neoforged.neoforge.client.event.RegisterMenuScreensEvent;

import appeng.api.util.AEColor;
import appeng.client.render.StaticItemColor;
import appeng.init.client.InitScreens;
import appeng.client.InitScreens;

@Mod(value = ModConstants.MOD_ID, dist = Dist.CLIENT)
public final class MERequesterClient {

public MERequesterClient(IEventBus modEventBus) {
modEventBus.addListener(this::registerScreens);
modEventBus.addListener(this::registerColors);
}

@SuppressWarnings("RedundantTypeArguments")
Expand All @@ -39,11 +32,4 @@ InitScreens.<RequesterTerminalMenu, RequesterTerminalScreen<RequesterTerminalMen
WirelessTerminalCompat.INSTANCE.initClient(event);
}

private void registerColors(RegisterColorHandlersEvent.Item event) {
event.register(makeOpaque(new StaticItemColor(AEColor.TRANSPARENT)), Registration.REQUESTER_TERMINAL);
}

private static ItemColor makeOpaque(ItemColor itemColor) {
return (stack, tintIndex) -> FastColor.ARGB32.opaque(itemColor.getColor(stack, tintIndex));
}
}
6 changes: 3 additions & 3 deletions src/main/java/com/almostreliable/merequester/Utils.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import net.minecraft.ChatFormatting;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.MutableComponent;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.resources.Identifier;

import com.mojang.blaze3d.platform.InputConstants;

Expand All @@ -13,8 +13,8 @@ public final class Utils {

private Utils() {}

public static ResourceLocation getRL(String path) {
return ResourceLocation.fromNamespaceAndPath(ModConstants.MOD_ID, path);
public static Identifier getRL(String path) {
return Identifier.fromNamespaceAndPath(ModConstants.MOD_ID, path);
}

public static MutableComponent translate(String type, String key, Object... args) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@
import net.minecraft.ChatFormatting;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.ItemStack;
import net.neoforged.neoforge.network.PacketDistributor;
import net.neoforged.neoforge.client.network.ClientPacketDistributor;

import appeng.menu.slot.FakeSlot;

import org.jetbrains.annotations.Nullable;
import org.jspecify.annotations.Nullable;

import java.util.Collections;
import java.util.List;
Expand All @@ -27,7 +27,7 @@ public class RequestSlot extends FakeSlot {
private boolean isLocked;

public RequestSlot(RequestDisplay host, RequesterReference requesterReference, int slot, int x, int y) {
super(requesterReference.getRequestManager(), slot);
super(requesterReference.getRequestManager().getConfigInventory(), slot);
this.host = host;
this.requesterReference = requesterReference;
this.slot = slot;
Expand Down Expand Up @@ -82,6 +82,11 @@ public void setLocked(boolean locked) {

@Override
public void setFilterTo(ItemStack itemStack) {
PacketDistributor.sendToServer(new DragAndDropPacket(getRequesterReference().getRequesterId(), getSlot(), itemStack));
ClientPacketDistributor.sendToServer(new DragAndDropPacket(getRequesterReference().getRequesterId(), getSlot(), itemStack));
}

@Override
public boolean canSetFilterTo(ItemStack stack) {
return !isLocked && super.canSetFilterTo(stack);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,20 @@

import net.minecraft.client.renderer.Rect2i;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.resources.Identifier;
import net.minecraft.util.Mth;
import net.minecraft.world.entity.player.Inventory;

import appeng.client.gui.style.ScreenStyle;

import org.jetbrains.annotations.Nullable;
import org.jspecify.annotations.Nullable;

import java.util.Collections;
import java.util.Set;

public class RequesterScreen extends AbstractRequesterScreen<RequesterMenu> {

private static final ResourceLocation TEXTURE = Utils.getRL(String.format("textures/gui/%s.png", MERequester.REQUESTER_ID));
private static final Identifier TEXTURE = Utils.getRL(String.format("textures/gui/%s.png", MERequester.REQUESTER_ID));
private static final Rect2i FOOTER_BBOX = new Rect2i(0, 114, GUI_WIDTH, GUI_FOOTER_HEIGHT + 2);
private static final int MAX_ROW_COUNT = 10;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,11 @@
import com.almostreliable.merequester.requester.Request;
import com.almostreliable.merequester.terminal.RequesterTerminalMenu;

import net.minecraft.client.input.CharacterEvent;
import net.minecraft.client.input.MouseButtonEvent;
import net.minecraft.client.renderer.Rect2i;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.resources.Identifier;
import net.minecraft.world.entity.player.Inventory;

import appeng.api.config.Settings;
Expand All @@ -23,7 +25,7 @@
import appeng.core.localization.GuiText;
import com.google.common.collect.HashMultimap;

import org.jetbrains.annotations.Nullable;
import org.jspecify.annotations.Nullable;

import java.util.ArrayList;
import java.util.Collections;
Expand All @@ -36,7 +38,7 @@

public class RequesterTerminalScreen<T extends RequesterTerminalMenu> extends AbstractRequesterScreen<T> {

private static final ResourceLocation TEXTURE = Utils.getRL(String.format("textures/gui/%s.png", MERequester.TERMINAL_ID));
private static final Identifier TEXTURE = Utils.getRL(String.format("textures/gui/%s.png", MERequester.TERMINAL_ID));
private static final Rect2i FOOTER_BBOX = new Rect2i(0, 133, GUI_WIDTH, GUI_FOOTER_HEIGHT + 2);

private final HashMap<Long, RequesterReference> byId = new HashMap<>();
Expand All @@ -63,16 +65,16 @@ public RequesterTerminalScreen(
}

@Override
public boolean mouseClicked(double mX, double mY, int button) {
if (button == 1 && searchField.isMouseOver(mX, mY)) {
public boolean mouseClicked(MouseButtonEvent event, boolean doubleClick) {
if (event.button() == 1 && searchField.isMouseOver(event.x(), event.y())) {
searchField.setValue("");
}
return super.mouseClicked(mX, mY, button);
return super.mouseClicked(event, doubleClick);
}

@Override
public boolean charTyped(char character, int key) {
return character == ' ' && searchField.getValue().isEmpty() || super.charTyped(character, key);
public boolean charTyped(CharacterEvent event) {
return event.codepointAsString().equals(" ") && searchField.getValue().isEmpty() || super.charTyped(event);
}

@Override
Expand Down
Loading
Loading