Skip to main content

Interaction Manager

The Interaction Manager controls what QuickShop-Hikari does when a player clicks a shop sign, shop block, container, or shop display.

This allows server owners to customize QuickShop interaction behavior for:

  • standing players;
  • sneaking players;
  • left-clicks;
  • right-clicks;
  • shop signs;
  • shop blocks;
  • containers;
  • display entities.

Interaction behavior is configured in:

interaction.yml

Default Configuration​

The current default configuration is:

version: 4

# Chat Mode:
STANDING_LEFT_CLICK_SIGN: TRADE_INTERACTION
STANDING_RIGHT_CLICK_SIGN: CONTROL_PANEL

STANDING_LEFT_CLICK_SHOPBLOCK: TRADE_INTERACTION
STANDING_RIGHT_CLICK_SHOPBLOCK: NONE # Reserve for open chest

STANDING_LEFT_CLICK_CONTAINER: TRADE_INTERACTION
STANDING_RIGHT_CLICK_CONTAINER: NONE

STANDING_LEFT_CLICK_DISPLAY: NONE
STANDING_RIGHT_CLICK_DISPLAY: NONE

SNEAKING_LEFT_CLICK_CONTAINER: NONE
SNEAKING_RIGHT_CLICK_CONTAINER: NONE

SNEAKING_LEFT_CLICK_DISPLAY: NONE
SNEAKING_RIGHT_CLICK_DISPLAY: NONE

SNEAKING_LEFT_CLICK_SIGN: NONE
SNEAKING_RIGHT_CLICK_SIGN: NONE

SNEAKING_LEFT_CLICK_SHOPBLOCK: NONE
SNEAKING_RIGHT_CLICK_SHOPBLOCK: NONE # Reserve for open chest

The key defines how the player interacted with the shop.

The value defines which QuickShop behavior should run.

Interaction Targets​

QuickShop supports several interaction targets.

Sign​

SIGN

The shop information sign associated with the shop.

Examples:

STANDING_LEFT_CLICK_SIGN
STANDING_RIGHT_CLICK_SIGN

Shop Block​

SHOPBLOCK

The block representing the shop itself.

For a normal container shop, this is typically the shop's chest or other supported inventory block.

Examples:

STANDING_LEFT_CLICK_SHOPBLOCK
SNEAKING_RIGHT_CLICK_SHOPBLOCK

Container​

CONTAINER

A direct interaction with the shop's inventory container.

Examples:

STANDING_LEFT_CLICK_CONTAINER
STANDING_RIGHT_CLICK_CONTAINER
SNEAKING_LEFT_CLICK_CONTAINER
SNEAKING_RIGHT_CLICK_CONTAINER

The default configuration reserves normal right-click container behavior by assigning:

STANDING_RIGHT_CLICK_CONTAINER: NONE

Display​

DISPLAY

Interactions with QuickShop's shop display.

The available display interaction keys are:

STANDING_LEFT_CLICK_DISPLAY: NONE
STANDING_RIGHT_CLICK_DISPLAY: NONE
SNEAKING_LEFT_CLICK_DISPLAY: NONE
SNEAKING_RIGHT_CLICK_DISPLAY: NONE

By default, all four display interactions use:

NONE

so interacting directly with a display does not trigger a QuickShop behavior unless the server owner explicitly configures one.

info

Display interaction keys are separate from sign, shop-block, and container interactions. This allows display entities to have their own behavior without changing how the physical shop block works.

Player Position​

Each interaction distinguishes between a player who is standing normally and a player who is sneaking.

Standing​

Keys beginning with:

STANDING_

apply when the player is not sneaking.

For example:

STANDING_LEFT_CLICK_SIGN

Sneaking​

Keys beginning with:

SNEAKING_

apply while the player is sneaking.

For example:

SNEAKING_LEFT_CLICK_SIGN

This makes it possible to assign different actions to the same click depending on whether the player is holding the sneak key.

Click Types​

Left Click​

LEFT_CLICK

Represents Minecraft's normal attack/break interaction.

For example:

STANDING_LEFT_CLICK_SIGN

Right Click​

RIGHT_CLICK

Represents Minecraft's normal use/interact action.

For example:

STANDING_RIGHT_CLICK_SIGN

Some right-click interactions default to NONE so Minecraft's normal block or inventory behavior can continue.

Available Interaction Keys​

The current built-in interaction keys include:

