Skip to content

Commit 6c38dfd

Browse files
committed
Re-add controller support with midnightcontrols. Also adds config option to enable/disable smallinv.
Includes patch to midnightcontrols to ignore slots that are disabled
1 parent f5c8c07 commit 6c38dfd

File tree

17 files changed

+139
-64
lines changed

17 files changed

+139
-64
lines changed

build.gradle

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,20 @@ repositories {
1515
maven { url 'https://aperlambda.github.io/maven' }
1616
maven { url 'https://maven.terraformersmc.com/' }
1717
maven { url = "https://maven.kyrptonaught.dev" }
18+
19+
maven {
20+
name 'Gegy'
21+
url 'https://maven.gegy.dev'
22+
}
23+
maven {
24+
name 'CottonMC'
25+
url 'https://server.bbkr.space/artifactory/libs-snapshot'
26+
}
27+
maven { url 'https://maven.kosmx.dev' }
28+
maven { url 'https://maven.shedaniel.me/' }
29+
maven { url 'https://jitpack.io' }
30+
maven { url "https://api.modrinth.com/maven" }
31+
maven { url 'https://maven.quiltmc.org/repository/release'}
1832
}
1933

2034
loom {
@@ -31,12 +45,19 @@ dependencies {
3145
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
3246

3347
//modImplementation "dev.lambdaurora:lambdacontrols:1.7.1+1.17"
48+
optionalDependency('eu.midnightdust:midnightcontrols:1.0.0-1.18')
3449

35-
modImplementation('net.kyrptonaught:kyrptconfig:1.4.4-1.18')
3650

51+
modImplementation('net.kyrptonaught:kyrptconfig:1.4.4-1.18')
3752
include('net.kyrptonaught:kyrptconfig:1.4.4-1.18')
3853
}
3954

55+
def optionalDependency(String dep) {
56+
dependencies.modImplementation (dep) {
57+
exclude module: "RoughlyEnoughItems-runtime-fabric"
58+
}
59+
}
60+
4061
processResources {
4162
inputs.property "version", project.version
4263

gradle.properties

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@ org.gradle.jvmargs=-Xmx4G
22

33
minecraft_version=1.18.2
44
yarn_mappings=1.18.2+build.3:v2
5-
loader_version=0.14.5
5+
loader_version=0.14.6
66

77
#Fabric api
8-
fabric_version=0.51.1+1.18.2
8+
fabric_version=0.53.0+1.18.2
99

1010
# Mod Properties
11-
mod_version=0.0.7-1.18
11+
mod_version=0.0.8-1.18
1212
maven_group=net.kyrptonaught
1313
archives_base_name=lemclienthelper
1414

src/main/java/net/kyrptonaught/lemclienthelper/LEMClientHelperMod.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22

33
import net.fabricmc.api.ClientModInitializer;
44
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
5+
import net.fabricmc.loader.api.FabricLoader;
56
import net.kyrptonaught.kyrptconfig.config.ConfigManager;
67
import net.kyrptonaught.lemclienthelper.ResourcePreloader.ResourcePreloader;
78
import net.kyrptonaught.lemclienthelper.SmallInv.SmallInvInit;
9+
import net.kyrptonaught.lemclienthelper.TakeEverything.LambdControlsCompat;
810
import net.minecraft.client.option.KeyBinding;
911
import net.minecraft.client.util.InputUtil;
1012
import org.lwjgl.glfw.GLFW;
@@ -19,10 +21,12 @@ public class LEMClientHelperMod implements ClientModInitializer {
1921
public void onInitializeClient() {
2022
takeEverythingKey = KeyBindingHelper.registerKeyBinding(new KeyBinding(MOD_ID + ".key.takeeverything", InputUtil.Type.MOUSE, GLFW.GLFW_MOUSE_BUTTON_3, MOD_ID + ".key.category.lemclienthelper"));
2123
ResourcePreloader.init();
22-
configManager.load();
23-
// if (FabricLoader.getInstance().isModLoaded("lambdacontrols"))
24-
//LambdControlsCompat.register();
2524
SmallInvInit.init();
25+
26+
// if (FabricLoader.getInstance().isModLoaded("lambdacontrols"))
27+
if (FabricLoader.getInstance().isModLoaded("midnightcontrols"))
28+
LambdControlsCompat.register();
29+
configManager.load();
2630
}
2731

2832
public static boolean isKeybindPressed(int pressedKeyCode, boolean isMouse) {

src/main/java/net/kyrptonaught/lemclienthelper/ResourcePreloader/AllPacks.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import net.minecraft.util.ProgressListener;
77

88
import java.io.File;
9-
import java.net.HttpURLConnection;
109
import java.util.ArrayList;
1110
import java.util.List;
1211

@@ -23,9 +22,6 @@ enum PACKCOMPATIBILITY {
2322
public String hash;
2423
public File downloadedFile;
2524
public PACKCOMPATIBILITY packCompatibility = PACKCOMPATIBILITY.BOTH;
26-
27-
public transient HttpURLConnection MIXINISBEINGDUMB;
28-
2925
public transient Progress progressListener = new Progress(this);
3026

3127
}

src/main/java/net/kyrptonaught/lemclienthelper/ResourcePreloader/ResourcePreloader.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package net.kyrptonaught.lemclienthelper.ResourcePreloader;
22

33
import blue.endless.jankson.Jankson;
4+
import com.google.common.collect.Lists;
45
import com.google.common.collect.Maps;
56
import com.google.common.hash.Hashing;
67
import net.kyrptonaught.lemclienthelper.LEMClientHelperMod;
@@ -12,11 +13,14 @@
1213
import net.minecraft.text.LiteralText;
1314
import net.minecraft.text.TranslatableText;
1415
import org.apache.commons.codec.digest.DigestUtils;
16+
import org.apache.commons.io.FileUtils;
1517
import org.apache.commons.io.IOUtils;
18+
import org.apache.commons.io.filefilter.TrueFileFilter;
1619

1720
import java.io.File;
1821
import java.io.IOException;
1922
import java.net.URL;
23+
import java.util.ArrayList;
2024
import java.util.Locale;
2125
import java.util.Map;
2226

@@ -48,6 +52,16 @@ public static void getPackList() {
4852
}
4953
}
5054

55+
public static void deletePacks() {
56+
try {
57+
ArrayList<File> list = Lists.newArrayList(FileUtils.listFiles(new File(MinecraftClient.getInstance().runDirectory, "server-resource-packs"), TrueFileFilter.TRUE, null));
58+
for (File file : list) {
59+
FileUtils.deleteQuietly(file);
60+
}
61+
} catch (Exception ignored) {
62+
}
63+
}
64+
5165
public static void downloadPacks() {
5266
downloadsComplete = false;
5367
startTime = System.currentTimeMillis();
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package net.kyrptonaught.lemclienthelper.SmallInv;
2+
3+
import net.kyrptonaught.kyrptconfig.config.AbstractConfigFile;
4+
5+
public class SmallInvConfig implements AbstractConfigFile {
6+
7+
public boolean enabled = true;
8+
9+
}

src/main/java/net/kyrptonaught/lemclienthelper/SmallInv/SmallInvInit.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,14 @@
1212
import java.util.HashMap;
1313

1414
public class SmallInvInit {
15+
16+
public static String MOD_ID = "smallinv";
1517
public static HashMap<Integer, Pair<Integer, Integer>> SMALLINVSLOTS = new HashMap<>();
1618

1719
public static KeyBinding closeSmallInvKey;
1820

1921
public static void init() {
22+
LEMClientHelperMod.configManager.registerFile(MOD_ID, new SmallInvConfig());
2023
closeSmallInvKey = KeyBindingHelper.registerKeyBinding(new KeyBinding(LEMClientHelperMod.MOD_ID + ".key.closesmallinv", InputUtil.Type.KEYSYM, GLFW.GLFW_KEY_I, LEMClientHelperMod.MOD_ID + ".key.category.lemclienthelper"));
2124

2225
registerSmallSlot(5, 55, 9);
@@ -35,8 +38,15 @@ public static void init() {
3538
registerSmallSlot(44, 152, 99);
3639
}
3740

41+
public static SmallInvConfig getConfig() {
42+
return (SmallInvConfig) LEMClientHelperMod.configManager.getConfig(MOD_ID);
43+
}
44+
3845
public static boolean isSmallInv(PlayerEntity player) {
3946
//if (true) return true;
47+
if (!getConfig().enabled) return false;
48+
49+
//give @p knowledge_book{display:{Name:'{"text":" "}'},SmallInv:1,CustomModelData:1}
4050
for (ItemStack itemStack : player.getInventory().main) {
4151
if (itemStack.hasNbt() && itemStack.getNbt().contains("SmallInv") && itemStack.getNbt().getInt("SmallInv") == 1)
4252
return true;

src/main/java/net/kyrptonaught/lemclienthelper/SmallInv/SmallInvScreen.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@
77
import net.minecraft.client.render.GameRenderer;
88
import net.minecraft.client.util.math.MatrixStack;
99
import net.minecraft.entity.player.PlayerEntity;
10-
import net.minecraft.screen.GenericContainerScreenHandler;
1110
import net.minecraft.screen.PlayerScreenHandler;
12-
import net.minecraft.screen.ScreenHandler;
1311
import net.minecraft.text.TranslatableText;
1412
import net.minecraft.util.Identifier;
1513

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
package net.kyrptonaught.lemclienthelper.TakeEverything;
2-
/*
3-
import dev.lambdaurora.lambdacontrols.client.LambdaControlsClient;
4-
import dev.lambdaurora.lambdacontrols.client.compat.CompatHandler;
5-
import dev.lambdaurora.lambdacontrols.client.compat.LambdaControlsCompat;
6-
import dev.lambdaurora.lambdacontrols.client.controller.ButtonBinding;
7-
import dev.lambdaurora.lambdacontrols.client.controller.PressAction;
2+
3+
import eu.midnightdust.midnightcontrols.client.MidnightControlsClient;
4+
import eu.midnightdust.midnightcontrols.client.compat.CompatHandler;
5+
import eu.midnightdust.midnightcontrols.client.compat.MidnightControlsCompat;
6+
import eu.midnightdust.midnightcontrols.client.controller.ButtonBinding;
7+
import eu.midnightdust.midnightcontrols.client.controller.PressAction;
8+
import net.kyrptonaught.lemclienthelper.LEMClientHelperMod;
89
import net.minecraft.screen.PlayerScreenHandler;
910
import net.minecraft.util.Identifier;
1011
import org.jetbrains.annotations.NotNull;
1112
import org.lwjgl.glfw.GLFW;
1213

1314

15+
1416
public class LambdControlsCompat implements CompatHandler {
1517

1618
public static void register() {
17-
LambdaControlsCompat.registerCompatHandler(new LambdControlsCompat());
19+
MidnightControlsCompat.registerCompatHandler(new LambdControlsCompat());
1820
}
1921

2022
private static final PressAction TAKE_EVERYTHING = (client, button, value, action) -> {
@@ -26,8 +28,8 @@ public static void register() {
2628
};
2729

2830
@Override
29-
public void handle(@NotNull LambdaControlsClient mod) {
30-
new ButtonBinding.Builder(new Identifier(LEMClientHelperMod.MOD_ID, "takeeverything"))
31+
public void handle(@NotNull MidnightControlsClient mod) {
32+
new ButtonBinding.Builder(LEMClientHelperMod.MOD_ID+".takeeverything")
3133
.buttons(GLFW.GLFW_GAMEPAD_BUTTON_LEFT_THUMB)
3234
.onlyInInventory()
3335
.action(TAKE_EVERYTHING)
@@ -36,6 +38,4 @@ public void handle(@NotNull LambdaControlsClient mod) {
3638
//.linkKeybind(LEBClientHelperMod.takeEverythingKey)
3739
.register();
3840
}
39-
}
40-
41-
*/
41+
}

src/main/java/net/kyrptonaught/lemclienthelper/config/ModMenuIntegration.java

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import net.kyrptonaught.lemclienthelper.ResourcePreloader.AllPacks;
1010
import net.kyrptonaught.lemclienthelper.ResourcePreloader.ResourcePreloader;
1111
import net.kyrptonaught.lemclienthelper.ResourcePreloader.ResourcePreloaderConfig;
12+
import net.kyrptonaught.lemclienthelper.SmallInv.SmallInvInit;
1213
import net.minecraft.client.MinecraftClient;
1314
import net.minecraft.client.font.TextRenderer;
1415
import net.minecraft.client.gui.screen.Screen;
@@ -28,31 +29,39 @@ public ConfigScreenFactory<?> getModConfigScreenFactory() {
2829
LEMClientHelperMod.configManager.save();
2930
});
3031

31-
ConfigSection displaySection = new ConfigSection(configScreen, new TranslatableText("key.lemclienthelper.resourcepreloader"));
32+
ConfigSection rplSection = new ConfigSection(configScreen, new TranslatableText("key.lemclienthelper.resourcepreloader"));
3233

33-
displaySection.addConfigItem(new TextItem(new TranslatableText("key.lemclienthelper.downloadurl"), config.URL, ResourcePreloaderConfig.DEFAULT_URL).setMaxLength(1024).setSaveConsumer(val -> config.URL = val));
34-
displaySection.addConfigItem(new BooleanItem(new TranslatableText("key.lemclienthelper.allowOptifine"), config.allowOptifine, false).setSaveConsumer(val -> config.allowOptifine = val));
35-
displaySection.addConfigItem(new BooleanItem(new TranslatableText("key.lemclienthelper.multiDownload"), config.multiDownload, true).setSaveConsumer(val -> config.multiDownload = val));
36-
displaySection.addConfigItem(new BooleanItem(new TranslatableText("key.lemclienthelper.toastcomplete"), config.toastComplete, true).setSaveConsumer(val -> config.toastComplete = val));
34+
rplSection.addConfigItem(new TextItem(new TranslatableText("key.lemclienthelper.downloadurl"), config.URL, ResourcePreloaderConfig.DEFAULT_URL).setMaxLength(1024).setSaveConsumer(val -> config.URL = val));
35+
rplSection.addConfigItem(new BooleanItem(new TranslatableText("key.lemclienthelper.allowOptifine"), config.allowOptifine, false).setSaveConsumer(val -> config.allowOptifine = val));
36+
rplSection.addConfigItem(new BooleanItem(new TranslatableText("key.lemclienthelper.multiDownload"), config.multiDownload, true).setSaveConsumer(val -> config.multiDownload = val));
37+
rplSection.addConfigItem(new BooleanItem(new TranslatableText("key.lemclienthelper.toastcomplete"), config.toastComplete, true).setSaveConsumer(val -> config.toastComplete = val));
38+
39+
rplSection.addConfigItem(new ButtonItem(new TranslatableText("key.lemclienthelper.deletePacks")).setClickEvent(() -> {
40+
configScreen.save();
41+
ResourcePreloader.deletePacks();
42+
}));
3743

3844
SubItem<?> sub = new SubItem<>(new TranslatableText("key.lemclienthelper.packdownloads"), true);
3945

40-
displaySection.addConfigItem(new ButtonItem(new TranslatableText("key.lemclienthelper.previewList")).setClickEvent(() -> {
46+
rplSection.addConfigItem(new ButtonItem(new TranslatableText("key.lemclienthelper.previewList")).setClickEvent(() -> {
4147
configScreen.save();
4248
ResourcePreloader.getPackList();
4349
addPacksToSub(sub);
4450
}));
4551

46-
displaySection.addConfigItem(new ButtonItem(new TranslatableText("key.lemclienthelper.startdownload")).setClickEvent(() -> {
52+
rplSection.addConfigItem(new ButtonItem(new TranslatableText("key.lemclienthelper.startdownload")).setClickEvent(() -> {
4753
configScreen.save();
4854
ResourcePreloader.getPackList();
4955
ResourcePreloader.downloadPacks();
5056
addPacksToSub(sub);
5157
}));
5258

53-
displaySection.addConfigItem(sub);
59+
rplSection.addConfigItem(sub);
5460
addPacksToSub(sub);
5561

62+
ConfigSection smallInvSection = new ConfigSection(configScreen, new TranslatableText("key.lemclienthelper.smallinv"));
63+
smallInvSection.addConfigItem(new BooleanItem(new TranslatableText("key.lemclienthelper.smallinv.enabled"), SmallInvInit.getConfig().enabled, true).setSaveConsumer(val -> SmallInvInit.getConfig().enabled = val));
64+
5665
return configScreen;
5766
};
5867
}

0 commit comments

Comments
 (0)