AnOpenSauceDev / FastRandom

A Minecraft Fabric Mod that makes the RNG system of Minecraft 100X faster
Apache License 2.0
48 stars 3 forks source link

[BUG]:Incompatibility with jdk 21.0.4 #50

Closed xboct02 closed 3 months ago

xboct02 commented 3 months ago

Does an issue already cover this?

Does your system support Faster Random?

Issue description.

In jdk 21.0.4, random number generators were redesigned, as a result of which the L64X128MixRandom used by the mod was deleted or changed, which led to incompatibility.

Issue replication.

Running minecraft on jdk 21.0.4 with fasterrandom latest version.

Log File / Crash Report (if applicable)

-- Crash --

org.quiltmc.loader.impl.FormattedException: java.lang.RuntimeException: Could not execute entrypoint stage 'preLaunch' due to errors, provided by 'faster-random'! at org.quiltmc.loader.impl.QuiltLoaderImpl.invokePreLaunch(QuiltLoaderImpl.java:1231) at org.quiltmc.loader.impl.launch.knot.Knot.init(Knot.java:175) at org.quiltmc.loader.impl.launch.knot.Knot.launch(Knot.java:78) at org.quiltmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:28) Caused by: java.lang.RuntimeException: Could not execute entrypoint stage 'preLaunch' due to errors, provided by 'faster-random'! at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.lambda$invoke0$2(EntrypointUtils.java:66) at org.quiltmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:34) at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:64) at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.invokeContainer(EntrypointUtils.java:49) at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.invoke(EntrypointUtils.java:36) at org.quiltmc.loader.impl.QuiltLoaderImpl.invokePreLaunch(QuiltLoaderImpl.java:1229) ... 3 more Caused by: java.awt.HeadlessException at java.desktop/sun.java2d.HeadlessGraphicsEnvironment.getDefaultScreenDevice(HeadlessGraphicsEnvironment.java:58) at java.desktop/sun.font.FontDesignMetrics.getDefaultFrc(FontDesignMetrics.java:157) at java.desktop/sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:274) at java.desktop/sun.swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:1242) at java.desktop/javax.swing.JComponent.getFontMetrics(JComponent.java:1700) at java.desktop/javax.swing.plaf.basic.BasicGraphicsUtils.getPreferredButtonSize(BasicGraphicsUtils.java:360) at java.desktop/javax.swing.plaf.basic.BasicButtonUI.getPreferredSize(BasicButtonUI.java:542) at java.desktop/javax.swing.plaf.basic.BasicButtonUI.getMinimumSize(BasicButtonUI.java:532) at java.desktop/javax.swing.JComponent.getMinimumSize(JComponent.java:1814) at java.desktop/javax.swing.plaf.basic.BasicOptionPaneUI.addButtonComponents(BasicOptionPaneUI.java:818) at java.desktop/javax.swing.plaf.basic.BasicOptionPaneUI.createButtonArea(BasicOptionPaneUI.java:751) at java.desktop/javax.swing.plaf.basic.BasicOptionPaneUI.installComponents(BasicOptionPaneUI.java:206) at java.desktop/javax.swing.plaf.basic.BasicOptionPaneUI.installUI(BasicOptionPaneUI.java:160) at java.desktop/javax.swing.JComponent.setUI(JComponent.java:740) at java.desktop/javax.swing.JOptionPane.setUI(JOptionPane.java:1858) at java.desktop/javax.swing.JOptionPane.updateUI(JOptionPane.java:1880) at java.desktop/javax.swing.JOptionPane.(JOptionPane.java:1845) at java.desktop/javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:869) at java.desktop/javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:677) at java.desktop/javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:648) at com.github.anopensaucedev.fasterrandom.FasterRandomPreLaunch.onPreLaunch(FasterRandomPreLaunch.java:12) at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.lambda$invoke$0(EntrypointUtils.java:36) at org.quiltmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:62) ... 6 more

xboct02 commented 3 months ago

I realized that the problem is in the "headless" version of java, I apologize if this is a duplicate.

AnOpenSauceDev commented 3 months ago

Yeah, the new RandomGenerator system is oddly absent from headless java.