Jump to content

Adding Custom Workstations


METALmurderer

Recommended Posts

So I've been playing around with adding in a custom workstation in blocks.xml, I've managed to get the block place able but I can't actually interact with it, it just says "Press E to use", but pressing E does nothing and holding E does not pop up a radial menu. I finally just copypasted the Forge and changed the mesh and I still can't interact with it.

 

Other than adding it in blocks.xml, where am I missing to add it in? Does it require modding beyond the normal XML/XPath modding?

Link to comment
Share on other sites

Here is a full eg. of adding a custom workstation:

 

+Blocks

 

<block name="[color="#FF8C00"]workstationResearchTable[/color]">
<property name="Class" value="Workstation"/>
<property name="CustomIcon" value="schoolDesk"/>
<property name="Material" value="Mwood_weak"/>
<property name="MaxDamage" value="800"/>
<property name="StabilitySupport" value="false"/>
<property name="Shape" value="Ext3dModel"/>
<property name="Texture" value="282"/>
<property name="Mesh" value="models"/>
<property name="Path" value="solid"/>
<property name="Model" value="Furniture/school_desk" param1="main_mesh"/>
<property name="ImposterDontBlock" value="true"/>
<property name="Place" value="TowardsPlacerInverted"/>
<property name="OnlySimpleRotations" value="true"/>
<property name="IsTerrainDecoration" value="true"/>
<property name="HeatMapStrength" value="0.5"/>
<property name="HeatMapTime" value="1200"/>
<property name="HeatMapFrequency" value="25"/>
<property name="Stacknumber" value="1"/>
<property class="Workstation">
	<property name="Modules" value="tools,output"/>
</property>
<property name="WorkstationIcon" value="ui_game_symbol_workbench" />
<property name="OpenSound" value="open_cardboard" />
<property name="CloseSound" value="close_cardboard" />
<property class="RepairItems">
	<property name="resourceWood" value="50"/>
	<property name="resourceNail" value="10"/>
	<property name="resourceGlue" value="10"/>
</property>
<drop event="Harvest" name="terrStone" count="0" tool_category="Disassemble"/>
<drop event="Destroy" name="workstationResearchTable" count="1" tag="salvageHarvest"/>
<drop event="Fall" name="terrDestroyedWoodDebris" count="1" prob="0.75" stick_chance="1"/>
<property name="TakeDelay" value="15"/>
<property name="DescriptionKey" value="workstationResearchTableDesc"/>
<property name="EconomicValue" value="776"/>
<property name="Group" value="Building,Science"/>
<property name="FilterTags" value="fdecor,fother,ffurniture"/>
<property name="SortOrder1" value="70i0"/>
</block>

+Windows

 

<window name="[color="#00FFFF"]windowToolsResearchTable[/color]" width="228" height="121" panel="Right" cursor_area="true" >
	<panel style="header.panel">			
		<sprite style="header.icon" sprite="ui_game_symbol_pen"/>
		<label style="header.name" text="TOOLS" text_key="xuiTools" />
	</panel>

	<rect name="content" depth="0" pos="0,-46" height="75" disablefallthrough="true" on_press="true">

		<grid name="inventory" rows="1" cols="1" pos="3,-3" cell_width="75" cell_height="75" controller="WorkstationToolGrid" repeat_content="true" allow_sort_order="false" required_tools="toolGeometrySet" required_tools_only="true">
			<required_item_stack name="0"/>
		</grid>		

		<!-- <grid name="slot_preview" depth="1" rows="1" cols="3" pos="3,-3" cell_width="75" cell_height="75" controller="SlotPreview">
			<rect>
				<sprite name="slot" depth="2" width="70" height="50" color="[white_quarter_alpha]" sprite="toolCookingPot" atlas="ItemIconAtlasGreyscale"  pos="35,-30" pivot="center" foregroundlayer="true" />
			</rect>
			<rect>
				<sprite name="slot" depth="2" width="70" height="50" color="[white_quarter_alpha]" sprite="toolCookingGrill" atlas="ItemIconAtlasGreyscale"  pos="35,-30" pivot="center" foregroundlayer="true"/>
			</rect>
			<rect>
				<sprite name="slot" depth="2" width="70" height="50" color="[white_quarter_alpha]" sprite="toolBeaker" atlas="ItemIconAtlasGreyscale"  pos="35,-30" pivot="center" foregroundlayer="true"/>
			</rect>
		</grid> -->
	</rect>
</window>

+xui

 

<window_group name="workstation_[color="#FF8C00"]workstationResearchTable[/color]" controller="XUiC_WorkstationWindowGroup">
		<window name="windowCraftingList"/>
		<window name="craftingInfoPanel"/>
		<window name="windowCraftingQueue"/>
		<window name="[color="#00FFFF"]windowToolsResearchTable[/color]" />
		<window name="windowOutput" />
		<window name="windowNonPagingHeader" />
	</window_group>

Link to comment
Share on other sites

Here is a full eg. of adding a custom workstation:

 

+Blocks

 

