Simple NPC

This data pack makes configuring NPCs in vanilla Minecraft much easier. Simply write the required data into the storage and execute the summon function to create your own NPC.

English 简体中文

Introduction

This data pack makes configuring NPCs in vanilla Minecraft much easier. Simply write the required data into the storage and execute the summon function to create your own NPC.

Features

The following features are supported:

  • Custom floating text displayed above the NPC.
  • Custom NPC skin.
  • Execute a command or function when the NPC is right-clicked.

Storage Structure

Default Structure (Custom Settings Disabled)

Custom Structure (Custom Settings Enabled)

Example Storage

Default Configuration

data modify storage windwaves_sea:npc root.npc_setting merge value {\
    test:{\
        name:"test",\
        zone:"test",\
        config:{\
            custom_settings:false,\
            look_player:true\
        },\
        text:{\
            pos:{x:1,y:1,z:1},\
            text:[{text:"1"}]\
        },\
        npc:{\
            pos:{x:1,y:1,z:1},\
            model:"wide",\
            texture:"lobby:npc/start_game",\
            rotation:[180,0]\
        },\
        right_click:{\
            command:"",\(function:""\)
        }\
    }\
}

Custom Configuration

data modify storage windwaves_sea:npc root.npc_setting merge value {\
    test_custom:{\
        name:"test_custom",\
        zone:"test",\
        config:{\
            custom_settings:true,\
            look_player:true,\
            default_orientation:"north" \
        },\
        text:{\
            pos:{x:1,y:1,z:1},\
            data:{}\
        },\
        npc:{\
            pos:{x:1,y:1,z:1},\
            data:{}\
        },\
        right_click:{\
            function:""\(command:""\)
        }\
    }\
}

Command Reference

Summon an NPC

function npc:summon {name:"name"}

Summons an NPC. The configuration must be written to storage before running this function. Duplicate NPCs cannot be spawned. name refers to the NPC name defined in the configuration above (the same applies below).

Remove an NPC

function npc:remove/npc {name:"name"}

Remove the Configuration (Also Removes the NPC)

function npc:remove/setting {name:"name"}

Download

QQ Group: 117464315

GitHub: https://github.com/WindWavesSea/Simple-NPC/

Acknowledgements

Special thanks to NOX OBSCURA for providing the interaction entity size solution, allowing interaction entities to properly match NPC hitboxes.

Special thanks to 轩宇1725 for providing the storage detection approach, enabling string-based detection.

The Simple NPC Team

profile avatar
  • 2
    Projects
  • 181
    Downloads

More from WindWavesSea