Aggiungi supporto per 390 Plus John Deere

Aggiunto un nuovo elemento `<storeItem>` in `storeItems.xml` per includere `plus390_johnDeere.xml`. Creato il file `plus390_johnDeere.xml` per definire un veicolo "cutter" per la canna da zucchero, con configurazioni dettagliate, effetti particellari, animazioni e dati per l'icona del negozio.
This commit is contained in:
2025-10-29 12:04:25 +01:00
parent a7413dfd74
commit f723c3042c
2 changed files with 109 additions and 0 deletions

View File

@@ -146,6 +146,7 @@
<!--storeItem xmlFilename="mods/vehicles/johnDeere/series9RX.xml"/-->
<storeItem xmlFilename="mods/vehicles/johnDeere/x9_1100.xml"/>
<storeItem xmlFilename="mods/vehicles/johnDeere/planter1775NT.xml"/>
<storeItem xmlFilename="mods/vehicles/johnDeere/plus390_johnDeere.xml"/>
<storeItem xmlFilename="mods/vehicles/johnDeere/series9000.xml"/>
<storeItem xmlFilename="mods/vehicles/hardi/rubicon9000.xml"/>
<storeItem xmlFilename="mods/vehicles/hardi/mega1200L.xml"/>

View File

@@ -0,0 +1,108 @@
<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<vehicle type="cutter" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../shared/xml/schema/vehicle.xsd">
<annotation>Copyright (C) GIANTS Software GmbH, All Rights Reserved.</annotation>
<parentFile xmlFilename="$data/vehicles/kemper/plus390/plus390.xml">
<attributes>
<set path="vehicle.storeData.brand" value="JOHNDEERE"/>
<set path="vehicle.storeData.image" value="$data/vehicles/kemper/plus390/store_plus390_johnDeere.png"/>
<set path="vehicle.storeData.specs.combination#xmlFilename" value="$data/vehicles/johnDeere/series9000/series9000.xml"/>
<clearList path="vehicle.storeData.specs.combination" keepIndex="1"/>
<set path="vehicle.attachable.inputAttacherJointConfigurations.inputAttacherJointConfiguration(0)#isSelectable" value="false"/>
<set path="vehicle.attachable.inputAttacherJointConfigurations.inputAttacherJointConfiguration(1)#isSelectable" value="false"/>
<set path="vehicle.attachable.inputAttacherJointConfigurations.inputAttacherJointConfiguration(2)#isSelectable" value="false"/>
<set path="vehicle.attachable.inputAttacherJointConfigurations.inputAttacherJointConfiguration(3)#isSelectable" value="false"/>
<set path="vehicle.attachable.inputAttacherJointConfigurations.inputAttacherJointConfiguration(4)#isSelectable" value="false"/>
<set path="vehicle.attachable.inputAttacherJointConfigurations.inputAttacherJointConfiguration(5)#isSelectable" value="false"/>
<set path="vehicle.attachable.inputAttacherJointConfigurations.inputAttacherJointConfiguration(6)#isSelectable" value="true"/>
</attributes>
</parentFile>
<!-- FOR SUGARCANE -->
<fruitPreparer fruitType="sugarCane"></fruitPreparer>
<cutter fruitTypes="sugarCane" allowsForageGrowthState="true" fruitTypeConverter="forageHarvester">
<effect>
<effectNode effectClass="ParticleEffect" effectNode="smokeEmitter01" particleType="SMOKE" materialType="smokeParticle" emitCountScale="0.1" worldSpace="false" useCuttingWidth="false"/>
<effectNode effectClass="ParticleEffect" effectNode="smokeEmitter02" particleType="SMOKE" materialType="smokeParticle" emitCountScale="0.1" worldSpace="false" useCuttingWidth="false"/>
<effectNode effectType="SUGARCANE_CUTTER" effectClass="TypedMotionPathEffect" linkNode="cutterEffectNode01">
<motionPathEffect rowLength="14" numRows="1" textureFilename="$data/effects/sugarcane/arrays/cutterArray1x14.dds"/>
</effectNode>
<effectNode effectType="SUGARCANE_CUTTER" effectClass="TypedMotionPathEffect" linkNode="cutterEffectNode02">
<motionPathEffect rowLength="14" numRows="1" textureFilename="$data/effects/sugarcane/arrays/cutterArray1x14.dds"/>
</effectNode>
<effectNode effectType="SUGARCANE_CUTTER" effectClass="TypedMotionPathEffect" linkNode="cutterEffectNode03">
<motionPathEffect rowLength="14" numRows="1" textureFilename="$data/effects/sugarcane/arrays/cutterArray1x14.dds"/>
</effectNode>
<effectNode effectType="SUGARCANE_CUTTER" effectClass="TypedMotionPathEffect" linkNode="cutterEffectNode04">
<motionPathEffect rowLength="14" numRows="1" textureFilename="$data/effects/sugarcane/arrays/cutterArray1x14.dds"/>
</effectNode>
<effectNode effectType="SUGARCANE_CUTTER" effectClass="TypedMotionPathEffect" linkNode="cutterEffectNode05">
<motionPathEffect rowLength="14" numRows="1" textureFilename="$data/effects/sugarcane/arrays/cutterArray1x14.dds"/>
</effectNode>
<effectNode effectType="SUGARCANE_CUTTER" effectClass="TypedMotionPathEffect" linkNode="cutterEffectNode06">
<motionPathEffect rowLength="14" numRows="1" textureFilename="$data/effects/sugarcane/arrays/cutterArray1x14.dds"/>
</effectNode>
<effectNode effectType="SUGARCANE_CUTTER" effectClass="TypedMotionPathEffect" linkNode="cutterEffectNode07">
<motionPathEffect rowLength="14" numRows="1" textureFilename="$data/effects/sugarcane/arrays/cutterArray1x14.dds"/>
</effectNode>
<effectNode effectType="SUGARCANE_CUTTER" effectClass="TypedMotionPathEffect" linkNode="cutterEffectNode08">
<motionPathEffect rowLength="14" numRows="1" textureFilename="$data/effects/sugarcane/arrays/cutterArray1x14.dds"/>
</effectNode>
<effectNode effectType="SUGARCANE_CUTTER" effectClass="TypedMotionPathEffect" linkNode="cutterEffectNode09">
<motionPathEffect rowLength="14" numRows="1" textureFilename="$data/effects/sugarcane/arrays/cutterArray1x14.dds"/>
</effectNode>
<effectNode effectType="SUGARCANE_CUTTER" effectClass="TypedMotionPathEffect" linkNode="cutterEffectNode10">
<motionPathEffect rowLength="14" numRows="1" textureFilename="$data/effects/sugarcane/arrays/cutterArray1x14.dds"/>
</effectNode>
<effectNode effectType="SUGARCANE_CUTTER" effectClass="TypedMotionPathEffect" linkNode="cutterEffectNode12">
<motionPathEffect rowLength="14" numRows="1" textureFilename="$data/effects/sugarcane/arrays/cutterArray1x14.dds"/>
</effectNode>
<effectNode effectType="SUGARCANE_CUTTER" effectClass="TypedMotionPathEffect" linkNode="cutterEffectNode13">
<motionPathEffect rowLength="14" numRows="1" textureFilename="$data/effects/sugarcane/arrays/cutterArray1x14.dds"/>
</effectNode>
<effectNode effectType="SUGARCANE_CUTTER" effectClass="TypedMotionPathEffect" linkNode="cutterEffectNode14">
<motionPathEffect rowLength="14" numRows="1" textureFilename="$data/effects/sugarcane/arrays/cutterArray1x14.dds"/>
</effectNode>
</effect>
<animationNodes>
<animationNode node="middleLeftRoller" rotSpeed="500" rotAxis="3" turnOnFadeTime="2" turnOffFadeTime="5"/>
<animationNode node="middleRightRoller" rotSpeed="-500" rotAxis="3" turnOnFadeTime="2" turnOffFadeTime="5"/>
<animationNode node="middleCutterScroll" shaderParameterName="offsetUV" shaderComponentScale="0 0 1 0" rotSpeed="1000" turnOnFadeTime="2" turnOffFadeTime="10" />
<animationNode node="leftArmCutterScroll" shaderParameterName="offsetUV" shaderComponentScale="0 0 1 0" rotSpeed="1000" turnOnFadeTime="2" turnOffFadeTime="10" />
<animationNode node="rightArmCutterScroll" shaderParameterName="offsetUV" shaderComponentScale="0 0 1 0" rotSpeed="1000" turnOnFadeTime="2" turnOffFadeTime="10" />
<animationNode node="middleLeftScrollPart01" shaderParameterName="offsetUV" shaderComponentScale="0 -1 0 0" rotSpeed="150" turnOnFadeTime="2" turnOffFadeTime="5" />
<animationNode node="middleLeftScrollPart02" shaderParameterName="offsetUV" shaderComponentScale="0 -1 0 0" rotSpeed="150" turnOnFadeTime="2" turnOffFadeTime="5" />
<animationNode node="middleRightScrollPart01" shaderParameterName="offsetUV" shaderComponentScale="0 -1 0 0" rotSpeed="150" turnOnFadeTime="2" turnOffFadeTime="5" />
<animationNode node="middleRightScrollPart02" shaderParameterName="offsetUV" shaderComponentScale="0 -1 0 0" rotSpeed="150" turnOnFadeTime="2" turnOffFadeTime="5" />
<animationNode node="leftArmScrollPart01" shaderParameterName="offsetUV" shaderComponentScale="0 -1 0 0" rotSpeed="150" turnOnFadeTime="2" turnOffFadeTime="5" />
<animationNode node="leftArmScrollPart02" shaderParameterName="offsetUV" shaderComponentScale="0 -1 0 0" rotSpeed="150" turnOnFadeTime="2" turnOffFadeTime="5" />
<animationNode node="rightArmScrollPart01" shaderParameterName="offsetUV" shaderComponentScale="0 -1 0 0" rotSpeed="150" turnOnFadeTime="2" turnOffFadeTime="5" />
<animationNode node="rightArmScrollPart02" shaderParameterName="offsetUV" shaderComponentScale="0 -1 0 0" rotSpeed="150" turnOnFadeTime="2" turnOffFadeTime="5" />
</animationNodes>
<automaticTilt raycastNode1="heightNode01" raycastNode2="heightNode03"/>
<sounds>
<cut template="cropCuttingForage" />
</sounds>
</cutter>
<!-- ONLY FOR ICON GENERATION -->
<storeData>
<name>390 Plus</name>
<image>$data/vehicles/kemper/plus390/store_plus390_johnDeere.png</image>
<brand>JOHNDEERE</brand>
<category>forageHarvesterCutters</category>
<vertexBufferMemoryUsage>0</vertexBufferMemoryUsage>
<indexBufferMemoryUsage>0</indexBufferMemoryUsage>
<textureMemoryUsage>0</textureMemoryUsage>
<audioMemoryUsage>0</audioMemoryUsage>
<instanceVertexBufferMemoryUsage>0</instanceVertexBufferMemoryUsage>
<instanceIndexBufferMemoryUsage>0</instanceIndexBufferMemoryUsage>
</storeData>
</vehicle>