KeyDescription
STANDING_LEFT_CLICK_SIGNLeft-click a shop sign while standing
STANDING_RIGHT_CLICK_SIGNRight-click a shop sign while standing
STANDING_LEFT_CLICK_SHOPBLOCKLeft-click a shop block while standing
STANDING_RIGHT_CLICK_SHOPBLOCKRight-click a shop block while standing
STANDING_LEFT_CLICK_CONTAINERLeft-click the shop container while standing
STANDING_RIGHT_CLICK_CONTAINERRight-click the shop container while standing
STANDING_LEFT_CLICK_DISPLAYLeft-click the shop display while standing
STANDING_RIGHT_CLICK_DISPLAYRight-click the shop display while standing
SNEAKING_LEFT_CLICK_SIGNLeft-click a shop sign while sneaking
SNEAKING_RIGHT_CLICK_SIGNRight-click a shop sign while sneaking
SNEAKING_LEFT_CLICK_SHOPBLOCKLeft-click a shop block while sneaking
SNEAKING_RIGHT_CLICK_SHOPBLOCKRight-click a shop block while sneaking
SNEAKING_LEFT_CLICK_CONTAINERLeft-click the shop container while sneaking
SNEAKING_RIGHT_CLICK_CONTAINERRight-click the shop container while sneaking
SNEAKING_LEFT_CLICK_DISPLAYLeft-click the shop display while sneaking
SNEAKING_RIGHT_CLICK_DISPLAYRight-click the shop display while sneaking

Available Behaviors​

QuickShop currently provides several built-in interaction behaviors.

BehaviorDescription
TRADE_UIOpens the GUI-based Trade Menu
TRADE_INTERACTIONUses the chat-based trading interaction
TRADE_DIRECTImmediately performs a single direct trade
TRADE_DIRECT_ALLImmediately trades the available amount
CONTROL_PANEL_UIOpens the GUI-based shop control panel
CONTROL_PANELUses the chat-based shop control panel
NONEPerforms no QuickShop interaction behavior

Chat Mode​

The default configuration uses the traditional interaction behavior:

STANDING_LEFT_CLICK_SIGN: TRADE_INTERACTION
STANDING_RIGHT_CLICK_SIGN: CONTROL_PANEL

STANDING_LEFT_CLICK_SHOPBLOCK: TRADE_INTERACTION
STANDING_RIGHT_CLICK_SHOPBLOCK: NONE

STANDING_LEFT_CLICK_CONTAINER: TRADE_INTERACTION
STANDING_RIGHT_CLICK_CONTAINER: NONE

STANDING_LEFT_CLICK_DISPLAY: NONE
STANDING_RIGHT_CLICK_DISPLAY: NONE

SNEAKING_LEFT_CLICK_CONTAINER: NONE
SNEAKING_RIGHT_CLICK_CONTAINER: NONE

SNEAKING_LEFT_CLICK_DISPLAY: NONE
SNEAKING_RIGHT_CLICK_DISPLAY: NONE

SNEAKING_LEFT_CLICK_SIGN: NONE
SNEAKING_RIGHT_CLICK_SIGN: NONE

SNEAKING_LEFT_CLICK_SHOPBLOCK: NONE
SNEAKING_RIGHT_CLICK_SHOPBLOCK: NONE

This keeps normal shop trading and management on the shop's physical sign/block while leaving display interactions disabled by default.

GUI Mode​

To use QuickShop's GUI-based trading and control panel, interactions can instead be mapped to:

TRADE_UI
CONTROL_PANEL_UI

For example:

STANDING_LEFT_CLICK_SIGN: TRADE_UI
STANDING_RIGHT_CLICK_SIGN: CONTROL_PANEL_UI

STANDING_LEFT_CLICK_SHOPBLOCK: TRADE_UI
STANDING_RIGHT_CLICK_SHOPBLOCK: NONE

SNEAKING_LEFT_CLICK_SIGN: TRADE_UI
SNEAKING_RIGHT_CLICK_SIGN: CONTROL_PANEL_UI

SNEAKING_LEFT_CLICK_SHOPBLOCK: TRADE_UI
SNEAKING_RIGHT_CLICK_SHOPBLOCK: NONE

The display keys can also be configured independently if you want interactions with the shop display to open a GUI.

For example:

STANDING_LEFT_CLICK_DISPLAY: TRADE_UI
STANDING_RIGHT_CLICK_DISPLAY: CONTROL_PANEL_UI

Direct Trade Mode​

QuickShop also supports direct trade behaviors.

An example configuration is:

