Going Medieval - Guide to Modding and Supported files

Going Medieval - Guide to Modding and Supported files

Intro

This page serves as a guide for the new modding support being added to the game. We will update this page as we continue to expand support for modding different parts of the game.

The best place to discuss Going Medieval modding is in the #modding[discordapp.com] channel on our Discord server[discord.gg] .

Note: You must accept the EULA first to access mods and modding options in the game. Click on the "Mods" option on the Home Screen and then select "Accept."

Note 2:At the moment, this only works for Experimental Branch.

Note 3: Once you have mod working locally, you can put it on Workshop and update later on. Workshop is still not public - to access it, please join this private group.

General


Going Medieval - Guide to Modding and Supported files image 7
Going Medieval - Guide to Modding and Supported files image 8

Mods are placed in the directory:

Documents\Foxy Voxel\Going Medieval\Mods\

Each mod must have its own subfolder, containing the following files:

ModInfo.json

Preview.pngAnd a Data subfolder that should contain additional information and the actual mod files.

ModInfo.jsonIn the ModInfo.json, replace [author_name] with the actual Steam (or other) handle of the mod author.

Preview.pngThe preview image will appear in the Steam Workshop as well as in the in-game Mod Browser. Allowed dimensions are 640x360 or 1280x720.

[Data]The Data directory should contain only subdirectories for currently supported mod types. You can read more about specific mods below

Mod Types

GeneralMods will appear in the Mod Browser on the home screen and can be enabled or disabled before starting the game. We will later add more functionalities, such as ordering and dependencies.

LocalizationMods will appear only in the Languages panel on the Home screen.

ScenarioMods will appear only on the Starting Conditions screen, where the player can choose one as a starting condition.

Tags

Tags help players (and the game) filter content on the Workshop (and Mod.io later). Tags are flags, and one mod can have multiple tags. However, there are rules to follow. Tags that represent Mod Types (as listed above) should be used exclusively without mixing, as they determine where the mod will appear in the game.

Modding Localization

Creating a New Localization Mod Template Open the Language panel from the main menu on the Home Screen.

Click on "Create New" and then select "Yes" on the popup.

The new template will be located at:Documents\Foxy Voxel\Going Medieval\Mods\English Localization

EditingTip: Keep a copy of the original file to compare formatting after editing.You can now edit the Data\Localization\English.csv file in a text editor or import it into Excel or Google Sheets. This file contains all keys and English localization currently in the game.

Strings surrounded by '<' and '>' are parsed by the game at runtime and must not be changed (or translated).

Strings surrounded by '[' and ']' are used for grammatical gender parsing. These can be utilized where applicable, not just in English.Rename the .csv file to the correct name of your language and replace the existing one. Don't forget to edit Preview.png and Manifest.json as described above, and rename the directory to something like:

Documents\Foxy Voxel\Going Medieval\Mods\[my_language] Localization

Ensure that the Manifest.json tag is set to "Localization," without including other Mod Type tags listed above.

Testing Open the Language panel from the main menu on the Home Screen.

Your mod should appear here. Select it, and the game language should change immediately. You can start testing now.

Sharing/Updating (Workshop) Open the Language panel from the main menu on the Home Screen.

Click on the "Upload/Update" button.

The Workshop overlay will pop up. It may take a few minutes for the mod to be updated and displayed properly on Steam.

Updating Existing Localization ModsIn the future, when preparing a new update, we will share new text keys with our modding community on Discord as soon as they are ready. You will receive preview access to the new build, allowing you to export the .csv file again, merge it with existing translations, and translate any new entries.

Update the mod version and use the new game version generated in the new Manifest.json. Test the mod and update it on the Workshop.

Modding .json Files

Going Medieval holds its data in uncompiled json files stored in Streaming Assets directory. Modding these files is pretty straightforward. Most of the json files have first entry with developer comments on each field and their purpose and meaning.

Let’s see an example of how to create a simple Perk mod.

Creating a Mod Template From the Mods Manager on Home Screen click on Create. This will create an empty mod template at the Documents\Foxy Voxel\Going Medieval\Mods\

Rename “My Default Mod Template” to something else, “My Perk” for example.

Edit ModInfo.json and Preview.png as described above.

Adding modded json Navigate to Data\Models\ and create Perks.json file.

Open original Perks.json located in Streaming Assets and copy Perk(s) you want to edit

Paste it to your file and make adjustments. Note: Change id if you want to create new item, Keeping same id will override existing (vanilla) one.

Adding modded Sprite (icon) You can now add a custom sprite for your Perk. Navigate to Data\Sprites\ and paste 64x64 png file.

Make sure file name matches "iconPath" field value in Perks.json you just created.

Testing mod Now run the game and open Mods Manager from Home Scene.

Your new mod should appear on the list. If you select it you should be able to see the details.

Thick checkbox to enable it. Otherwise it won’t be showing in game.

Start new game and click next until you reach Character Creation screen

Enable Advanced Customization at the bottom of the page.

Under Perks click on + and find your perk. Add it to the Settler.

