mirror of
https://github.com/neoforged/NeoForge.git
synced 2026-10-12 02:19:42 +00:00
Co-authored-by: XFactHD <[email protected]> Co-authored-by: Technici4n <[email protected]> Co-authored-by: sciwhiz12 <[email protected]> Co-authored-by: Matyrobbrt <[email protected]> Co-authored-by: Marc Hermans <[email protected]> Co-authored-by: Sara Freimer <[email protected]>
71 lines
3.4 KiB
Diff
71 lines
3.4 KiB
Diff
--- a/net/minecraft/client/Options.java
|
|
+++ b/net/minecraft/client/Options.java
|
|
@@ -1119,7 +_,7 @@
|
|
this.incompatibleResourcePacks.clear();
|
|
|
|
for (Pack entry : packRepository.getSelectedPacks()) {
|
|
- if (!entry.isFixedPosition()) {
|
|
+ if (!entry.isFixedPosition() && !entry.isHidden()) {
|
|
this.resourcePacks.add(entry.getId());
|
|
if (!entry.getCompatibility().isCompatible()) {
|
|
this.incompatibleResourcePacks.add(entry.getId());
|
|
@@ -1510,6 +_,7 @@
|
|
}
|
|
|
|
public Options(Minecraft minecraft, File workingDirectory) {
|
|
+ setForgeKeybindProperties();
|
|
this.minecraft = minecraft;
|
|
this.optionsFile = new File(workingDirectory, "options.txt");
|
|
boolean largeDistances = Runtime.getRuntime().maxMemory() >= 1000000000L;
|
|
@@ -1530,6 +_,7 @@
|
|
var1 -> this.setGraphicsPresetToCustom()
|
|
);
|
|
this.syncWrites = Util.getPlatform() == Util.OS.WINDOWS;
|
|
+ net.neoforged.neoforge.client.ClientHooks.onRegisterKeyMappings(this, KeyMapping.Category.SORT_ORDER);
|
|
this.load();
|
|
}
|
|
|
|
@@ -1665,11 +_,17 @@
|
|
access.process("musicFrequency", this.musicFrequency);
|
|
|
|
for (KeyMapping keyMapping : this.keyMappings) {
|
|
- String currentValue = keyMapping.saveString();
|
|
+ String currentValue = keyMapping.saveString() + (keyMapping.getKeyModifier() != net.neoforged.neoforge.client.settings.KeyModifier.NONE ? ":" + keyMapping.getKeyModifier() : "");
|
|
String newValue = access.process("key_" + keyMapping.getName(), currentValue);
|
|
if (!currentValue.equals(newValue)) {
|
|
try {
|
|
keyMapping.setKey(InputConstants.getKey(newValue));
|
|
+ if (newValue.indexOf(':') != -1) {
|
|
+ String[] pts = newValue.split(":");
|
|
+ keyMapping.setKeyModifierAndCode(net.neoforged.neoforge.client.settings.KeyModifier.valueFromString(pts[1]), InputConstants.getKey(pts[0]));
|
|
+ } else {
|
|
+ keyMapping.setKeyModifierAndCode(net.neoforged.neoforge.client.settings.KeyModifier.NONE, InputConstants.getKey(newValue));
|
|
+ }
|
|
} catch (IllegalArgumentException e) {
|
|
LOGGER.warn("Invalid keyMapping {} = {}, unbinding", keyMapping.getName(), newValue, e);
|
|
keyMapping.setKey(InputConstants.UNKNOWN);
|
|
@@ -1967,6 +_,23 @@
|
|
}
|
|
|
|
repository.setSelected(selected);
|
|
+ }
|
|
+
|
|
+ private void setForgeKeybindProperties() {
|
|
+ net.neoforged.neoforge.client.settings.KeyConflictContext inGame = net.neoforged.neoforge.client.settings.KeyConflictContext.IN_GAME;
|
|
+ keyUp.setKeyConflictContext(inGame);
|
|
+ keyLeft.setKeyConflictContext(inGame);
|
|
+ keyDown.setKeyConflictContext(inGame);
|
|
+ keyRight.setKeyConflictContext(inGame);
|
|
+ keyJump.setKeyConflictContext(inGame);
|
|
+ keyShift.setKeyConflictContext(inGame);
|
|
+ keySprint.setKeyConflictContext(inGame);
|
|
+ keyAttack.setKeyConflictContext(inGame);
|
|
+ keyChat.setKeyConflictContext(inGame);
|
|
+ keyPlayerList.setKeyConflictContext(inGame);
|
|
+ keyCommand.setKeyConflictContext(inGame);
|
|
+ keyTogglePerspective.setKeyConflictContext(inGame);
|
|
+ keySmoothCamera.setKeyConflictContext(inGame);
|
|
}
|
|
|
|
public CameraType getCameraType() {
|