22
33import com .mojang .blaze3d .platform .InputConstants ;
44import com .mojang .brigadier .CommandDispatcher ;
5+ import com .mojang .logging .LogUtils ;
56import dev .xpple .betterconfig .api .ModConfigBuilder ;
67import dev .xpple .seedmapper .command .arguments .DurationArgument ;
78import dev .xpple .seedmapper .command .arguments .MapFeatureArgument ;
4142import net .fabricmc .fabric .api .client .event .lifecycle .v1 .ClientTickEvents ;
4243import net .fabricmc .fabric .api .client .keybinding .v1 .KeyBindingHelper ;
4344import net .fabricmc .loader .api .FabricLoader ;
45+ import net .fabricmc .loader .api .ModContainer ;
4446import dev .xpple .seedmapper .util .CubiomesNative ;
4547import net .minecraft .client .KeyMapping ;
4648import net .minecraft .commands .CommandBuildContext ;
4749import net .minecraft .resources .Identifier ;
50+ import org .slf4j .Logger ;
4851
52+ import java .io .IOException ;
53+ import java .nio .file .Files ;
4954import java .nio .file .Path ;
55+ import java .nio .file .StandardCopyOption ;
5056import java .time .Duration ;
5157
5258public class SeedMapper implements ClientModInitializer {
@@ -55,6 +61,23 @@ public class SeedMapper implements ClientModInitializer {
5561
5662 public static final Path modConfigPath = FabricLoader .getInstance ().getConfigDir ().resolve (MOD_ID );
5763
64+ private static final Logger LOGGER = LogUtils .getLogger ();
65+
66+ public static final boolean BARITONE_AVAILABLE = FabricLoader .getInstance ().getModContainer ("baritone-meteor" ).isPresent ();
67+
68+ static {
69+ String libraryName = System .mapLibraryName ("cubiomes" );
70+ ModContainer modContainer = FabricLoader .getInstance ().getModContainer (MOD_ID ).orElseThrow ();
71+ Path tempFile ;
72+ try {
73+ tempFile = Files .createTempFile (libraryName , "" );
74+ Files .copy (modContainer .findPath (libraryName ).orElseThrow (), tempFile , StandardCopyOption .REPLACE_EXISTING );
75+ } catch (IOException e ) {
76+ throw new RuntimeException (e );
77+ }
78+ System .load (tempFile .toAbsolutePath ().toString ());
79+ }
80+
5881 @ Override
5982 public void onInitializeClient () {
6083 CubiomesNative .ensureLoaded ();
@@ -99,6 +122,12 @@ public void onInitializeClient() {
99122 RenderManager .registerEvents ();
100123 SeedMapMinimapManager .registerHud ();
101124 ManualWaypointCompassOverlay .registerHud ();
125+ MinimapManager .registerHudElement ();
126+
127+ if (BARITONE_AVAILABLE ) {
128+ LOGGER .info ("Baritone detected, Baritone integration will be available!" );
129+ LOGGER .info ("Set AutoMine to true to automatically mine certain blocks highlighted by `/sm:highlight`" );
130+ }
102131 }
103132
104133 private static void registerCommands (CommandDispatcher <FabricClientCommandSource > dispatcher , CommandBuildContext context ) {
0 commit comments