See how the settler behaves in game and if effects of the perk are applied.

Supported Json Files

Almanac\ - Almanac.json - AlmanacEntries.json - Links.json Animal\ - AnimalAttackGroupRepository.json - AnimalBase.json - AnimalName.json Combat\ - CombatAiAgents.json - DamageTakingAgentSettings.json Constructables\ - BaseBuildingRepository.json - BeamComponentRepository.json - BedComponentsRepository.json - CaravanPostComponentRepository.json - ChairComponentRepository.json - ConstructableQualitySettings.json - DecorationComponentRepository.json - DoorComponentRepository.json - EntertainmentComponentRepository.json - FuelConsumerComponentRepository.json - GallowsComponentRepository.json - GateComponentRepository.json - GraveComponentsRepository.json - LadderComponentRepository.json - MapTableComponentRepository.json - PenMarkerComponentRepository.json - ProductionComponentsRepository.json - RoofComponentsRepository.json - RugComponentRepository.json - ShelfComponentRepository.json - ShrineComponentRepository.json - SignComponentRepository.json - SlopeBuildingComponentRepository.json - StairsComponentRepository.json - TableComponentRepository.json - TradingPostComponentRepository.json - TrapComponentsRepository.json - VoxelBuildingComponentRepository.json - WindowComponentRepository.json Creature\ - DietModelRepository.json - PathfindingPenaltyRepository.json - ScheduleConfigRepository.json - ScheduleModelRepository.json - WalkableModelRepository.json - WalkSpeedMultiplierRepository.json Cropfields\ - Cropfields.json Data\ - VillageName.json Faction\ - FactionRepository.json - FactionTypeRepository.json GameEventSystem\ - EventGroups.json - GameEventSettingsRepository.json Human\ - HumanAppearance.json - HumanType.json Items\ - ArmorQualitySettings.json - Equipment.json - GarmentQualitySettings.json - MaterialSettings.json - WeaponQualitySettings.json - WeaponTypeSettings.json NPC\ - NPCPresets.json - NPCs.json PlayerTriggeredEventSystem\ - PlayerTriggeredEvent.json Map\ - MapPropTypes.json - MapSizes.json - MapTypes.json - Slopes.json - VoxelTypes.json Research\ - Research.json Resources\ - AnimalProductionRepository.json - DecayModifiers.json - DigMarkers.json - FishMapResource.json - ManageGroup.json - ManageGroupPreset.json - PlantMapResource.json - Production.json - ProductQualityChance.json - Resources.json Roles\ - Role.json Scenario\ - Scenarios.json SocialInteraction\ - CombatLogData.json - ConversationLogData.json - ConversationTopic.json - EventInteractionData.json - HealthLogData.json - LifeEventLog.json - SocialCompatibilitySettings.json StatsSystem\ - Attributes.json - AttributesLists.json - DecayIconSettings.json - Effectors.json - HitEffectorGroups.json - StatsModelRepository.json - Wounds.json Stockpile\ - ResourceGroups.json - Stockpile.json Trading\ - TraderStockModifiers.json - TraderStocks.json - TraderType.json WarMachinery\ - TrebuchetBase.json Worker\ - Background.json - BackStory.json - GoalPreference.json - GoalPreferenceLevelData.json - Name.json - Perk.json - Pseudonym.json - SkillLevels.json - SkillTag.json - WorkerBase.json - WorkerPreset.json

Dos & Don'ts

We want to ensure mods amplify the Going Medieval players’ experience in a positive way and that their authors don’t cross the line where we or Steam admins need to step in and remove their work.

Dos: To make everyone’s lives easier, please add a description, main image, and some screenshots that explain what your mod is about.Don’ts: Don’t create mods that violate the Steam Subscriber Agreement.

Don’t use other players’ work or copyrighted material, such as assets from other games, without explicit permission. If you were granted permission, credit the source in a respectable way and include proof of permission in the mod and its description.

Don’t include any code with unexpected and/or malicious purposes. The community needs to be able to easily tell that your mod is not harmful in any way.

Don’t make mods public if they’re meant for personal use or you know they’re unfinished and bound to break the game for other players.

If you wish to pick up work on a mod that appears to be abandoned by the original creator, get in touch with them first to ask for their permission. Reuploads without a clear explanation of whether you have obtained permission for a reupload will be deleted.

Don’t make mods available only behind a paywall or paid for in any other way - for example available only to your supporters on an external platform.

When publishing your new content, whatever it is, be respectful of others. Most importantly, we don’t want any form of hate speech - racism, homophobia etc. - in Going Medieval Workshop.

Useful Links

Going Medieval Discord[discord.gg] - The quickest and the most direct way to talk to fellow modders.

Going Medieval Reddit - Reddit loves their mods, too.

Alternatively, you can send usa mail via support @ foxyvoxel . io - It might take some time for us to respond to you, but we'll get to it eventually.

Source: https://steamcommunity.com/sharedfiles/filedetails/?id=3362039703					

More Going Medieval guilds