CursorCs v1.9.9 Performance

No more chest menus: build real mouse-driven GUIs in Minecraft.
CursorCS v1.9

Changes applied


  • Added on_end actions for hologram animations.
    Animations can now trigger actions after they finish.

    Supports:
    • text animations (animation)
    • spawn/transform animations (animations)

    Supported on_end actions:
    command, remove_hologram, start_animation.

    Important behavior:
    • only triggers when animation actually ends
    • works with one-time animations (type: "one")
    • works with finite spawn sequences
    • looping animations (loop, loop_pingpong) do NOT trigger on_end

    Code:
    title_anim:
      text: ""
      animation:
        enabled: true
        type: "one"
        interval_ticks: 5
        frames:
          - "3"
          - "2"
          - "1"
          - "GO"
        on_end:
          - type: "command"
            command:
              - "say animation finished"
              - "playsound minecraft:block.note_block.pling master %player_name%"
          - type: "start_animation"
            hologram: "next_title"
            animation: "text"
  • Spawn animation example with on_end:

    Code:
    intro_panel:
      text: "Welcome"
      animations:
        trigger: "immediate"
        on_end:
          - type: "command"
            command: "say intro finished"
          - type: "remove_hologram"
            hologram: "old_panel"
          - type: "start_animation"
            hologram: "next_panel"
            animation: "spawn"
    
        1:
          type: "play_once"
          duration: 20
          from_y: -0.4
          to_y: 0.0
          from_scale: 0.0
          to_scale: 1.0
  • Command action options:

    Code:
    - type: "command"
      command: "say hello"
      executor: "player"
      as_op: false
  • Remove hologram action:

    Code:
    - type: "remove_hologram"
      hologram: "my_hologram"
  • Start animation action:

    Code:
    - type: "start_animation"
      hologram: "other_hologram"
      animation: "all"
  • Added conditional click states for clickable areas.
    Clickable areas can now resolve actions dynamically based on filters.

    Key behavior:
    • evaluated only on click (no realtime polling)
    • supports click_states (and alias states)
    • highest priority wins
    • default fallback supported

    Supported filters:
    permission, world, gamemode, placeholder comparisons, AND/OR blocks, presets.
  • Supported overridden fields:
    action, target, message, command, executor, as_op,
    hologram_to_change, change_to, new_text.
  • Example: placeholder-based routing:

    Code:
    spawn_or_home:
      min_x: -0.40
      max_x: 0.40
      min_y: -0.10
      max_y: 0.10
      action: "command"
      command: "say fallback"
    
      click_states:
        go_spawn:
          priority: 100
          filters:
            placeholder: "%my_placeholder%"
            operator: "=="
            value: "1"
          command: "spawn"
    
        go_home:
          priority: 90
          filters:
            placeholder: "%my_placeholder%"
            operator: "=="
            value: "2"
          command: "home"
    
        default:
          command: "say no state matched"
  • Example with command lists:

    Code:
    spawn_or_home:
      min_x: -0.40
      max_x: 0.40
      min_y: -0.10
      max_y: 0.10
      action: "command"
    
      click_states:
        go_spawn:
          filters:
            placeholder: "%my_placeholder%"
            operator: "=="
            value: "1"
          command:
            - "cursor stop"
            - "spawn"
    
        go_home:
          filters:
            placeholder: "%my_placeholder%"
            operator: "=="
            value: "2"
          command:
            - "cursor stop"
            - "home"
  • Example with compound filters:

    Code:
    vip_button:
      min_x: 0.10
      max_x: 0.60
      min_y: -0.10
      max_y: 0.10
      action: "command"
      command: "say fallback"
    
      click_states:
        vip_dungeon:
          priority: 100
          filters:
            mode: "AND"
            conditions:
              - permission: "cursorcs.vip"
              - world: "dungeon"
              - placeholder: "%player_level%"
                operator: ">="
                value: 10
          command: "warp vip_dungeon"
    
        default:
          command: "spawn"
  • Notes:
    • click_states only affects click behavior
    • does not modify hover behavior
    • does not introduce realtime placeholder refresh for clickable areas
  • The scrollbar area remains fixed.
  • The hover/click areas can change without moving the scrollbar input.
  • This happens even if you don't use relative_to.
CursorCS v1.8

