Ever wanted a fully customizable bot to talk to? CustomBot is a plugin that allows you to create interactive Bots! You can allow it to respond to questions, follow you with it's head, hit when getting to close, and crouch when you do! It will follow each player individually, so everyone sees the NPC differently. You can give any NPC a custom skin, and rename them whatever you would like. They can be summoned and removed easily.
Example:
Features:
- Easy to use config/answers file
- Client side & Interactive NPC
- Own skin (UUID format)
- 100% Customizable
- Color codes and placeholders in responses (http://pastebin.com/iyQcdAxr)
- Commands and permissions
- Complete custom API
- Option to use PlaceholdersAPI (https://www.spigotmc.org/wiki/placeholderapi/)
- Multiple versions (1.8 and 1.9)
- Add multiple Bots
- Make the NPC walk? (Discuss this in discussions!)
Config.yml:
Code (Text):
##################
# #
# CustomBot #
# --- #
# config.yml #
# #
##################
# These are the actual NPC settings.
# IMPORTANT: The name can be colorized but has to be less then 16 characters!
# Hit-on-close will make the Bot hit the player when they come to close,
# on hit, it will give a certain velocity (hit-on-close-velocity) to the player. (Recommendation: true)
# Sneak-on-close will make the bot sneak when the player sneaks. (Recommendation: true)
# Show-tablist will show the bot on tablist. (Recommendation: true)
# Interact-message will show whenever you punch the Bot (Toggle with interact). (Placeholders Compatible)
npc:
name: '&bCustomBot'
uuid: '49e96464-aa17-46b3-b5c6-87574b6b48b4'
hit-on-close: true
hit-on-close-velocity: 13
sneak-on-close: true
show-tablist: true
interact: true
interact-message: 'Hello {player}, to ask me something, say my name!'
# These are the chat settings.
# Raw-name CANNOT contain rare characters or colors!
# Better-understand makes the bot understand the player better. (Recommendation: true)
# Private-answer will make the answer viewable for the player only. (Recommendation: false)
# Require-name checks if the name is in front of the message. (Recommendation: true)
# Check-for-exact is an option that checks for the exact question, on disable
# it will check for all words individually. (Recommendation: true)
# Message-delay will add a delay to the messages being recognized by the bot. This is
# used to make the bot less spammy. It will only answer again when the delay is passed. (0 is OFF)
# Use-PlaceholdersAPI requires the PlaceholdersAPI plugin (Commands still work when disabled),
# when setting to false, it will use the built in Placeholders. (Recommendation: false)
chat:
raw-name: 'CustomBot'
prefix: '&bCustomBot&7:'
message-color: '&c'
better-understand: true
private-answer: false
require-name: true
check-for-exact: true
message-delay: 0
use-placeholdersapi: false
# End of config, easy uh?
# Thanks for using this plugin!
Answers.yml:
Code (Text):
##################
# #
# CustomBot #
# --- #
# questions.yml #
# #
##################
# These are the questions. (Placeholders Compatible)
# You will have to use the dash (-) between the question and answers.
# DO NOT put question marks (?), the Bots name or use tabs in the questions!
# Also do not put spaces between the questions and answers.
# When using PlaceholdersAPI, please use '%' instead of '{}' (Except in Commands)
question-answer:
- 'question 1-answer 1'
- 'question 2-answer &b2&c!'
- 'question 3-answer {player}'
- 'question 4-answer gamemode! {player-command:gamemode 1}'
# These are the not available settings. (Placeholders Compatible)
# This will get called every time they ask a question that does not exist.
question-not-available:
- 'Error 500, question not found.'
- 'What did you say?'
- 'I did not understand you...'
Bots.yml
Code (Text):
##################
# #
# CustomBot #
# --- #
# bots.yml #
# #
##################
# In this file all bots will be saved.
# Because of this, you can have multiple bots at the same time.
CustomBot:
name: '&bCustomBot'
uuid: '49e96464-aa17-46b3-b5c6-87574b6b48b4'
world: 'world'
x: 0
y: 100
z: 0
Commands & Permissions:
Permission for all commands: custombot.commands.*
Commands:
/custombot help [None]
/custombot about [None]
/custombot reload [custombot.commands.reload]
/custombot upload <config/answers/bots> [custombot.commands.upload]
/custombot addBot <name> [uuid] [custombot.commands.addbot]
/custombot removeBot <name> [custombot.commands.removebot]
Custom API:
I've created an API for the developers who want to use this plugin as an API. Current features for the API:
- NPCManager: You can use this to spawn your own NPCs, although, this will not call any of the events below, on creation of this instance, it will send a packet to the given player with a non moving NPC, to make this move, use the walk() method, this is also used to make it look at objects.
- BotSpawnEvent (Call: When custombot plugin spawns a NPC)
- BotInteractEvent (Call: When a players interacts with a NPC.)
- BotAnswerEvent (Call: When the bot answers at a question.)
More info?
You can contact me through a PM on spigot or you can leave a comment here! Thanks for checking this out! This is not a copy of TestPlugins, the owner knows about this plugin and approves it!
Also, examples can be found on the following servers:
- ThePixelverse.net
- mclockup.com
If you mirror this mod page or anything I've (Stewez) made on any other site, I (Stewez) may express my angst at you in the form of a lawsuit.