9
<action type="display-model">" />
14
<automodelmapping name="" />
16
<automodelmapping name="" modelname="" />
25
<!-- A simple case. We want the model "turnip" to be shown for the entity of type "turnip" -->
26
<modelmapping name="turnip">
29
<caseparam type="equals">turnip</caseparam>
30
<action type="display-model">turnip</action>
35
<!-- For convenience we also provide the "automodelmapping" element, which maps a single model to an entity type of the same name. The result of this will be the same structure as the turnip. -->
36
<automodelmapping name="acorn" />
38
<!-- The automodelmapping element also has an optional "modelname" attribute, which allows you to select a different model to map to the entity type. -->
39
<automodelmapping name="carrot" />
41
<modelmapping name="fern">
44
<caseparam type="equals">fern</caseparam>
45
<action type="display-model">fern</action>
51
<modelmapping name="boulder">
54
<caseparam type="equals">boulder</caseparam>
55
<action type="display-model">graniteA</action>
56
<attributematch attribute="style" >
58
<caseparam type="equals">a</caseparam>
59
<action type="display-model">graniteA</action>
62
<caseparam type="equals">b</caseparam>
63
<action type="display-model">graniteB</action>
66
<caseparam type="equals">c</caseparam>
67
<action type="display-model">graniteC</action>
70
<caseparam type="equals">d</caseparam>
71
<action type="display-model">graniteD</action>
77
<!-- We want the model "boulder" to be used for the entity "boulder". However, there are four different boulder meshes, which the model defines as four different parts. Depending on attribute "style" a different part will be shown. We assume that "style" is one of "a", "b", "c" or "d". Since the parts in the model are defined to belong to the same group (not shown in this file), only one part will be shown at the same time. -->
78
<!-- <modelmapping name="boulder">
81
<caseparam type="equals">boulder</caseparam>
82
<action type="display-model">boulder</action>
83
<attributematch attribute="style" >
85
<caseparam type="equals">a</caseparam>
86
<action type="display-part">boulders_A</action>
89
<caseparam type="equals">b</caseparam>
90
<action type="display-part">boulders_B</action>
93
<caseparam type="equals">c</caseparam>
94
<action type="display-part">boulders_C</action>
97
<caseparam type="equals">d</caseparam>
98
<action type="display-part">boulders_D</action>
105
<!-- An alternative to the previous boulder mapping is to instead have each boulder mesh in its own model file. The mapping would then be like this. -->
106
<!-- <modelmapping name="boulder">
108
<case equals="boulder">
109
<attributematch attribute="style" >
111
<action type="display-model">boulderA" />
114
<action type="display-model">boulderB" />
117
<action type="display-model">boulderkC" />
120
<action type="display-model">boulderD" />
128
<automodelmapping name="fire" />
129
<automodelmapping name="lumber" />
131
<modelmapping name="mushroom">
134
<caseparam type="equals">mushroom</caseparam>
135
<action type="display-model">amanita</action>
136
<attributematch attribute="style">
138
<caseparam type="equals">stocky</caseparam>
139
<action type="display-model">amanita</action>
142
<caseparam type="equals">pointy</caseparam>
143
<action type="display-model">galerina</action>
146
<!-- The parts are identical for both types of meshes. -->
147
<attributematch attribute="species">
149
<caseparam type="equals">amanita</caseparam>
150
<action type="display-part">amanita</action>
153
<caseparam type="equals">galerina</caseparam>
154
<action type="display-part">galerina</action>
157
<caseparam type="equals">blue_moon</caseparam>
158
<action type="display-part">blue_moon</action>
161
<caseparam type="equals">silkfoot</caseparam>
162
<action type="display-part">silkfoot</action>
170
<automodelmapping name="apple" />
171
<automodelmapping name="pile" />
172
<automodelmapping name="grass" />
175
<automodelmapping name="chair" />
176
<automodelmapping name="door" />
177
<automodelmapping name="longtable" />
178
<automodelmapping name="shelf_table" />
179
<automodelmapping name="simple_shelf" />
180
<automodelmapping name="stool" />
181
<automodelmapping name="bed" />
182
<automodelmapping name="table" modelname="simple_table" />
185
<automodelmapping name="barrel" />
186
<automodelmapping name="coin" />
187
<automodelmapping name="torch" />
188
<automodelmapping name="deed" />
189
<automodelmapping name="bottle" />
190
<modelmapping name="bowls">
193
<caseparam type="equals">bowl</caseparam>
194
<action type="display-model">bowls</action>
195
<attributematch attribute="style">
197
<caseparam type="equals">flat</caseparam>
198
<action type="display-part">flat</action>
201
<caseparam type="equals">medium</caseparam>
202
<action type="display-part">medium</action>
205
<caseparam type="equals">high</caseparam>
206
<action type="display-part">high</action>
213
<!-- This will only work if the trousers and shirt has the same parts defined -->
214
<modelmapping name="clothes">
217
<caseparam type="equals">shirt</caseparam>
218
<caseparam type="equals">trousers</caseparam>
221
<caseparam type="equals">shirt</caseparam>
222
<action type="display-model">shirt</action>
225
<caseparam type="equals">trousers</caseparam>
226
<action type="display-model">trousers</action>
229
<attributematch attribute="style">
231
<caseparam type="equals">burlap</caseparam>
232
<action type="display-part">clothes/burlap</action>
233
<attributematch attribute="colour">
235
<caseparam type="equals">grey</caseparam>
236
<attributematch attribute="trimcolour">
238
<caseparam type="equals">blue</caseparam>
239
<action type="display-part">clothes/burlap/grey_blue_trims</action>
242
<caseparam type="equals">red</caseparam>
243
<action type="display-part">clothes/burlap/grey_red_trims</action>
246
<caseparam type="equals">yellow</caseparam>
247
<action type="display-part">clothes/burlap/grey_yellow_trims</action>
250
<caseparam type="equals">green</caseparam>
251
<action type="display-part">clothes/burlap/grey_green_trims</action>
256
<caseparam type="equals">red</caseparam>
257
<action type="display-part">clothes/burlap/red</action>
260
<caseparam type="equals">yellow</caseparam>
261
<action type="display-part">clothes/burlap/yellow</action>
264
<caseparam type="equals">green</caseparam>
265
<action type="display-part">clothes/burlap/green</action>
270
<caseparam type="equals">ragged</caseparam>
271
<action type="display-part">clothes/ragged</action>
274
<caseparam type="equals">dark_rags</caseparam>
275
<action type="display-part">clothes/dark_rags</action>
278
<caseparam type="equals">sun</caseparam>
279
<action type="display-part">clothes/sun</action>
282
<caseparam type="equals">fine</caseparam>
283
<action type="display-part">clothes/fine</action>
290
<!-- Use the shirt model as a placeholder -->
291
<modelmapping name="cloak">
294
<caseparam type="equals">cloak</caseparam>
295
<action type="display-model">shirt</action>
300
<automodelmapping name="boots" />
301
<automodelmapping name="wood" />
303
<!-- outdoor structures -->
304
<automodelmapping name="palisade" />
305
<automodelmapping name="palisade_earth" />
306
<modelmapping name="stone_palisade">
309
<caseparam type="equals">stone_palisade</caseparam>
310
<action type="display-model">stone_palisade</action>
311
<attributematch attribute="style" >
313
<caseparam type="equals">whole</caseparam>
314
<action type="display-part">whole</action>
317
<caseparam type="equals">brokenA</caseparam>
318
<action type="display-part">brokenA</action>
321
<caseparam type="equals">brokenB</caseparam>
322
<action type="display-part">brokenB</action>
330
<automodelmapping name="stake" />
331
<automodelmapping name="sty" />
332
<modelmapping name="stall">
335
<caseparam type="equals">stall</caseparam>
336
<action type="display-model">marketstall_canvasA</action>
337
<attributematch attribute="style" >
339
<caseparam type="equals">B</caseparam>
340
<action type="display-model">marketstall_canvasB</action>
343
<caseparam type="equals">C</caseparam>
344
<action type="display-model">marketstall_canvasC</action>
347
<attributematch attribute="fabric" >
349
<caseparam type="equals">blue_green</caseparam>
350
<action type="display-part">canvas_blue_green</action>
353
<caseparam type="equals">plain</caseparam>
354
<action type="display-part">canvas</action>
360
<automodelmapping name="jetty" />
361
<modelmapping name="campfire">
364
<caseparam type="equals">campfire</caseparam>
365
<action type="display-model">campfireB</action>
369
<automodelmapping name="choppingblock" />
370
<modelmapping name="gravestone">
373
<caseparam type="equals">gravestone</caseparam>
374
<action type="display-model">tombstone</action>
375
<action type="display-part">a</action>
376
<attributematch attribute="style" >
378
<caseparam type="equals">simple</caseparam>
379
<action type="display-part">a</action>
382
<caseparam type="equals">rounded</caseparam>
383
<action type="display-part">b</action>
386
<caseparam type="equals">stylish</caseparam>
387
<action type="display-part">c</action>
390
<caseparam type="equals">cross</caseparam>
391
<action type="display-part">tombstone_cross_a</action>
394
<caseparam type="equals">cross broken</caseparam>
395
<action type="display-part">tombstone_cross_b</action>
405
<automodelmapping name="castlefoundation" />
406
<automodelmapping name="castle_outer_wall" />
407
<automodelmapping name="armory" />
408
<modelmapping name="bailey">
411
<caseparam type="equals">bailey1</caseparam>
412
<action type="display-model">bailey1</action>
415
<caseparam type="equals">bailey2</caseparam>
416
<action type="display-model">bailey2</action>
420
<automodelmapping name="curtain_wall" />
421
<automodelmapping name="don_jon" />
422
<automodelmapping name="gateway" />
423
<automodelmapping name="keep" />
424
<modelmapping name="castle_house">
427
<caseparam type="equals">castle_house</caseparam>
428
<action type="display-model">cg_house</action>
429
<attributematch attribute="roof" >
431
<caseparam type="equals">shingle</caseparam>
432
<action type="display-part">roof_shingle</action>
435
<caseparam type="equals">straw</caseparam>
436
<action type="display-part">roof_straw</action>
439
<caseparam type="equals">shale</caseparam>
440
<action type="display-part">roof_shale</action>
446
<automodelmapping name="castle_wall_run" modelname="cg_wall_run" />
447
<automodelmapping name="castle_wall_gate" modelname="cg_wall_gate" />
448
<automodelmapping name="castle_wall_stairs" modelname="cg_wall_stairs" />
449
<automodelmapping name="castle_wall_corner" modelname="cg_wall_corner" />
450
<automodelmapping name="cg_house_A" />
454
<automodelmapping name="inn" modelname="cg_inn" />
455
<automodelmapping name="outerwall" />
456
<modelmapping name="mausoleum">
459
<caseparam type="equals">mausoleum</caseparam>
460
<action type="display-model">temple</action>
464
<automodelmapping name="tower" />
465
<automodelmapping name="gallows" />
467
<automodelmapping name="butcher_house" />
468
<automodelmapping name="house3" />
471
<automodelmapping name="trowel" />
472
<modelmapping name="axe">
475
<caseparam type="equals">axe</caseparam>
476
<action type="display-model">hatchet</action>
480
<!-- automodelmapping name="axe" / -->
481
<automodelmapping name="hammer" />
482
<automodelmapping name="scythe" />
483
<automodelmapping name="bucksaw" />
484
<modelmapping name="tinderbox">
487
<caseparam type="equals">tinderbox</caseparam>
488
<action type="display-model">tinderboxA</action>
492
<automodelmapping name="pickaxe" />
493
<modelmapping name="pole">
496
<caseparam type="equals">pole</caseparam>
497
<action type="display-model">lumber</action>
501
<modelmapping name="spade">
504
<caseparam type="equals">shovel</caseparam>
505
<action type="display-model">spade</action>
509
<modelmapping name="sword">
512
<caseparam type="equals">sword</caseparam>
513
<action type="display-model">sword</action>
517
<modelmapping name="arrow">
520
<caseparam type="equals">arrow</caseparam>
521
<action type="display-model">arrow</action>
527
<automodelmapping name="boat" />
529
<modelmapping name="cart">
532
<caseparam type="equals">cart</caseparam>
533
<action type="display-model">cart</action>
534
<attributematch attribute="style" >
536
<caseparam type="equals">1</caseparam>
537
<action type="display-part">1</action>
540
<caseparam type="equals">2</caseparam>
541
<action type="display-part">2</action>
544
<caseparam type="equals">3</caseparam>
545
<action type="display-part">3</action>
548
<caseparam type="equals">4</caseparam>
549
<action type="display-part">4</action>
558
<modelmapping name="fir">
561
<caseparam type="equals">fir</caseparam>
562
<action type="display-model">pineA</action>
563
<attributematch attribute="style" >
565
<caseparam type="equals">gnarly</caseparam>
566
<action type="display-model">pineA</action>
569
<caseparam type="equals">knotted</caseparam>
570
<action type="display-model">pineB</action>
573
<caseparam type="equals">weathered</caseparam>
574
<action type="display-model">pineC</action>
581
<automodelmapping name="bush" />
584
<!-- We'll use jayrs new oak for now -->
585
<modelmapping name="oak">
588
<caseparam type="equals">oak</caseparam>
589
<action type="display-model">oak_mk1</action>
594
<modelmapping name="birch">
597
<caseparam type="equals">birch</caseparam>
598
<action type="display-model">birchA</action>
599
<attributematch attribute="style" >
601
<caseparam type="equals">gnarly</caseparam>
602
<action type="display-model">birchA</action>
605
<caseparam type="equals">weathered</caseparam>
606
<action type="display-model">birchB</action>
609
<caseparam type="equals">straight</caseparam>
610
<action type="display-model">birchC</action>
618
<!-- We have three different types of oaks: large, young and saplings. The size (which we for simplicity assumes is a float) determines which of these we should show. Furthermore, the "style" attribute which variant of oak we should show (just as with the boulder).
620
<!-- <modelmapping name="oak">
623
<action type="display-model">oak</action>
624
<attributematch type="function" attribute="height">
626
<action type="display-model">oak_sapling</action>
627
<attributematch attribute="style" >
628
<case equals="gnarly">
629
<action type="display-part">A</action>
631
<case equals="knotted">
632
<action type="display-part">B</action>
634
<case equals="weathered">
635
<action type="display-part">C</action>
639
<case greaterequals="3" lesserequals="6">
640
<action type="display-model">oak_young</action>
641
<attributematch attribute="style" >
642
<case equals="gnarly">
643
<action type="display-part">A</action>
645
<case equals="knotted">
646
<action type="display-part">B</action>
648
<case equals="weathered">
649
<action type="display-part">C</action>
654
<action type="display-model">oak</action>
655
<attributematch attribute="style" >
656
<case equals="gnarly">
657
<action type="display-part">A</action>
659
<case equals="knotted">
660
<action type="display-part">B</action>
662
<case equals="weathered">
663
<action type="display-part">C</action>
672
<!-- <automodelmapping name="birch" /> -->
675
<!-- We'll use the "male" model for the entities of type "settler" or "butcher". Depending on what kind of entity is outfitted to the torso we'll show a shirt part. The shirts all belongs to the same group in the model, so only one will be shown at the same time.
678
<modelmapping name="human">
681
<caseparam type="equals">settler</caseparam>
682
<caseparam type="equals">merchant</caseparam>
683
<caseparam type="equals">mercenary</caseparam>
684
<caseparam type="equals">marshall</caseparam>
685
<action type="display-model">male</action>
691
<!-- <modelmapping name="human">
694
<caseparam type="equals">settler</caseparam>
695
<caseparam type="equals">merchant</caseparam>
696
<caseparam type="equals">mercenary</caseparam>
697
<caseparam type="equals">marshall</caseparam>
698
<action type="display-model">male</action>
699
<outfitmatch attachment="body">
701
<caseparam type="equals">shirt</caseparam>
702
<action type="display-part">clothes/burlap</action>
703
<attributematch attribute="style">
705
<caseparam type="equals">burlap</caseparam>
706
<action type="display-part">clothes/burlap</action>
707
<attributematch attribute="colour">
709
<caseparam type="equals">grey</caseparam>
710
<attributematch attribute="trimcolour">
712
<caseparam type="equals">blue</caseparam>
713
<action type="display-part">clothes/burlap/grey_blue_trims</action>
716
<caseparam type="equals">red</caseparam>
717
<action type="display-part">clothes/burlap/grey_red_trims</action>
720
<caseparam type="equals">yellow</caseparam>
721
<action type="display-part">clothes/burlap/grey_yellow_trims</action>
724
<caseparam type="equals">green</caseparam>
725
<action type="display-part">clothes/burlap/grey_green_trims</action>
730
<caseparam type="equals">red</caseparam>
731
<action type="display-part">clothes/burlap/red</action>
734
<caseparam type="equals">yellow</caseparam>
735
<action type="display-part">clothes/burlap/yellow</action>
738
<caseparam type="equals">green</caseparam>
739
<action type="display-part">clothes/burlap/green</action>
744
<caseparam type="equals">ragged</caseparam>
745
<action type="display-part">clothes/ragged</action>
748
<caseparam type="equals">dark_rags</caseparam>
749
<action type="display-part">clothes/dark_rags</action>
752
<caseparam type="equals">sun</caseparam>
753
<action type="display-part">clothes/sun</action>
756
<caseparam type="equals">fine</caseparam>
757
<action type="display-part">clothes/fine</action>
765
<automodelmapping name="creator" />
767
<automodelmapping name="fish" />
768
<automodelmapping name="dog" />
769
<!-- use the spider mesh for the crab for now -->
770
<modelmapping name="spider">
773
<caseparam type="equals">crab</caseparam>
774
<caseparam type="equals">spider</caseparam>
775
<action type="display-model">spider</action>
776
<attributematch attribute="colour">
778
<caseparam type="equals">carrion</caseparam>
779
<action type="display-part">body/carrion</action>
782
<caseparam type="equals">emerald</caseparam>
783
<action type="display-part">body/emerald</action>
792
<automodelmapping name="deer" />
793
<automodelmapping name="squirrel" />
794
<modelmapping name="chicken">
797
<caseparam type="equals">chicken</caseparam>
798
<action type="display-model">chicken</action>
799
<attributematch attribute="plumage">
801
<caseparam type="equals">red</caseparam>
802
<action type="display-part">redchicken</action>
805
<caseparam type="equals">grey</caseparam>
806
<action type="display-part">greychicken</action>
809
<caseparam type="equals">buzzard</caseparam>
810
<action type="display-part">buzzard</action>
816
<automodelmapping name="pig" />
817
<automodelmapping name="cow" />
818
<automodelmapping name="rabbit" />
819
<automodelmapping name="wolf" />
820
<modelmapping name="skeleton">
823
<caseparam type="equals">skeleton</caseparam>
824
<caseparam type="equals">lych</caseparam>
825
<action type="display-model">skeleton</action>
828
<caseparam type="equals">lych</caseparam>
829
<action type="display-part">Cape</action>
835
<automodelmapping name="arm" />
836
<automodelmapping name="skull" />
837
<automodelmapping name="shin" />
838
<automodelmapping name="pelvis" />
839
<automodelmapping name="ribcage" />
840
<automodelmapping name="thigh" />
841
<!-- <modelmapping name="goblin">
844
<caseparam type="equals">goblin</caseparam>
845
<action type="display-model">goblin</action>
849
<modelmapping name="kobold">
852
<caseparam type="equals">goblin</caseparam>
853
<action type="display-model">kobold</action>
854
<attributematch attribute="skincolour">
856
<caseparam type="equals">brown</caseparam>
857
<action type="display-part">body/brown</action>
860
<caseparam type="equals">green</caseparam>
861
<action type="display-part">body/brown</action>
868
<automodelmapping name="horse" />
871
<automodelmapping name="ham" />
872
<automodelmapping name="breadslice" />
873
<automodelmapping name="bread_cut" />
874
<modelmapping name="bread">
877
<caseparam type="equals">bread</caseparam>
878
<caseparam type="equals">loaf</caseparam>
879
<action type="display-model">bread</action>
880
<!-- If someone has eaten off the bread show the cut version -->
881
<attributematch attribute="status" >
883
<caseparam type="lesser">0.8</caseparam>
884
<action type="display-model">bread_cut</action>
893
<automodelmapping name="crate" />
894
<automodelmapping name="open_crate" />
897
<automodelmapping name="fence_pole" />
898
<automodelmapping name="fence_section" modelname="wooden_fence" />
899
<automodelmapping name="fence_gate" modelname="wooden_gate" />
901
<modelmapping name="theodolite">
904
<caseparam type="equals">theodolite</caseparam>
905
<action type="display-model">placeholder</action>
911
Show a placeholder for all instances of game_entity, except for those that we want to exclude by adding a nomodel element for.
913
<automodelmapping name="game_entity" modelname="placeholder" />
914
<nomodel name="boundary" />
915
<nomodel name="path" />
916
<nomodel name="ploughed_field" />
917
<nomodel name="weather" />
918
<nomodel name="wall" /> <!-- This is the invisble wall for the houses -->