2022-03-21 06:42:50 +00:00
using StardewModdingAPI.Utilities ;
namespace stardew_access
2022-03-20 20:26:30 +00:00
{
2022-03-21 05:43:55 +00:00
internal class ModConfig
2022-03-20 20:26:30 +00:00
{
2022-03-21 06:42:50 +00:00
// https://stardewvalleywiki.com/Modding:Modder_Guide/APIs/Input#SButton button key codes
2022-05-16 16:04:19 +00:00
#region Simulate mouse clicks
2022-08-12 11:07:39 +00:00
public KeybindList LeftClickMainKey { get ; set ; } = KeybindList . Parse ( "LeftControl + Enter" ) ; // Primary key to simulate mouse left click
public KeybindList RightClickMainKey { get ; set ; } = KeybindList . Parse ( "LeftShift + Enter" ) ; // Primary key to simulate mouse right click
public KeybindList LeftClickAlternateKey { get ; set ; } = KeybindList . Parse ( "OemOpenBrackets" ) ; // Secondary key to simulate mouse left click
public KeybindList RightClickAlternateKey { get ; set ; } = KeybindList . Parse ( "OemCloseBrackets" ) ; // Secondary key to simulate mouse right click
2022-05-16 16:04:19 +00:00
# endregion
#region Chat menu
2022-08-12 11:07:39 +00:00
public KeybindList ChatMenuNextKey { get ; set ; } = KeybindList . Parse ( "PageUp" ) ; // Read previous chat message
public KeybindList ChatMenuPreviousKey { get ; set ; } = KeybindList . Parse ( "PageDown" ) ; // Read next chat message
2022-05-16 16:04:19 +00:00
# endregion
#region Read tile
2022-08-12 11:07:39 +00:00
public Boolean ReadTile { get ; set ; } = true ; // Toggle this feature.
public KeybindList ReadTileKey { get ; set ; } = KeybindList . Parse ( "J" ) ; // Manually trigger read tile for the tile player is *looking at*.
public KeybindList ReadStandingTileKey { get ; set ; } = KeybindList . Parse ( "LeftAlt + J" ) ; // Manually trigger read tile for the tile player is *standing on*.
public Boolean ReadFlooring { get ; set ; } = false ; // Toggle reading floorings.
2022-08-18 06:48:40 +00:00
public Boolean WateredToggle { get ; set ; } = true ; // Toggle speaking watered or unwatered for crops.
2022-05-16 16:04:19 +00:00
# endregion
2022-03-21 06:42:50 +00:00
2022-05-16 16:04:19 +00:00
#region Tile viewer
2022-08-12 11:07:39 +00:00
public KeybindList TileCursorUpKey { get ; set ; } = KeybindList . Parse ( "Up" ) ; // Move the cursor one tile up
public KeybindList TileCursorRightKey { get ; set ; } = KeybindList . Parse ( "Right" ) ; // Move the cursor one tile right
public KeybindList TileCursorDownKey { get ; set ; } = KeybindList . Parse ( "Down" ) ; // Move the cursor one tile down
public KeybindList TileCursorLeftKey { get ; set ; } = KeybindList . Parse ( "Left" ) ; // Move the cursor one tile left
public KeybindList TileCursorPreciseUpKey { get ; set ; } = KeybindList . Parse ( "LeftShift + Up" ) ; // Move the cursor up by precision i.e. pixel by pixel
public KeybindList TileCursorPreciseRightKey { get ; set ; } = KeybindList . Parse ( "LeftShift + Right" ) ; // Move the cursor right by precision i.e. pixel by pixel
public KeybindList TileCursorPreciseDownKey { get ; set ; } = KeybindList . Parse ( "LeftShift + Down" ) ; // Move the cursor down by precision i.e. pixel by pixel
public KeybindList TileCursorPreciseLeftKey { get ; set ; } = KeybindList . Parse ( "LeftShift + Left" ) ; // Move the cursor left by precision i.e. pixel by pixel
public KeybindList ToggleRelativeCursorLockKey { get ; set ; } = KeybindList . Parse ( "L" ) ; // Toggles realative cursor lock i.e. if enabled, the cursor will reset when player moves.
public KeybindList AutoWalkToTileKey { get ; set ; } = KeybindList . Parse ( "LeftControl + Enter" ) ; // Auto walk to the tile
public bool LimitTileCursorToScreen { get ; set ; } = false ; // #TODO add command for this // Toggle whether to prevent cursor from going out of screen.
public int TileCursorPreciseMovementDistance { get ; set ; } = 8 ; // Specifies the number of pixels the cursor should move when using precision movement i.e. with *left shift*.
2022-05-16 16:04:19 +00:00
# endregion
#region Radar
public Boolean Radar { get ; set ; } = false ;
public Boolean RadarStereoSound { get ; set ; } = true ;
# endregion
2022-05-16 16:31:02 +00:00
#region Menu Keys
public KeybindList PrimaryInfoKey { get ; set ; } = KeybindList . Parse ( "C" ) ;
2023-01-31 01:58:12 +00:00
// Character Creation menu (new game menu) keys
2022-05-16 16:31:02 +00:00
public KeybindList CharacterCreationMenuNextKey { get ; set ; } = KeybindList . Parse ( "Right" ) ;
public KeybindList CharacterCreationMenuPreviousKey { get ; set ; } = KeybindList . Parse ( "Left" ) ;
2023-01-31 01:58:12 +00:00
public KeybindList CharacterCreationMenuSliderIncreaseKey { get ; set ; } = KeybindList . Parse ( "Up" ) ;
public KeybindList CharacterCreationMenuSliderLargeIncreaseKey { get ; set ; } = KeybindList . Parse ( "PageUp" ) ;
public KeybindList CharacterCreationMenuSliderDecreaseKey { get ; set ; } = KeybindList . Parse ( "Down" ) ;
public KeybindList CharacterCreationMenuSliderLargeDecreaseKey { get ; set ; } = KeybindList . Parse ( "PageDown" ) ;
public KeybindList CharacterCreationMenuDesignToggleKey { get ; set ; } = KeybindList . Parse ( "LeftControl + Space" ) ;
2022-05-16 16:31:02 +00:00
// Bundle menu keys
public KeybindList BundleMenuIngredientsKey { get ; set ; } = KeybindList . Parse ( "I" ) ;
public KeybindList BundleMenuInventoryItemsKey { get ; set ; } = KeybindList . Parse ( "C" ) ;
public KeybindList BundleMenuPurchaseButtonKey { get ; set ; } = KeybindList . Parse ( "P" ) ;
public KeybindList BundleMenuIngredientsInputSlotKey { get ; set ; } = KeybindList . Parse ( "V" ) ;
public KeybindList BundleMenuBackButtonKey { get ; set ; } = KeybindList . Parse ( "Back" ) ;
// Menus with secondary inventory(shop inventory or chest inventory or crafting recipe list)
public KeybindList SnapToFirstInventorySlotKey { get ; set ; } = KeybindList . Parse ( "I" ) ;
public KeybindList SnapToFirstSecondaryInventorySlotKey { get ; set ; } = KeybindList . Parse ( "LeftShift + I" ) ;
// Crafting menu
public KeybindList CraftingMenuCycleThroughRecipiesKey { get ; set ; } = KeybindList . Parse ( "C" ) ;
# endregion
2022-05-16 16:04:19 +00:00
#region Others
2022-08-12 11:07:39 +00:00
public KeybindList HealthNStaminaKey { get ; set ; } = KeybindList . Parse ( "H" ) ; // Narrate health and stamina.
2022-08-13 07:36:24 +00:00
public bool HealthNStaminaInPercentage { get ; set ; } = true ;
2022-08-12 11:07:39 +00:00
public KeybindList PositionKey { get ; set ; } = KeybindList . Parse ( "K" ) ; // Narrate player position.
public KeybindList LocationKey { get ; set ; } = KeybindList . Parse ( "LeftAlt + K" ) ; // Narrate current location name.
public KeybindList MoneyKey { get ; set ; } = KeybindList . Parse ( "R" ) ; // Narrate the money the player has currently.
public KeybindList TimeNSeasonKey { get ; set ; } = KeybindList . Parse ( "Q" ) ; // Narrate the time of day, day and date and season
2022-05-16 16:04:19 +00:00
public Boolean VerboseCoordinates { get ; set ; } = true ;
2022-08-12 11:07:39 +00:00
public Boolean SnapMouse { get ; set ; } = true ; // Toggles the snap mouse feature
2022-08-18 07:07:32 +00:00
public Boolean Warning { get ; set ; } = true ; // Toggles the warnings feature
2022-10-09 08:20:35 +00:00
public Boolean TTS { get ; set ; } = true ; // Toggles the screen reader/tts.
2022-11-07 14:21:35 +00:00
public Boolean TrackDroppedItems { get ; set ; } = true ; // Toggles detecting the dropped items.
2022-03-21 06:42:50 +00:00
# endregion
2022-03-29 13:55:53 +00:00
// TODO Add the exclusion and focus list too
// public String ExclusionList { get; set; } = "test";
2022-03-20 20:26:30 +00:00
}
2022-05-16 16:31:02 +00:00
}