Changes applied

  • Added ordered command lists for clickable area action: "command".
    Clickable areas can now execute multiple commands sequentially (top to bottom).
    Old single-string format is still supported.

    Code:
    overworldarea:
      min_x: -1.19
      max_x: -0.42
      min_y: -0.20
      max_y: 0.14
      action: "command"
      command:
        - "cursor stop"
        - "rtp world world"
  • Added cursor texture/text changes from hover actions.
    Supports Java TextDisplay cursor with placeholders.

    Code:
    shop_button:
      min_x: 0.10
      max_x: 0.50
      min_y: -0.10
      max_y: 0.10
      on_hover:
        - type: "change_cursor"
          new_text: "%img_cursor_hover%"
      on_unhover:
        - type: "change_cursor"
          text: "%img_cursor_default%"
  • Added cursor texture/text changes from click actions.

    Code:
    cursor_swap:
      min_x: -0.20
      max_x: 0.20
      min_y: -0.10
      max_y: 0.10
      action: "change_cursor"
      new_text: "%img_cursor_selected%"
  • Added placeholder parsing for cursor text on creation.

    Code:
    cursor:
      display:
        text: "%img_cursor%"
  • Added relative_to support for clickable areas.
    Clickable areas can now follow holograms dynamically.

    Code:
    music_button:
      relative_to: "music_text"
      min_x: -0.15
      max_x: 0.15
      min_y: -0.05
      max_y: 0.05
      action: "command"
      command: "say clicked moving button"
  • Example with scrollbar + moving hologram:

    Code:
    scrollbar_area:
      min_x: -2.30
      max_x: 2.80
      min_y: -0.40
      max_y: 0.40
      hotbar:
        enabled: true
        on_step_forward:
          - type: "move"
            hologram: "music_text"
            mode: "cumulative"
            offset_y: 0.05
        on_step_backward:
          - type: "move"
            hologram: "music_text"
            mode: "cumulative"
            offset_y: -0.05
    
    music_click:
      relative_to: "music_text"
      min_x: -0.12
      max_x: 0.12
      min_y: -0.04
      max_y: 0.04
      action: "command"
      command: "say clicked current music item"
  • relative_to behavior:
    • clickable area follows the hologram
    • movement from scrollbar/hotbar/animation is respected
    • if hologram does not exist, area won't match
  • Added clickable-area movement support for moving holograms.

    Code:
    playlist_entry_click:
      relative_to: "playlist_entry_1"
      min_x: -0.10
      max_x: 0.10
      min_y: -0.03
      max_y: 0.03
      action: "command"
      command: "say playlist entry clicked"
  • Fixed hover actions resetting moving holograms.
    Hover actions now use current runtime position instead of base config.

    Code:
    scroll_item_click:
      relative_to: "music_text"
      min_x: -0.15
      max_x: 0.15
      min_y: -0.05
      max_y: 0.05
      action: "command"
      command: "say clicked"
      on_hover:
        - type: "move"
          hologram: "music_text"
          offset_x: 0.05
          duration: 0.08
          interpolation: "linear"
  • Fixed same behavior for FancyNPC movement (uses runtime position now).
  • Added full compatibility between moving clickable areas and interactions:
    • areas move with holograms
    • hover still works
    • click still works
    • no conflict with scrollbar movement
  • Improved Java cursor placeholder + texture swap workflow.
    Supports %img_cursor%, %img_cursor_hover%, %img_cursor_selected% without extra entities.
CursorCS v1.7

