Cloud spawning: Difference between revisions

From Resonite Wiki
m Kaestral moved page How To Unofficially Cloud Spawn to Cloud spawning: Avoiding sentences as titles, sentence casing titles, removing "unofficially" since this is the current only method for cloud spawning and there's already two big warning notes at the top of the page. Once official cloud spawning is available, this page can probably be reworked!
Consolidating the cloud spawning pages, since there's really no need to have two and they duplicate information. I will probably do more major work to rearrange this soon!
Line 2: Line 2:
{{Note|Cloud Spawning is part of the [[Things to Avoid]] list. It may break in the future without warning.|warning}}
{{Note|Cloud Spawning is part of the [[Things to Avoid]] list. It may break in the future without warning.|warning}}


This tutorial will serve as a quick guide to unofficially [[Cloud Spawning|cloud spawn]] items from a [[User|user's]] [[Inventory]], and is also designed to get you started immediately, in a step by step process.
'''Cloud Spawning''' is the unofficial term used to describe the action of spawning an item from a [[User|user's]] [[Inventory]] using a resdb link. Doing this currently and easily requires a mod ([https://github.com/art0007i/ShowDelegates Show Delegates] from [[User:Arti|Arti]]) that can get the resdb link and adding it to several components to make spawning that item possible. It is also one of the [[Things to Avoid#Using_Keyboard_Components.2FNodes_to_spawn_items|things to avoid]].


== What You Need ==
== Methods of Cloud Spawning ==
 
=== Copy & Paste ===
 
There is a certain way of just using components to copy and then paste in the item from an inventory. [[RedX]] uses something similar to this to spawn out items.
 
=== Components and Method Proxies ===
 
This way allows for full control of how you want to spawn out the item from an inventory. This needs a mod to show the delegates and to get the [[ProtoFlux:Method Proxy|Method Proxy]] nodes, then once called, will spawn the item.
 
==== What You Need ====
* The mods [https://github.com/art0007i/ShowDelegates Show Delegates] from [[User:Arti|Arti]] & [https://github.com/EIA485/NeosGetItemLink GetItemLink]. For information on modding [[Resonite]], see [[Mods]].
* The mods [https://github.com/art0007i/ShowDelegates Show Delegates] from [[User:Arti|Arti]] & [https://github.com/EIA485/NeosGetItemLink GetItemLink]. For information on modding [[Resonite]], see [[Mods]].
* One [[Slot]] to hold components.
* One [[Slot]] to hold components.
Line 10: Line 20:
* The target item you want to spawn from the [[Inventory]].
* The target item you want to spawn from the [[Inventory]].


== Setup ==
==== Item Setup ====
 
This is surprisingly simple to setup, here is how you would do it.
 
=== Item Setup ===


[[File:Get Item Link Buttons.png|alt=The get item link buttons.|thumb|The get item link buttons (with the cheese button being active).]]
[[File:Get Item Link Buttons.png|alt=The get item link buttons.|thumb|The get item link buttons (with the cheese button being active).]]
Line 22: Line 28:
# Use the Get Item Link mod to get the resdb link (the cheese button).
# Use the Get Item Link mod to get the resdb link (the cheese button).


=== Slot Setup ===
==== Slot Setup ====


[[File:Inspector Showing Cloud Spawning Components.png|alt=An inspector showing the components needed to make cloud spawning work.|thumb|An inspector showing the components needed to make [[Cloud Spawning|cloud spawning]] work.]]
[[File:Inspector Showing Cloud Spawning Components.png|alt=An inspector showing the components needed to make cloud spawning work.|thumb|An inspector showing the components needed to make [[Cloud Spawning|cloud spawning]] work.]]
Line 34: Line 40:
# (Alternatively) Open the [[Component:FileMetadata|FileMetadata]] Sync Methods using the Show Delegates mod, and with the [[ProtoFlux Tool]], grab and hold the <code>OnImportFile</code> method. Then open the context menu while still holding it, select <code>Proxy</code>.
# (Alternatively) Open the [[Component:FileMetadata|FileMetadata]] Sync Methods using the Show Delegates mod, and with the [[ProtoFlux Tool]], grab and hold the <code>OnImportFile</code> method. Then open the context menu while still holding it, select <code>Proxy</code>.


=== ProtoFlux Setup ===
==== ProtoFlux Setup ====


[[File:Code To Cloud Spawn.png|alt=An example of how to use ProtoFlux to cloud spawn.|thumb|An example of how to use [[ProtoFlux]] to [[Cloud Spawning|cloud spawn]].]]
[[File:Code To Cloud Spawn.png|alt=An example of how to use ProtoFlux to cloud spawn.|thumb|An example of how to use [[ProtoFlux]] to [[Cloud Spawning|cloud spawn]].]]
Line 42: Line 48:
[[Category:Tutorial]]
[[Category:Tutorial]]
[[Category:Technical article]]
[[Category:Technical article]]
== Official Support ==
You can track the work on an official version of Cloud Spawning in this [https://github.com/Yellow-Dog-Man/Resonite-Issues/issues/313 GitHub Issue].

Revision as of 19:21, 9 August 2025

This method is not supported by the developers of Resonite and may break at any time!
Cloud Spawning is part of the Things to Avoid list. It may break in the future without warning.

Cloud Spawning is the unofficial term used to describe the action of spawning an item from a user's Inventory using a resdb link. Doing this currently and easily requires a mod (Show Delegates from Arti) that can get the resdb link and adding it to several components to make spawning that item possible. It is also one of the things to avoid.

Methods of Cloud Spawning

Copy & Paste

There is a certain way of just using components to copy and then paste in the item from an inventory. RedX uses something similar to this to spawn out items.

Components and Method Proxies

This way allows for full control of how you want to spawn out the item from an inventory. This needs a mod to show the delegates and to get the Method Proxy nodes, then once called, will spawn the item.

What You Need

Item Setup

The get item link buttons.
The get item link buttons (with the cheese button being active).
  1. Open the Inventory tab on the Dash.
  2. Navigate to the item you want to cloud spawn.
  3. Use the Get Item Link mod to get the resdb link (the cheese button).

Slot Setup

An inspector showing the components needed to make cloud spawning work.
An inspector showing the components needed to make cloud spawning work.
  1. Create an empty slot using the Dev Tool.
  2. Attach the StaticBinary component.
    1. For the URL, place your item's resdb link here.
  3. Attach the FileMetadata component.
    1. For the Filename, you can use any name here, but it must have the .brson, .7zbson, or .lz4bson file extension at the end of the name. (Filling in MIME is not required.)
  4. Add a button component onto the slot or parent slot, and trigger it to spawn the item.
  5. (Alternatively) Open the FileMetadata Sync Methods using the Show Delegates mod, and with the ProtoFlux Tool, grab and hold the OnImportFile method. Then open the context menu while still holding it, select Proxy.

ProtoFlux Setup

An example of how to use ProtoFlux to cloud spawn.
An example of how to use ProtoFlux to cloud spawn.
  1. With the method proxy, connect it to anything that can send a pulse to it (the example shows a Call node doing this).

Official Support

You can track the work on an official version of Cloud Spawning in this GitHub Issue.