Added forge support + update architectury loom

This commit is contained in:
2024-01-19 12:17:31 +13:00
parent 7eab9daf0b
commit aa744b1362
14 changed files with 173 additions and 70 deletions

View File

@@ -1,23 +0,0 @@
package me.lucaslah.weatherchanger.fabric;
import me.lucaslah.weatherchanger.keybinding.Key;
import me.lucaslah.weatherchanger.keybinding.KeybindingManager;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
public class FabricKeybindingManager extends KeybindingManager {
@Override
public void registerKeys() {
for (Key key : getEntries()) {
KeyBindingHelper.registerKeyBinding(key.getKeyBinding());
}
ClientTickEvents.END_CLIENT_TICK.register(client -> {
for (Key key : getEntries()) {
if (key.isEnabled() && key.getKeyBinding().wasPressed()) {
key.onPress(client);
}
}
});
}
}

View File

@@ -1,13 +1,39 @@
package me.lucaslah.weatherchanger.fabric;
import me.lucaslah.weatherchanger.WeatherChanger;
import me.lucaslah.weatherchanger.command.Command;
import me.lucaslah.weatherchanger.keybinding.Key;
import me.lucaslah.weatherchanger.keybinding.KeybindingManager;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientLifecycleEvents;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
public class WeatherChangerFabric implements ClientModInitializer {
@Override
public void onInitializeClient() {
WeatherChanger.init(new WeatherChangerPlatformImpl());
ClientLifecycleEvents.CLIENT_STOPPING.register(client -> WeatherChanger.shutdown());
KeybindingManager keybindingManager = WeatherChanger.getKeybindingManager();
for (Key key : keybindingManager.getEntries()) {
KeyBindingHelper.registerKeyBinding(key.getKeyBinding());
}
ClientTickEvents.END_CLIENT_TICK.register(client -> {
for (Key key : keybindingManager.getEntries()) {
if (key.isEnabled() && key.getKeyBinding().wasPressed()) {
key.onPress(client);
}
}
});
ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> {
for (Command command : WeatherChanger.getCommandManager().getEntries()) {
command.register(dispatcher);
}
});
}
}

View File

@@ -1,7 +1,6 @@
package me.lucaslah.weatherchanger.fabric;
import me.lucaslah.weatherchanger.WeatherChangerPlatform;
import me.lucaslah.weatherchanger.keybinding.KeybindingManager;
import net.fabricmc.loader.api.FabricLoader;
import java.nio.file.Path;
@@ -11,9 +10,4 @@ public class WeatherChangerPlatformImpl implements WeatherChangerPlatform {
public Path getConfigDirectory() {
return FabricLoader.getInstance().getConfigDir();
}
@Override
public KeybindingManager getKeybindingManager() {
return new FabricKeybindingManager();
}
}