Changes applied

  • Added new hologram conditional system with states and structured filters.
    Holograms can now evaluate conditions in realtime and switch to the matching state.
    If multiple states match, the highest priority wins.
    If nothing matches, default is used.

    Code:
    status_label:
      text: "Lobby"
      states:
        dungeon_vip:
          priority: 100
          filters:
            mode: "AND"
            conditions:
              - permission: "cursorcs.vip"
              - world: "dungeon"
              - gamemode: "SURVIVAL"
          text: "Dungeon"
        default:
          text: "Lobby"
  • Added states behavior for holograms.

    Code:
    states:
      vip_state:
        priority: 50
        filters:
          permission: "cursorcs.vip"
        text: "VIP"
      default:
        text: "Normal"
  • Added supported structured filter types for holograms.
    Supported filters:
    permission, world, gamemode, placeholder comparisons, compound mode/conditions, and presets.

    Code:
    filters:
      permission: "cursorcs.vip"

    Code:
    filters:
      world: "dungeon"

    Code:
    filters:
      gamemode: "SURVIVAL"
  • Added placeholder comparison filters (numeric + string).

    Code:
    filters:
      placeholder: "%vault_eco_balance%"
      operator: ">="
      value: 1000

    Code:
    filters:
      placeholder: "%daily_reward%"
      operator: "=="
      value: "ready"
  • Added supported comparison operators:
    ==, !=, >, >=, <, <=, contains, starts_with, ends_with.

    Code:
    filters:
      placeholder: "%player_name%"
      operator: "starts_with"
      value: "Admin"
  • Added compound filter blocks with AND/OR logic.

    Code:
    filters:
      mode: "AND"
      conditions:
        - permission: "vip"
        - placeholder: "%player_level%"
          operator: ">="
          value: 10
  • Added filter_presets for reusable filters.

    Code:
    filter_presets:
      vip_shop:
        mode: "AND"
        conditions:
          - permission: "vip"
          - placeholder: "%vault_eco_balance%"
            operator: ">="
            value: 1000

    Code:
    filters:
      preset: "vip_shop"
  • Added realtime hologram state evaluation using placeholder refresh system.
  • Added support for state outputs overriding hologram properties:
    visible, text, offset, scale, rotation, display settings, FancyNPC values.

    Code:
    promo_label:
      text: "Normal"
      states:
        vip:
          filters:
            permission: "cursorcs.vip"
          text: "VIP"
          visible: true
          scale: 0.95
        default:
          text: "Normal"
          visible: false
  • Added conditional actions from hologram states:
    apply_group, apply_holograms, clear_group.

    Code:
    mode_switcher:
      text: "Base"
      states:
        class_state:
          filters:
            permission: "cursorcs.classmode"
          apply_group: "warrior_class"
          text: "Warrior"
        menu_state:
          filters:
            permission: "cursorcs.menu"
          apply_holograms: "gacha"
          text: "Menu"
        reset_state:
          filters:
            permission: "cursorcs.reset"
          clear_group: true
          text: "Reset"
  • Added support for conditional states inside groups (class + activable groups).

    Code:
    conditional_examples:
      info:
        text: "Lobby"
        states:
          dungeon_vip:
            priority: 100
            filters:
              mode: "AND"
              conditions:
                - permission: "cursorcs.vip"
                - world: "dungeon"
                - gamemode: "SURVIVAL"
            text: "Dungeon"
          default:
            text: "Survival"
  • Added FancyNPC compatibility with conditional visibility/runtime updates.

    Code:
    npc_selector:
      text: "entity:fancynpc:npc"
      fancynpc:
        skin: "Notch"
        display_name: "<empty>"
        show_display_name: false
      states:
        vip_only:
          filters:
            permission: "cursorcs.vip"
          visible: true
        default:
          visible: false
CursorCS v1.6

Changes applied

  • Added new personal FOV command: /cursor fov <value>.
    This command calculates a hologram distance from the FOV the player gives and applies it only to that player.
    Other players keep using the normal/global distance.

    Code:
    /cursor fov 110
    /cursor fov 90
  • Added personal reset support: /cursor fov reset.
    This removes the player-only override and returns that player to the normal global hologram.distance.

    Code:
    /cursor fov reset
  • Added runtime per-player hologram distance override storage.
    The override is now tracked per player/session instead of changing the shared config for everyone.
  • Added player-aware hologram config resolution.
    The plugin now resolves:
    • global distance for normal players,
    • overridden distance for players who used /cursor fov.
  • Added immediate live refresh for the active camera session.
    If the player is already in camera mode, changing FOV repositions their current holograms instantly.

    This refresh applies to:
    • static holograms,
    • visual/entity holograms,
    • FancyNPC holograms,
    • fake/NMS holograms.
  • The command uses an internal formula to convert the user FOV into a matching hologram distance.
  • Added input validation and clamping.
    Invalid values are rejected.
    FOV is clamped to a safe supported range before calculating distance.
  • Added tab completion for common FOV presets and reset.
    Suggested values:
    110, 100, 90, 80, 70, 60, 50, 40, reset.
  • Updated command help to include /cursor fov.