<block name="[color="#FF8C00"]workstationResearchTable[/color]">
<property name="Class" value="Workstation"/>
<property name="CustomIcon" value="schoolDesk"/>
<property name="Material" value="Mwood_weak"/>
<property name="MaxDamage" value="800"/>
<property name="StabilitySupport" value="false"/>
<property name="Shape" value="Ext3dModel"/>
<property name="Texture" value="282"/>
<property name="Mesh" value="models"/>
<property name="Path" value="solid"/>
<property name="Model" value="Furniture/school_desk" param1="main_mesh"/>
<property name="ImposterDontBlock" value="true"/>
<property name="Place" value="TowardsPlacerInverted"/>
<property name="OnlySimpleRotations" value="true"/>
<property name="IsTerrainDecoration" value="true"/>
<property name="HeatMapStrength" value="0.5"/>
<property name="HeatMapTime" value="1200"/>
<property name="HeatMapFrequency" value="25"/>
<property name="Stacknumber" value="1"/>
<property class="Workstation">
	<property name="Modules" value="tools,output"/>
</property>
<property name="WorkstationIcon" value="ui_game_symbol_workbench" />
<property name="OpenSound" value="open_cardboard" />
<property name="CloseSound" value="close_cardboard" />
<property class="RepairItems">
	<property name="resourceWood" value="50"/>
	<property name="resourceNail" value="10"/>
	<property name="resourceGlue" value="10"/>
</property>
<drop event="Harvest" name="terrStone" count="0" tool_category="Disassemble"/>
<drop event="Destroy" name="workstationResearchTable" count="1" tag="salvageHarvest"/>
<drop event="Fall" name="terrDestroyedWoodDebris" count="1" prob="0.75" stick_chance="1"/>
<property name="TakeDelay" value="15"/>
<property name="DescriptionKey" value="workstationResearchTableDesc"/>
<property name="EconomicValue" value="776"/>
<property name="Group" value="Building,Science"/>
<property name="FilterTags" value="fdecor,fother,ffurniture"/>
<property name="SortOrder1" value="70i0"/>
</block>

+Windows

 

<window name="[color="#00FFFF"]windowToolsResearchTable[/color]" width="228" height="121" panel="Right" cursor_area="true" >
	<panel style="header.panel">			
		<sprite style="header.icon" sprite="ui_game_symbol_pen"/>
		<label style="header.name" text="TOOLS" text_key="xuiTools" />
	</panel>

	<rect name="content" depth="0" pos="0,-46" height="75" disablefallthrough="true" on_press="true">

		<grid name="inventory" rows="1" cols="1" pos="3,-3" cell_width="75" cell_height="75" controller="WorkstationToolGrid" repeat_content="true" allow_sort_order="false" required_tools="toolGeometrySet" required_tools_only="true">
			<required_item_stack name="0"/>
		</grid>		

		<!-- <grid name="slot_preview" depth="1" rows="1" cols="3" pos="3,-3" cell_width="75" cell_height="75" controller="SlotPreview">
			<rect>
				<sprite name="slot" depth="2" width="70" height="50" color="[white_quarter_alpha]" sprite="toolCookingPot" atlas="ItemIconAtlasGreyscale"  pos="35,-30" pivot="center" foregroundlayer="true" />
			</rect>
			<rect>
				<sprite name="slot" depth="2" width="70" height="50" color="[white_quarter_alpha]" sprite="toolCookingGrill" atlas="ItemIconAtlasGreyscale"  pos="35,-30" pivot="center" foregroundlayer="true"/>
			</rect>
			<rect>
				<sprite name="slot" depth="2" width="70" height="50" color="[white_quarter_alpha]" sprite="toolBeaker" atlas="ItemIconAtlasGreyscale"  pos="35,-30" pivot="center" foregroundlayer="true"/>
			</rect>
		</grid> -->
	</rect>
</window>

+xui

 

<window_group name="workstation_[color="#FF8C00"]workstationResearchTable[/color]" controller="XUiC_WorkstationWindowGroup">
		<window name="windowCraftingList"/>
		<window name="craftingInfoPanel"/>
		<window name="windowCraftingQueue"/>
		<window name="[color="#00FFFF"]windowToolsResearchTable[/color]" />
		<window name="windowOutput" />
		<window name="windowNonPagingHeader" />
	</window_group>

 

You're the best Clockwork! Yeah I was messing with it for a couple hours trying this and that and just COULD NOT get it to work... I'll play with this a bit more when I get home from work. (BTW we uploaded your Unofficial XML Fixes to the server we play on and with a few hours a frind of our blew up his defenses with an HE Rocket on Bloodmoon. It was hilarious)

Link to comment
Share on other sites

You're the best Clockwork! Yeah I was messing with it for a couple hours trying this and that and just COULD NOT get it to work... I'll play with this a bit more when I get home from work. (BTW we uploaded your Unofficial XML Fixes to the server we play on and with a few hours a frind of our blew up his defenses with an HE Rocket on Bloodmoon. It was hilarious)

 

Lmao, that is awesome, hey and if you guys want even more of a challenge come check out my ACP mod at some point if it interests you.

 

Anyways you guys are welcome hope it helps. Cheers!

Link to comment
Share on other sites

got it

 

u only need the xui for A17

 

	<ruleset name="default" scale="1.255" stackpanel_scale="1.05">
	<window_group name="workstation_URBENCHNAME" controller="XUiC_WorkstationWindowGroup">
		<window name="windowCraftingList"/>
		<window name="craftingInfoPanel"/>
		<window name="windowCraftingQueue"/>
		<window name="windowOutput" />
		<window name="windowNonPagingHeader" />
		<!-- <window name="windowCombine" /> -->
	</window_group>	
		</ruleset>

 

that works fine for me

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...