District art not appearing when placing district

Cagarustus

Prince
Joined
Mar 9, 2017
Messages
386
I have created a new District for a Civilization, which is intended to replace the Holy Site. I am using the standard Holy Site Icon as I do not know how to mod new icons.

I have got the yields and everything worked out, and have attached the District to the respective Civ. The problem is when I'm placing the district, nothing appears on the map but instead an 'invisible district' is there with the respective Yield.

Can someone guide me as to how to make this come up?? I thought it was just a matter of using Icon Definitions, but this obviously isn't the case.

What do I need to do?

Thank you.
 
I tried the following but it didn't work. Am I missing something? Also, I have activated 'Update Art' in the Settings.

<?xml version="1.0" encoding="UTF-8" ?>
<AssetObjects..ArtDefSet>
<m_Version>
<major>3</major>
<minor>0</minor>
<build>202</build>
<revision>872</revision>
</m_Version>
<m_TemplateName text="Districts"/>
<m_RootCollections>
<Element>
<m_CollectionName text="District"/>
<m_ReplaceMergedCollectionElements>false</m_ReplaceMergedCollectionElements>
<Element>
<m_Fields>
<m_Values>
<Element class="AssetObjects..BoolValue">
<m_bValue>false</m_bValue>
<m_ParamName text="CanAffectBuildings"/>
</Element>
</m_Values>
</m_Fields>
<m_ChildCollections>
<Element>
<m_CollectionName text="Landmark"/>
<m_ReplaceMergedCollectionElements>false</m_ReplaceMergedCollectionElements>
<Element>
<m_Fields>
<m_Values>
<Element class="AssetObjects..ArtDefReferenceValue">
<m_ElementName text="DISTRICT_HOLY_SITE"/>
<m_RootCollectionName text="Districts"/>
<m_ArtDefPath text="Landmarks.artdef"/>
<m_CollectionIsLocked>false</m_CollectionIsLocked>
<m_TemplateName text="Landmarks"/>
<m_ParamName text="Xref"/>
</Element>
</m_Values>
</m_Fields>
<m_ChildCollections/>
<m_Name text="Landmark1"/>
<m_AppendMergedParameterCollections>false</m_AppendMergedParameterCollections>
</Element>
</Element>
<Element>
<m_CollectionName text="StrategicView"/>
<m_ReplaceMergedCollectionElements>false</m_ReplaceMergedCollectionElements>
<Element>
<m_Fields>
<m_Values>
<Element class="AssetObjects..ArtDefReferenceValue">
<m_ElementName text="HolySite"/>
<m_RootCollectionName text="Districts"/>
<m_ArtDefPath text="StrategicView.artdef"/>
<m_CollectionIsLocked>false</m_CollectionIsLocked>
<m_TemplateName text="StrategicView"/>
<m_ParamName text="XrefName"/>
</Element>
<Element class="AssetObjects..ArtDefReferenceValue">
<m_ElementName text="Completed"/>
<m_RootCollectionName text="BuildStates"/>
<m_ArtDefPath text="Districts.artdef"/>
<m_CollectionIsLocked>true</m_CollectionIsLocked>
<m_TemplateName text="Districts"/>
<m_ParamName text="State"/>
</Element>
</m_Values>
</m_Fields>
<m_ChildCollections/>
<m_Name text="StrategicView001"/>
<m_AppendMergedParameterCollections>false</m_AppendMergedParameterCollections>
</Element>
<Element>
<m_Fields>
<m_Values>
<Element class="AssetObjects..ArtDefReferenceValue">
<m_ElementName text="HolySite_Pillaged"/>
<m_RootCollectionName text="Districts"/>
<m_ArtDefPath text="StrategicView.artdef"/>
<m_CollectionIsLocked>true</m_CollectionIsLocked>
<m_TemplateName text="StrategicView"/>
<m_ParamName text="XrefName"/>
</Element>
<Element class="AssetObjects..ArtDefReferenceValue">
<m_ElementName text="Pillaged"/>
<m_RootCollectionName text="BuildStates"/>
<m_ArtDefPath text="Districts.artdef"/>
<m_CollectionIsLocked>true</m_CollectionIsLocked>
<m_TemplateName text="Districts"/>
<m_ParamName text="State"/>
</Element>
</m_Values>
</m_Fields>
<m_ChildCollections/>
<m_Name text="StrategicView002"/>
<m_AppendMergedParameterCollections>false</m_AppendMergedParameterCollections>
</Element>
<Element>
<m_Fields>
<m_Values>
<Element class="AssetObjects..ArtDefReferenceValue">
<m_ElementName text="HolySite_UnderConstruction"/>
<m_RootCollectionName text="Districts"/>
<m_ArtDefPath text="StrategicView.artdef"/>
<m_CollectionIsLocked>true</m_CollectionIsLocked>
<m_TemplateName text="StrategicView"/>
<m_ParamName text="XrefName"/>
</Element>
<Element class="AssetObjects..ArtDefReferenceValue">
<m_ElementName text="UnderConstruction"/>
<m_RootCollectionName text="BuildStates"/>
<m_ArtDefPath text="Districts.artdef"/>
<m_CollectionIsLocked>true</m_CollectionIsLocked>
<m_TemplateName text="Districts"/>
<m_ParamName text="State"/>
</Element>
</m_Values>
</m_Fields>
<m_ChildCollections/>
<m_Name text="StrategicView003"/>
<m_AppendMergedParameterCollections>false</m_AppendMergedParameterCollections>
</Element>
</Element>
<Element>
<m_CollectionName text="Audio"/>
<m_ReplaceMergedCollectionElements>false</m_ReplaceMergedCollectionElements>
<Element>
<m_Fields>
<m_Values>
<Element class="AssetObjects..StringValue">
<m_Value text="Build_District_HolySite"/>
<m_ParamName text="XrefName"/>
</Element>
</m_Values>
</m_Fields>
<m_ChildCollections/>
<m_Name text="Build_District_HolySite"/>
<m_AppendMergedParameterCollections>false</m_AppendMergedParameterCollections>
</Element>
</Element>
<Element>
<m_CollectionName text="AmbPlay"/>
<m_ReplaceMergedCollectionElements>false</m_ReplaceMergedCollectionElements>
<Element>
<m_Fields>
<m_Values>
<Element class="AssetObjects..StringValue">
<m_Value text="PLAY_AMBIENCE_DISTRICT_HOLYSITE"/>
<m_ParamName text="XrefName"/>
</Element>
</m_Values>
</m_Fields>
<m_ChildCollections/>
<m_Name text="PLAY_AMBIENCE_DISTRICT_HOLYSITE"/>
<m_AppendMergedParameterCollections>false</m_AppendMergedParameterCollections>
</Element>
</Element>
<Element>
<m_CollectionName text="AmbStop"/>
<m_ReplaceMergedCollectionElements>false</m_ReplaceMergedCollectionElements>
<Element>
<m_Fields>
<m_Values>
<Element class="AssetObjects..StringValue">
<m_Value text="STOP_AMBIENCE_DISTRICT_HOLYSITE"/>
<m_ParamName text="XrefName"/>
</Element>
</m_Values>
</m_Fields>
<m_ChildCollections/>
<m_Name text="STOP_AMBIENCE_DISTRICT_HOLYSITE"/>
<m_AppendMergedParameterCollections>false</m_AppendMergedParameterCollections>
</Element>
</Element>
</m_ChildCollections>
<m_Name text="DISTRICT_CAG_INDIA_ASHRAM"/>
<m_AppendMergedParameterCollections>false</m_AppendMergedParameterCollections>
</Element>
<Element>
<m_CollectionName text="BuildStates"/>
<m_ReplaceMergedCollectionElements>false</m_ReplaceMergedCollectionElements>
<Element>
<m_Fields>
<m_Values/>
</m_Fields>
<m_ChildCollections/>
<m_Name text="Completed"/>
<m_AppendMergedParameterCollections>false</m_AppendMergedParameterCollections>
</Element>
<Element>
<m_Fields>
<m_Values/>
</m_Fields>
<m_ChildCollections/>
<m_Name text="Pillaged"/>
<m_AppendMergedParameterCollections>false</m_AppendMergedParameterCollections>
</Element>
<Element>
<m_Fields>
<m_Values/>
</m_Fields>
<m_ChildCollections/>
<m_Name text="UnderConstruction"/>
<m_AppendMergedParameterCollections>false</m_AppendMergedParameterCollections>
</Element>
</Element>
</Element>
</m_RootCollections>
</AssetObjects..ArtDefSet>
 