STANDING_LEFT_CLICK_SIGN: TRADE_INTERACTION
STANDING_RIGHT_CLICK_SIGN: CONTROL_PANEL

STANDING_LEFT_CLICK_SHOPBLOCK: TRADE_INTERACTION
STANDING_RIGHT_CLICK_SHOPBLOCK: NONE

SNEAKING_LEFT_CLICK_SIGN: TRADE_DIRECT
SNEAKING_RIGHT_CLICK_SIGN: TRADE_DIRECT_ALL

SNEAKING_LEFT_CLICK_SHOPBLOCK: TRADE_DIRECT
SNEAKING_RIGHT_CLICK_SHOPBLOCK: NONE

This allows normal interaction while standing and faster direct trading while sneaking.

Configuring Display Interactions​

The four display interactions are disabled by default:

STANDING_LEFT_CLICK_DISPLAY: NONE
STANDING_RIGHT_CLICK_DISPLAY: NONE
SNEAKING_LEFT_CLICK_DISPLAY: NONE
SNEAKING_RIGHT_CLICK_DISPLAY: NONE

You can assign them the same behaviors used by signs and shop blocks.

For example, to make a normal left-click on the display open the Trade Menu:

STANDING_LEFT_CLICK_DISPLAY: TRADE_UI

To make right-click open the shop control panel:

STANDING_RIGHT_CLICK_DISPLAY: CONTROL_PANEL_UI

Or configure sneaking interactions separately:

SNEAKING_LEFT_CLICK_DISPLAY: TRADE_DIRECT
SNEAKING_RIGHT_CLICK_DISPLAY: TRADE_DIRECT_ALL

This makes the shop display a fully configurable interaction target rather than forcing it to behave like the underlying shop block.

Using NONE​

The behavior:

NONE

tells QuickShop not to execute an interaction behavior for that input.

This is commonly used where Minecraft's normal interaction should remain available.

For example:

STANDING_RIGHT_CLICK_SHOPBLOCK: NONE

allows normal right-click behavior on the shop block rather than forcing QuickShop to open another interaction.

The same default applies to display interactions:

STANDING_LEFT_CLICK_DISPLAY: NONE
STANDING_RIGHT_CLICK_DISPLAY: NONE
SNEAKING_LEFT_CLICK_DISPLAY: NONE
SNEAKING_RIGHT_CLICK_DISPLAY: NONE

Example Custom Layout​

A server could configure interactions so that:

  • standing left-click opens the Trade GUI;
  • standing right-click opens the Control Panel;
  • sneaking left-click performs a direct trade;
  • display left-click opens the Trade GUI;
  • display right-click does nothing.

For example:

version: 4

STANDING_LEFT_CLICK_SIGN: TRADE_UI
STANDING_RIGHT_CLICK_SIGN: CONTROL_PANEL_UI
STANDING_LEFT_CLICK_SHOPBLOCK: TRADE_UI
STANDING_RIGHT_CLICK_SHOPBLOCK: NONE
STANDING_LEFT_CLICK_CONTAINER: TRADE_UI
STANDING_RIGHT_CLICK_CONTAINER: NONE
STANDING_LEFT_CLICK_DISPLAY: TRADE_UI
STANDING_RIGHT_CLICK_DISPLAY: NONE

SNEAKING_LEFT_CLICK_SIGN: TRADE_DIRECT
SNEAKING_RIGHT_CLICK_SIGN: TRADE_DIRECT_ALL
SNEAKING_LEFT_CLICK_SHOPBLOCK: TRADE_DIRECT
SNEAKING_RIGHT_CLICK_SHOPBLOCK: NONE
SNEAKING_LEFT_CLICK_CONTAINER: NONE
SNEAKING_RIGHT_CLICK_CONTAINER: NONE
SNEAKING_LEFT_CLICK_DISPLAY: TRADE_DIRECT
SNEAKING_RIGHT_CLICK_DISPLAY: NONE

Summary​

The Interaction Manager lets you independently control:

Player posture
+
Click type
+
Interaction target
+
QuickShop behavior

In the current interaction configuration, QuickShop supports signs, shop blocks, containers, and displays as separate targets.

The new display interaction mappings are:

STANDING_LEFT_CLICK_DISPLAY: NONE
STANDING_RIGHT_CLICK_DISPLAY: NONE
SNEAKING_LEFT_CLICK_DISPLAY: NONE
SNEAKING_RIGHT_CLICK_DISPLAY: NONE

These default to NONE, but server owners can map them to any registered QuickShop interaction behavior.