Solved that FancyNpc had been accidentally set as a dependency.
CursorCS v1.5

Changes applied

  • Added FancyNPC as a native hologram content type (entity:fancynpc:npc).
    NPCs can now be created from the same hologram pipeline as text/item/block/entity holograms.

    Code:
    temp_npc_ohkazu:
      text: "entity:fancynpc:npc"
      offset_x: 0.0
      offset_y: -1.2
      offset_z: -2.0
      scale: 1.0
      rotation_x: 0.0
      rotation_y: 0.0
      rotation_z: 0.0
  • Added full fancynpc configuration block support in holograms.

    Code:
    fancynpc:
      skin: "OhKazu"
      display_name: "<empty>"
      show_display_name: false
      scale: 1.0
      show_in_tab: false
      spawn_entity: true
      collidable: false
      glowing: false
      rotation_body_y: 180.0
      rotation_head_y: 0.0
      rotation_head_x: 0.0
  • Added FancyNPC runtime transform support via action system (hover/hotbar).
    Supports: scale, move, rotate, combined, change_text, with duration + interpolation.

    Code:
    - type: "combined"
      hologram: "temp_npc_ohkazu"
      scale: 1.1
      offset_x: 0.05
      rotation_y: 12.0
      duration: 0.12
      interpolation: "ease_in_out"
  • Added split rotation control with rotation_target (body/head/both).

    Code:
    - type: "rotate"
      hologram: "temp_npc_ohkazu"
      rotation_y: 10.0
      rotation_target: "body"
  • Added grab_panorama clickable interaction mode (drag-based panoramic movement).

    Code:
    panorama_grab:
      min_x: -2.30
      max_x: 2.80
      min_y: -0.40
      max_y: 0.40
      action: "command"
      command: "say panorama active"
      grab_panorama:
        enabled: true
        propagate_click_action: true
        invert_drag: true
        drag_sensitivity: 1.0
        deadzone_x: 0.003
        max_step_per_tick: 0.02
  • Added yaw_sync blending for panorama movement.

    Code:
    yaw_sync:
      enabled: true
      invert_yaw: true
      yaw_weight: 0.6
      drag_weight: 0.3
      smoothing_alpha: 0.35
      degrees_per_loop: 360.0
  • Added loop system for infinite panoramic recycling.

    Code:
    loop:
      strategy: "recycle_tiles"
      tile_step_x: 2.55
      total_columns: 8
      viewport_width_x: 10.2
      reset_on_area_exit: false
  • Added explicit column mapping with multi-row columns.

    Code:
    targets:
      column_order:
        - ["tile_7_0", "tile_7_1"]
        - ["tile_6_0", "tile_6_1"]
        - ["tile_5_0", "tile_5_1"]
        - ["tile_4_0", "tile_4_1"]
        - ["tile_3_0", "tile_3_1"]
        - ["tile_2_0", "tile_2_1"]
        - ["tile_1_0", "tile_1_1"]
        - ["tile_0_0", "tile_0_1"]
  • Added NPC synchronization for panorama drag (npc_sync).

    Code:
    npc_sync:
      hologram: "temp_npc_ohkazu"
      rotation_target: "body"
      yaw_per_full_loop: 360.0
  • Note: While this is a very specific feature, it represents a preview of what can be built with CursorCS and showcases the direction and flexibility of future systems.
CursorCS v1.4

