This is a minor fix to the broadcastToGame method that makes URLs in IRC chat clickable in-game. This uses a Forge utility method which is also used by patched vanilla code. It is reliable and appears to correctly identify and link URLs as well as vanilla chat can, without breaking non-URL text.
Rationale
Players regularly share URLs in IRC chat (e.g. song of the day, FTB tutorials, etc) which in-game players have, frustratingly, been unable to click and navigate to.
Testing
Tested in development single-player environment with no runtime issues
Tested as built jar in forge-1.7.10-10.13.4.1448 local server with no compile or runtime issues
Out-of-scope fixes
This PR has two additional but unrelated changes, for the sake of improving dev environments:
The sourceCompatibility and targetCompatibility Gradle settings for enforcing Java language level were not picked up by my IntelliJ, as they were not in a compileJava block
UpdateChecker.java prevented single-player worlds from loading by throwing an ArrayIndexOutOfBoundsException, presumably due to a blank version string. I attempted to resolve this by making it a general Exception catch.
This is a minor fix to the
broadcastToGame
method that makes URLs in IRC chat clickable in-game. This uses a Forge utility method which is also used by patched vanilla code. It is reliable and appears to correctly identify and link URLs as well as vanilla chat can, without breaking non-URL text.Rationale
Players regularly share URLs in IRC chat (e.g. song of the day, FTB tutorials, etc) which in-game players have, frustratingly, been unable to click and navigate to.
Testing
forge-1.7.10-10.13.4.1448
local server with no compile or runtime issuesOut-of-scope fixes
This PR has two additional but unrelated changes, for the sake of improving dev environments:
sourceCompatibility
andtargetCompatibility
Gradle settings for enforcing Java language level were not picked up by my IntelliJ, as they were not in acompileJava
blockUpdateChecker.java
prevented single-player worlds from loading by throwing anArrayIndexOutOfBoundsException
, presumably due to a blank version string. I attempted to resolve this by making it a general Exception catch.