Working Neoforge support

Yay!
This commit is contained in:
Martin Prokoph
2024-07-18 14:28:30 +02:00
parent 0d2bd6e4cb
commit da467619cb
11 changed files with 233 additions and 56 deletions

View File

@@ -1,7 +1,6 @@
package eu.midnightdust.midnightcontrols.client.util.platform.fabric;
import net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen;
import net.minecraft.client.gui.widget.PressableWidget;
import net.minecraft.item.ItemGroup;
import java.util.List;
@@ -14,22 +13,4 @@ public class ItemGroupUtilImpl {
public static List<ItemGroup> getVisibleGroups(CreativeInventoryScreen screen) {
return (screen.getItemGroupsOnPage(screen.getCurrentPage()));
}
public static boolean cyclePage(boolean next, CreativeInventoryScreen screen) {
try {
return screen.children().stream().filter(element -> element instanceof PressableWidget)
.map(element -> (PressableWidget) element)
.filter(element -> element.getMessage() != null && element.getMessage().getContent() != null)
.anyMatch(element -> {
if (next && element.getMessage().getString().equals(">")) {
element.onPress();
return true;
} else if (element.getMessage().getString().equals("<")) {
element.onPress();
return true;
}
return false;
});
} catch (Exception ignored) {}
return false;
}
}

View File

@@ -52,18 +52,10 @@ public class MidnightControlsClientFabric implements ClientModInitializer {
});
ClientPlayConnectionEvents.DISCONNECT.register((handler, client) -> MidnightControlsClient.onLeave());
ClientTickEvents.START_CLIENT_TICK.register(MidnightControlsClient.reacharound::tick);
ClientTickEvents.START_CLIENT_TICK.register(MidnightControlsClient::onTick);
OpenScreenCallback.POST.register((client, screen) -> {
if (screen == null && MidnightControlsConfig.controlsMode == ControlsMode.TOUCHSCREEN) {
screen = new TouchscreenOverlay();
screen.init(client, client.getWindow().getScaledWidth(), client.getWindow().getScaledHeight());
client.skipGameRender = false;
client.currentScreen = screen;
} else if (screen != null) {
MidnightControlsClient.input.onScreenOpen(client, client.getWindow().getWidth(), client.getWindow().getHeight());
}
MidnightControlsClient.onScreenOpen(screen);
});
FabricLoader.getInstance().getModContainer(MidnightControlsConstants.NAMESPACE).ifPresent(modContainer -> {
ResourceManagerHelper.registerBuiltinResourcePack(id("bedrock"), modContainer, ResourcePackActivationType.NORMAL);