Changes applied

  • Added new clickable condition: required_permission.
    required_permission supports a comma-separated All-of list (player must have every permission).
    Empty/malformed values like "," now fail safely and log a warning.
    Condition behavior remains unchanged: all condition keys are ANDed, unknown keys fail-safe.

    Code:
    shop_button:
      min_x: 0.0
      max_x: 1.0
      min_y: -0.2
      max_y: 0.2
      action: "command"
      command: "shop"
      conditions:
        required_permission: "cursorcs.shop.open,cursorcs.shop.use"
  • Added hotbar gesture actions inside clickable areas via new hotbar block.
    Gestures detect strict adjacent slot movement with wrap:
    9->1 forward, 1->9 backward.
    Supported triggers:
    on_step_forward, on_step_backward, on_cycle_forward, on_cycle_backward.
    cycle_steps and sequence_timeout_ms are configurable.
    Actions support transform + group/class actions:
    scale, move, rotate, combined, change_text, command, apply_group, apply_holograms, clear_group.

    Code:
    scrollbar_test:
      min_x: -2.30
      max_x: 2.80
      min_y: -0.40
      max_y: 0.40
      hotbar:
        enabled: true
        sequence_timeout_ms: 600
        cycle_steps: 8
        reset_accumulator_on_area_exit: false
        on_step_forward:
          - type: "move"
            hologram: "music_text"
            mode: "cumulative"
            offset_y: 0.05
        on_step_backward:
          - type: "move"
            hologram: "music_text"
            mode: "cumulative"
            offset_y: -0.05
  • Added scrollbar/transform limits for safe clamping in both cumulative and absolute modes.
    New supported min/max keys:
    min_scale/max_scale,
    min_offset_x/max_offset_x,
    min_offset_y/max_offset_y,
    min_offset_z/max_offset_z,
    min_pos_x/max_pos_x,
    min_pos_y/max_pos_y,
    min_pos_z/max_pos_z,
    min_rotation_x/max_rotation_x,
    min_rotation_y/max_rotation_y,
    min_rotation_z/max_rotation_z.
    Supports snake_case and camelCase variants.

    Code:
    on_step_forward:
      - type: "move"
        hologram: "music_text"
        mode: "cumulative"
        offset_y: 0.05
        min_offset_y: -0.40
        max_offset_y: 0.40
  • Java camera hotbar compatibility improved:
    hotbar mode uses SURVIVAL only when relevant hotbar area logic applies.
  • Starting bedrock port slowly
Buy a license now
$24.99
EULA
Standard EULA
Use on any projects you own with attribution
Support
Standard
Includes:
Download the resource
Access new updates
Support from the creator
Support duration
Lifetime
Extras
Chimage - Support URL+GIFs and Tools.
+ $2.00
Share and earn
Refer this resource and earn a 10% commission.
14,312 Views
100 Purchases
109 Downloads
Mar 22, 2026 Published
Apr 27, 2026 Updated
5.00 star(s)
Average rating (13)
505.6 KB File size
Open source
  1. No
DRM-free
  1. No
Unobfuscated
  1. No
Type
  1. GUI
Game mode
  1. Survival
  1. Hub & lobby
  1. Minigame
Supported software
  1. Spigot
  1. Paper
Supported versions
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21
Supported languages
  1. English
Creator
Owner
Recommended for you
Detects keys to execute your own custom combos and commands!
5.00 star(s) 1 ratings
14 purchases
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,172 purchases
Create items, blocks, mobs, emojis, and more with automatic resourcepack generation!
5.00 star(s) 52 ratings
3,097 purchases
Protect your server from crash/dupe/packet exploits with the ultimate security fix plugin.
5.00 star(s) 45 ratings
3,035 purchases
High Performance | Customizable | Cross-Version | GeyserMC | Folia Support
4.50 star(s) 72 ratings
2,800 purchases
Share and earn
Refer this resource and earn a 10% commission.
14,312 Views
100 Purchases
109 Downloads
Mar 22, 2026 Published
Apr 27, 2026 Updated
5.00 star(s)
Average rating (13)
505.6 KB File size
Open source
  1. No
DRM-free
  1. No
Unobfuscated
  1. No
Type
  1. GUI
Game mode
  1. Survival
  1. Hub & lobby
  1. Minigame
Supported software
  1. Spigot
  1. Paper
Supported versions
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21
Supported languages
  1. English
Creator
Owner
Recommended for you
Detects keys to execute your own custom combos and commands!
5.00 star(s) 1 ratings
14 purchases
#1 BuiltByBit Plugin ~ Protects your server from crash packet exploits ~ Folia Support
5.00 star(s) 141 ratings
4,172 purchases
Create items, blocks, mobs, emojis, and more with automatic resourcepack generation!
5.00 star(s) 52 ratings
3,097 purchases
Protect your server from crash/dupe/packet exploits with the ultimate security fix plugin.
5.00 star(s) 45 ratings
3,035 purchases
High Performance | Customizable | Cross-Version | GeyserMC | Folia Support
4.50 star(s) 72 ratings
2,800 purchases
Top