I'm having an issue. I'm trying to create the ArtDefs file by using an xml template and then pasting the code I have, but then when I open the file in the windows, most of the text is gone.

I also used the ArtDef file generator and it didn't work.

How do I create an ArtDef file??
 
You using modbuddy right? you simply create the file in notepad or similar program, and later add it to modbuddy.

I never used the ardef file generator but says it generates Civilizations.artdef and Cultures.artdef and not your Districts.artdef.
 
I'm using Modbuddy. I created the file, copied the relevant text but it's not working.

Should it really be this hard? I'm just using the standard Holy Site district??
 
Its hard only because you have to add it in many places, you have to replicate all even being standard.

Did you used ModArt_Generator to generate your modart.xml (By default doesn't care about new Districts) content?
 
Its hard only because you have to add it in many places, you have to replicate all even being standard.

Did you used ModArt_Generator to generate your modart.xml (By default doesn't care about new Districts) content?

No, I'm going to give up. It's too hard. I'm gonna can it.
 
You seem almost there, since you said you try to construct and is empty ingame. Maybe seeing other simpler mods helps.

Would you be willing to finish the mod off for me? It’s basically a unique district for India, much like the Seowon for Korea but is faith based instead.

I’m happy to send you all of the files I’ve done.
 
Ok, no problem. I even tried the Asset Editor to create Artdefs but no luck.

Here's the mod:
 

Attachments

  • CAG's India.zip
    7.3 KB · Views: 107
Like I said above you may be missing some mod.art.xml file modification, since modbuddy doesnt care about that, you have to do it manually or use the handy tool I already sent you previously, ModArt_Generator, that I send again: https://forums.civfanatics.com/threads/automating-modding-tasks.628685/#post-15041363

Anyway the code I think you are missing in mod.art.xml may look like this:

Code:
(.......................................)
<artConsumers>
        <Element>
            <ConsumerName text="Districts"/>
            <ArtDefDependencyPaths>
                <Element text="Districts.artdef"/>
            </ArtDefDependencyPaths>
            <LibraryDependencies/>
            <LoadsLibraries>true</LoadsLibraries>
        </Element>
<Element>
            <consumerName text="Landmarks"/>
            <relativeArtDefPaths>
                <Element text="Districts.artdef"/>
            </relativeArtDefPaths>
            <libraryDependencies>
                <Element text="CityBuildings"/>
                <Element text="TileBase"/>
                <Element text="RouteDecalMaterial"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
<Element>
            <consumerName text="Terrain"/>
            <relativeArtDefPaths>
                <Element text="Districts.artdef"/>
            </relativeArtDefPaths>
            <libraryDependencies>
                <Element text="TerrainAsset"/>
                <Element text="TerrainElement"/>
                <Element text="TerrainMaterial"/>
            </libraryDependencies>
            <loadsLibraries>true</loadsLibraries>
        </Element>
    <Element>
            <consumerName text="Terrains"/>
            <relativeArtDefPaths>
                <Element text="Districts.artdef"/>
            </relativeArtDefPaths>
            <libraryDependencies/>
            <loadsLibraries>false</loadsLibraries>
        </Element>
(.............................)
 
Oh my gosh! It works!!!

Thank you so much!!

Just another thing: is my Landmarks coding all right? I used the instructions from another Forum thread about creating it through Asset Editor. I chose Shrine only. Does that mean the Temple won't show up?

EDIT: it seems that when I build the temple, it appears as fully built, but not with the shrine.

I tried copying the landmark code from the Landmarks file in the Civ6 core folder but it doesn't seem to be working.
 
Last edited:
In same way that districts.artdef is added you have to add landmarks.artdef to mod.art.xml. Did you used modart_generator and didnt worked at same? probably an error in landmarks, but in that I cant help, since I only copy them.
 
Top Bottom