Furniture System VisuStella MZ
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
VisuStella, Caz Wolf, Fallen Angel Olivia, Atelier Irina, and other affiliated content creators.
Download | ||
SystemThis is a plugin created for RPG Maker MZ. | ||
Click here for help on how to install plugins and an explanation on the Tier Hierarchy System. |
Click here to learn how to update plugins. |
Click here for how to troubleshoot plugins if you get an error. |
Required PluginsThe following plugins are required in order to use this plugin. Place the following plugins above this plugin located in the Plugin Manager.
VisuStella MZThis plugin is a part of the VisuStella MZ Plugin Library. Click here if you want to help support VisuStella on Patreon. IntroductionEver wanted to let your player decorate certain maps with furniture items? Letting players let loose is a great way for players to turn a playthrough into something that they can call their own and express themselves. This plugin allows you to create furniture items that the player can place on designated maps and create a place they feel at home. Features include all (but not limited to) the following:
RequirementsThis plugin is made for RPG Maker MZ. This will not work in other iterations of RPG Maker. Required Plugin List
This plugin requires the above listed plugins to be installed inside your game's Plugin Manager list in order to work. You cannot start your game with this plugin enabled without the listed plugins. Note: You can download the Pixi JS Filters plugin library from the below URL or from the Action Sequence Impact product page. Install it as a Tier 0 plugin. Note2: Pixi JS Filters perform differently on different machines/devices. Please understand that this is outside of VisuStella's control. URL: PixiJS
This plugin is a Tier 2 plugin. Place it under other plugins of lower tier value on your Plugin Manager list (ie: 0, 1, 2, 3, 4, 5). This is to ensure that your plugins will have the best compatibility with the rest of the VisuStella MZ Plugin library.
Instructions - Quick StartHere are some instructions to get yourself started quickly on using the Furniture System. --- Step 1: Creating a Furniture Storage Map 1. Create a new map (or use an old one if you know what you're doing). 2. On this map, create the furniture pieces that will be seen in the game. 3. Record the Map ID and any Event ID(s) that you want to use. --- Step 2: Registering the Map and Events 1. Open up VisuStella MZ's Events & Movement Core's Plugin Parameters. (VisuMZ_1_EventsMoveCore) 2. Open up "Event Template Settings". 3. Store the furniture map's Map ID into "Preloaded Maps". 4. Create new Event Templates in "Event Template List" using the Map ID and any Event ID(s) that will be used as furniture. 5. Write down any "Template names" that you want to use later. 6. Close the Plugin Parameters and save everything. --- Step 3: Creating Furniture Items in the Database 1. Open up the RPG Maker MZ Database Editor. 2. Go to the Item's tab. 3. Create a regular item. It doesn't need any specific function but give it a name, icon, and/or description. 4. Add in the following notetag into the item's note box: <Furniture Template: name> 5. Replace 'name' in the notetag with a name of the Event Template to refer to for a furniture event. 6. You do NOT need to modify the "Occassion" setting as this will be automatically decided by the plugin. 7. Create as many items this way as needed. 8. Close the item database by clicking OK and save the game project. --- Step 4: Creating a Furniture-Allowed Map 1. Create a new map where you want your player to be able to place furniture on any way they wish. 2. Right click the map's name in the editor and go to the Map's Properties. 3. Add the <Allow Furniture> notetag to the map's notebox. 4. Alternatively, you can go to the Furniture System's Plugin Parameters, go to "Default Settings", and allow all maps to have furniture access by default unless they have the <No Furniture> notetag. 5. Give your player a way to acquire some of the furniture database items. 6. Save the game project. 7. Let's test it out! --- Step 5: Play Testing 1. As the player, acquire the database items for the Furniture pieces. 2. Go to the map where you can place furniture. 3. Open up the Main Menu and go to "Items". 4. From there, select the furniture item and use it. 5. The game should take you back to the map scene but this time, with an event in front of the player resembling the piece of furniture that can be placed on the map. 6. Place the piece of furniture on the map using the arrow keys or mouse. 7. Press Z or the Left Mouse Button to put down the piece of furniture. 8. Press X or the Right Mouse Button to exit Furniture Mode. 9. Alternatively, if you run out of furniture items to put down, the game will automatically exit you out of Furniture Mode. 10. If you want to quickly move furniture events that have already been placed, left click and hold the mouse button on them for 1.5 seconds. --- Enjoy! --- Understanding FeaturesHere are the newest features added to RPG Maker MZ through this plugin. --- Furniture ModeWhen furniture objects are being placed, the map scene will freeze up, preventing the player and events from being able to move or open up the main menu until Furniture Mode is finished. Furniture Mode can only be entered on maps where furniture is enabled to be placed on. This can be setup via the Plugin Parameters (so that they can all be on or off by default) or by using the <Allow Furniture> or <No Furniture> notetags inside of the map's note box. --- Furniture EventsFurniture Events are spawned events that are made through VisuStella MZ's Events & Movement Core. As such, the VisuMZ_1_EventsMoveCore plugin is required for this plugin to run. For those unfamiliar with Event Templates, please read through the Event & Movement Core's helpfile for Event Templates. These templates need to be stored within the designated "Preloaded Maps" and "Templates" list found in the Event & Movement Core's Plugin Parameters. As Furniture Events are also spawned items, they are also affected by any Despawn effects that come from either Events & Movement Core or this plugin's Plugin Commands. --- Furniture Items (Database Objects)Furniture database objects are items. In fact, they can't be weapons or armors or anything else. They have to be items. A furniture item will require the <Furniture Template: name> notetag in it for it to be properly registered as a furniture item. Furniture items will automatically be unusable outside of the item scene, meaning that you cannot use them in battle. When inside the item scene, the furniture item will check to see if the current map is one that supports furniture items. --- Notetags
RPG Maker MZ's editor is unable to allow for custom traits/properties that a game dev may wish to associate with a database object, event, map, etc. Notetags are used to work around such limitations by allowing the game dev to tag certain traits/properties using specific Notetags declared by the related plugin. Here is a list of Notetag(s) that you may use.
--- Map-Related Notetags--- <Allow Furniture> - Used for: Map Notetags - Allows furniture objects to be placed on this map by the player. - If this notetag is not present, the furniture-accessibility for the player is depending on the settings found in the Plugin Parameters. --- <No Furniture> - Used for: Map Notetags - Prevents furniture objects from being placed on this map by the player. - You can still spawn furniture objects onto the map via Plugin Command. - If this notetag is not present, the furniture-accessibility for the player is depending on the settings found in the Plugin Parameters. --- Furniture-Related Notetags--- <Furniture Template: name> <Furniture Templates: name, name, name> - Used for: Item Notetags - Marks this item database object as a furniture piece of item. - Replace 'name' with the name of a stored Event Template found within the Events and Movement Core's Plugin Parameters. - Insert multiple names if you want more variations associated with this furniture item. - These variations can be different rotations of the item or different colors of them, or maybe even both. The choice is yours. - This notetag is absolutely needed in order to mark this database object as a piece of furniture item. --- <Furniture Allow Region: x> <Furniture Allow Regions: x, x, x> - Used for: Item Notetags - Dictates the regions that the player can ONLY place this piece of furniture on. In other words, you cannot place furniture on tiles without the region. - This will bypass passability rules (so that you can use them for wall decorations). - Replace 'x' with a number between 1 and 255 representing the Region ID associated with this notetag effect. - Insert multiple numbers to expand the regions that the furniture can be placed on. - This notetag CANNOT be used together on the same object with the notetag: <Furniture Forbid Region: x> and variants. - If this notetag is not used, then the Allowed Regions settings will default to whatever setting is found in this plugin's Plugin Parameters. --- <Furniture Forbid Region: x> <Furniture Forbid Regions: x, x, x> - Used for: Item Notetags - Dictates the regions that the player CANNOT place this piece of furniture on. In other words, you cannot place furniture on tiles with this region. - Replace 'x' with a number between 1 and 255 representing the Region ID associated with this notetag effect. - Insert multiple numbers to expand the regions that the furniture cannot be placed on. - This notetag CANNOT be used together on the same object with the notetag: <Furniture Allow Region: x> and variants. - If this notetag is not used, then the Forbid Regions settings will default to whatever setting is found in this plugin's Plugin Parameters. --- <Furniture Allow Terrain Tag: x> <Furniture Allow Terrain Tags: x, x, x> - Used for: Item Notetags - Dictates the terrain tag tiles that the player can ONLY place this piece of furniture on. In other words, you cannot place furniture on tiles without the terrain tag. - This will bypass passability rules (so that you can use them for wall decorations). - Replace 'x' with a number between 1 and 7 representing the Terrain Tag associated with this notetag effect. - Insert multiple numbers to expand the tiles that the furniture can be placed on. - This notetag CANNOT be used together on the same object with the notetag: <Furniture Allow Terrain Tag: x> and variants. - If this notetag is not used, then the Allowed Terrain Tag settings will default to whatever setting is found in this plugin's Plugin Parameters. --- <Furniture Forbid Terrain Tag: x> <Furniture Forbid Terrain Tags: x, x, x> - Used for: Item Notetags - Dictates the terrain tag tiles that the player CANNOT place this piece of furniture on. In other words, you cannot place furniture on tiles with this terrain tag. - Replace 'x' with a number between 1 and 7 representing the Terrain Tag associated with this notetag effect. - Insert multiple numbers to expand the tiles that the furniture cannot be placed on. - This notetag CANNOT be used together on the same object with the notetag: <Furniture Forbid Terrain Tag: x> and variants. - If this notetag is not used, then the Forbid Terrain Tag settings will default to whatever setting is found in this plugin's Plugin Parameters. --- <Furniture Check Event Collision> <Furniture Allow Event Stacking> - Used for: Item Notetags - Causes the furniture object to check for event collision or let the player stack events on a single tile infinitely. - We recommend not using the "Allow" version. Best leave this notetag alone unless you absolutely know what you're doing with it. - If either of these notetags are not used, then the default settings will be determined by the setting found in this plugin's Plugin Parameters. --- <Furniture Need Passability> <Furniture Free Passability> - Used for: Item Notetags - The "Need" notetag variant determines if the furniture object checks if the tile it's placed on must have passability in order to be valid. - The "Free" notetag variant version does the opposite; it does not need any passability settings. - This effect is ignored with the Allowed Region/Terrain Tag notetags. - If either of these notetags are not used, then the default settings will be determined by the setting found in this plugin's Plugin Parameters. - *NOTE!* The passability check does not work well with the A4 Tiles. Unfortunately, there is not much we can do about this because of the way RPG Maker MZ handles it. No matter how you mark them in the database, RPG Maker MZ will decide that they are passable. You have to work around this with Forbid Region notetags or Forbid Terrain Tag notetags. --- <Furniture Place Common Event: x> - Used for: Item Notetags - Runs a Common Event when the furniture object is placed. - Replace 'x' with a number representing the ID of the Common Event to run. - If this notetag is not used, then the default settings for this effect will be determined by this plugin's Plugin Parameters. --- <Furniture Place Once> <Furniture Place Until Empty> - Used for: Item Notetags - Automatically exit "Furniture Mode" once a furniture object is placed or only exit after the items placing them have been emptied out (or until the player presses cancel). - If this notetag is not used, then the default settings for this effect will be determined by this plugin's Plugin Parameters. --- <Furniture Prevent Cancel Exit> - Used for: Item Notetags - For those weird times where you don't want the player to be able to cancel out of furniture mode when using this item. - There is no Plugin Parameter default for this. --- Event-Related Notetags--- <Furniture Not Movable> - Used for: Event Notetags - NOTE! This does NOT work if you put it inside an event's comments. - Prevents the furniture from being movable by either player interaction or Plugin Command. - Use for things like crops. --- Plugin CommandsPlugin Commands are event commands that are used to call upon functions added by a plugin that aren't inherently a part of RPG Maker MZ. Here is a list of Plugin Command(s) that you may use: ---
--- Furniture Plugin Commands--- Furniture: Add Player Placement - Start furniture placement mode for a specific template type. - Player determines the actual position. - Cannot use this Plugin Command during Furniture Mode. Furniture Item: - Which furniture item is used to be placed? - Non-furniture items won't work. Generate Item?: - Generate an item for the player? - If the player does not have the furniture item in stock, this will not work. --- Furniture: Spawn At X, Y - Spawns desired furniture at X, Y location on the current map. - Cannot use this Plugin Command during Furniture Mode. Furniture Item: - Which furniture item is used to be placed? - Non-furniture items won't work. Template Index: - Which template index do you wish to use for the spawned furniture item? - Index starts at 0. Location: X Coordinate: Y Coordinate: - Target X/Y coordinate to spawn at. - You may use JavaScript code. Success Switch ID: - Target switch ID to record spawning success. - Ignore if ID is 0. OFF means failed. ON means success. --- Event At X/Y Plugin Commands--- Event At X/Y: Despawn Furniture - Completely remove the furniture event at X/Y. - Can use on either furniture or non-furniture. X Coordinate: Y Coordinate: - Target X/Y coordinate to search for Furniture Event. - You may use JavaScript code. --- Event At X/Y: Move Furniture - Move the furniture item event at X/Y. - Use on a template event that can be spawned and moved. - Cannot use this Plugin Command during Furniture Mode. X Coordinate: Y Coordinate: - Target X/Y coordinate to search for Furniture Event. - You may use JavaScript code. --- Event At X/Y: Retrieve Furniture - Retrieve the furniture at X/Y to Player's inventory. - Use on a template event that can be spawned and moved. X Coordinate: Y Coordinate: - Target X/Y coordinate to search for Furniture Event. - You may use JavaScript code. --- This Event Plugin Commands--- This Event: Despawn Furniture - Completely remove this current furniture event. - Can use on either furniture or non-furniture. --- This Event: Move Furniture - Move this current furniture item. - Use on a template event that can be spawned and moved. --- This Event: Retrieve Furniture - Retrieve this current furniture to Player's inventory. - Use on a template event that can be spawned and moved. --- Plugin ParametersDefault SettingsDefault settings that are applied to maps and database objects unless specified otherwise. --- Default Map Settings Allow Furniture Mode?: - Allow all maps the ability to put furniture on them by default? - If not, requires notetags. --- Default Item Settings Allowed Regions: - Furniture with this MUST be placed in these regions. - CANNOT be used with Forbid Regions. Forbid Regions: - Furniture CANNOT be placed in these regions. - CANNOT be used with Allowed Regions Allowed Terrain Tags: - Furniture with this MUST be placed in these tags. - CANNOT be used with Forbid Terrain Tags. Forbid Terrain Tags: - Furniture CANNOT be placed in these tags. - CANNOT be used with Allowed Terrain Tags. Parameter: - Description --- Default Check Settings Event Collision?: - Check event collision by default before placement? - Recommended to be enabled. Passability?: - Check passability by default before placement? - Recommended to be enabled. --- Default Misc Settings Common Event: - Run which Common Event by default after placing furniture? - Use 0 for no Common Event. End on Place?: - End Furniture Mode after placing 1 item? - Or end until items are empty or cancelled? --- Filter SettingsSettings used for the filter effects found with this plugin. The outline filter requires you to have Pixi JS Filters installed. Otherwise, you will not see anything from it. --- Tone Filter Allowed Tone: - Tone when furniture is over a placeable tile. - Format: [Red, Green, Blue, Gray] Forbidden Tone: - Tone when furniture is over a forbidden tile. - Format: [Red, Green, Blue, Gray] --- Outline Filter Thickness: - What outline thickness do you want for furniture cursor? - Requires Pixi JS Filters. Quality: - Quality level for the outline filter. - Requires Pixi JS Filters. Allowed Color: - System hex code color for allowed color. - Format: 0xRRGGBB - Requires Pixi JS Filters. Forbidden Color: - System hex code color for forbidden color. - Format: 0xRRGGBB - Requires Pixi JS Filters. --- Sound SettingsSound effect settings when interacting with furniture. --- Place Furniture Filename: - Filename of the sound effect played. Volume: - Volume of the sound effect played. Pitch: - Pitch of the sound effect played. Pan: - Pan of the sound effect played. --- Move Furniture Filename: - Filename of the sound effect played. Volume: - Volume of the sound effect played. Pitch: - Pitch of the sound effect played. Pan: - Pan of the sound effect played. --- Window SettingsSettings that adjust how Furniture Mode windows appear in-game and how they behave. --- Mechanical Settings Hold Time: - How many frames must a furniture event be clicked and held before entering move furniture mode? --- Help Window Settings Background Type: - Select background type for this window. - 0 - Window - 1 - Dim - 2 - Transparent Fade Target: Opacity: - What opacity value should this window fade to when the mouse cursor is over it? Column 1: Offset: Column 2: Offset - Offset the column 1/2 text by how many pixels? - Negative: Left; Positive: Right JS: Draw: - Code used to determine what is drawn inside this window. JS: X, Y, W, H: - Code used to determine the dimensions for this window. --- Item Window Settings Fade Target: Opacity: - What opacity value should this window fade to when the mouse cursor is over it? JS: Draw: - Code used to determine what is drawn inside this window. JS: X, Y, W, H: - Code used to determine the dimensions for this window. --- Cancel Button Settings JS: X Position: JS: Y Position: - Code used to determine the x/y coordinates for this button. --- Vocabulary Settings Position: Button(s): Variant: Button(s): Confirm: Button(s): Cancel: Button(s): - Buttons to use for this feature. - Text codes allowed. Position: Action: Variant: Action: Confirm: Action: Cancel: Action: - Text used explaining this feature. - Text codes allowed. ---
Terms of Use1. These plugins may be used in free or commercial games provided that they have been acquired through legitimate means at VisuStella.com and/or any other official approved VisuStella sources. Exceptions and special circumstances that may prohibit usage will be listed on VisuStella.com. 2. All of the listed coders found in the Credits section of this plugin must be given credit in your games or credited as a collective under the name: "VisuStella". 3. You may edit the source code to suit your needs, so long as you do not claim the source code belongs to you. VisuStella also does not take responsibility for the plugin if any changes have been made to the plugin's code, nor does VisuStella take responsibility for user-provided custom code used for custom control effects including advanced JavaScript notetags and/or plugin parameters that allow custom JavaScript code. 5. VisuStella is not responsible for problems found in your game due to unintended usage, incompatibility problems with plugins outside of the VisuStella MZ library, plugin versions that aren't up to date, nor responsible for the proper working of compatibility patches made by any third parties. VisuStella is not responsible for errors caused by any user-provided custom code used for custom control effects including advanced JavaScript notetags and/or plugin parameters that allow JavaScript code. 8. Any extensions and/or addendums made to this plugin's Terms of Use can be found on VisuStella.com and must be followed. Terms of Use: Japanese『VisuStella MZ』利用規約 1. これらのプラグインは、VisuStella.comおよび/または公式に承認されたVisuStellaのソースから合法的な手段で入手したものである限り、フリーゲームや商用ゲームに使用することができます。例外的に使用が禁止される場合については、VisuStella.comの記載をご確認ください。 2. 本プラグインの「クレジット」部分に記載されているすべてのコーダーの名前は、ゲーム内にクレジット表記を行うか、もしくは「VisuStella」という名前の下にまとめて表記する必要があります。 3. ソースコードを自分のものだと主張しない限りは、必要に応じて編集することが可能です。ただしプラグインのコードに変更が加えられた場合、VisuStellaはそのプラグインに対して一切の責任を負いません。高度なJavaScriptのノートタグやJavaScriptコードを許可するプラグインのパラメータを含む、カスタムコントロールエフェクトに使用される、ユーザー提供のカスタムコードについても、VisuStellaは一切の責任を負いません。 5. VisuStellaは、意図しない使用方法による問題、VisuStella MZライブラリ以外のプラグインとの非互換性の問題、プラグインのバージョンが最新でないことによる問題、第三者による互換性パッチが適切に動作していないことなどが原因でゲーム内で発生した問題については、一切の責任を負いません。VisuStellaは、高度なJavaScriptのノートタグやJavaScriptコードを許可するプラグインのパラメータを含む、カスタムコントロールエフェクトに使用される、ユーザー提供のカスタムコードに起因するエラーについても、一切の責任を負いません。 8. このプラグインの利用規約の追加項目や補足については、VisuStella.comに掲載されていますので、それを参照し従ってください。 CreditsIf you are using this plugin, credit the following people in your game: Team VisuStella ChangelogVersion 1.06: June 30, 2022
Version 1.05: June 23, 2022
Version 1.04: February 24, 2022
Version 1.03: February 3, 2022
Version 1.02: January 20, 2022
Version 1.01: January 6, 2022
Version 1.00 Official Release Date: February 7, 2022
End of File |