A plugin that allows you to implement ChatGPT into your minecraft server.
- Customizable
- 40+ Different Settings In Config
- System Message
- A custom system message that is put at the start of every prompt
- Threads
- Allows for long conversation with ChatGPT
- ChatGPT remembers your previous messages until the thread is cleared
- Thread History
- View your thread history in a customizable GUI
- Custom Restrictions
- Cooldowns
- Max Words
- Max Thread
- +More
- AND MORE
- /chat
- Allows you to chat with ChatGPT
- Usage: /chat <MESSAGE>
- Aliases: asksteve, chatgpt, gpt
- /globalchat
- Same as chat but broadcasts the response ignoring config restrictions
- Usage: /globalchat <MESSAGE>
- Aliases: broadcastchat, gchat, bchat
- /thread
- Shows you your thread history
- Usage: /thread, /thread
<PLAYER> - View another player's thread (Requires steve.adminhistory). - Aliases: [ NONE ]
- /clearthread
- Clears your current thread
- Usage: /clearthread
- Aliases: cthread, resetthread
- /settings
- Allows the user to change their custom AI settings like: system message, temperature, top_p, etc...
- Usage: /settings <SETTING> <VALUE>, /settings <SETTING> - [Clears The Setting]
- Aliases: gptsettings, stevesettings
- /adminsettings
- Allows user with permission to view other people's current AI settings
- Usage: /adminsettings <PLAYER> <SETTING> <VALUE>, /settings <PLAYER> <SETTING> - [Clears The Setting]
- Aliases: admingptsettings, adminstevesettings
- /info
- Allows the user to see the default custom AI settings or their custom ones like: system message, temperature, top_p, etc...
- Usage: /info, /info <PLAYER> - View another player's thread (Requires steve.admininfo).
- Aliases: gptinfo, steveinfo, viewsettings
- /stevereload
- Reloads the config
- Usage: /stevereload
- Aliases: sreload
- steve.command.chat
- Permission to use /chat
- steve.command.reload
- Permission to reload the config
- steve.command.history
- Permission to view thread history
- steve.admin.history
- Permission to view other player's threads
- steve.command.settings
- Permission to change your settings
- steve.admin.settings
- Permission to change other player's settings
- steve.command.viewInfo
- Permission to use /info
- steve.admin.info
- Permission to view other player's info
- steve.command.globalChat
- Permission to use /globalchat
- steve.bypass.cooldown
- Permission to bypass cooldowns
- steve.bypass.activeRequests
- Permission to bypass active request restricitons
- Notice
- By default OPs have all of these permissions besides the bypass permissions
Config
# General Settings
general:
# AI Settings
ai:
# OpenAI Key
# (https://platform.openai.com/account/api-keys)
key: ""
# Max amount of tokens
# (1 token = about 1 word --- More info at https://platform.openai.com/tokenizer)
# [It is recommended that the maxToken amount is increased for threads]
# [Set to "0" for max]
maxTokens: 500
# The total amount of tokens able to be used in one thread
# Same as maxTokens except that all prompt tokens are added
# [Set to "0" for max]
totalMaxTokens: 0
# The OpenAI GPT Model that will be used
# [Notice: Not all models are supported --- Full model list: https://platform.openai.com/docs/models/chatgpt]
# [Recommended Models: gpt-3.5-turbo, gpt-3.5-turbo-16k, gpt-4, gpt-4-32k]
# [Notice: GPT 4 will only work on paid accounts, 16k and 32k models cost more - https://openai.com/pricing]
model: "gpt-3.5-turbo"
# What sampling temperature to use, between 0 and 2
# Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic
temperature: 1
# An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass
# So 0.1 means only the tokens comprising the top 10% probability mass are considered
topP: 1
# Up to 4 sequences where ChatGPT will stop generating further tokens
stop: []
# Number between -2.0 and 2.0
# Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics
presencePenalty: 0
# Number between -2.0 and 2.0
# Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim
frequencyPenalty: 0
# The URL that the API request will be sent to
# [ WARNING ]
# Do NOT change change if you don't know what you are doing
# This is intended for people that want to use a proxy
apiURL: "api.openai.com/v1/chat/completions"
# Thread Settings
threads:
# Allows ChatGPT to remember the previous messages sent
# [ WARNING ]
# Threads can use up a lot of tokens since every single word is re-sent
threads: false
# Determins if the /thread command is enabled
# [ WARNING ]
# Long threads may cause lag
threadHistory: false
# The amount of messages a thread can contain
# [Set to "0" for inf]
maxThreadLength: 20
# The amount of words displayed per line in thread history
wordsPerLine: 10
# Determins if there is a clear thread button in the thread GUI
clearThreadButton: true
# Determins if the system message is viewable in the thread history GUI
systemMessageViewable: false
# Determins if the settings like temperature, topP, etc... and token info is viewable in the thread history GUI
infoViewable: false
# Other Settings
other:
# Cooldown (Seconds)
cooldown: 30
# Time before connection is dropped (Seconds)
timeout: 30
# Determins if the player will be denied to use /chat command until their previous request is finished
waitUntilResponse: false
# Determins if messages can be seen by everyone
global: false
# A message that is put at the start of the prompt
systemMessage: "Pretend you are a guide/assistant named Steve (From Minecraft)."
# Determins if users can set their own custom settings
# Example: system message, temperature, topP, etc...
# [ WARNING ]
# This will override the default settings if the user uses the /settings command
customUserSettings: false
# Determins if the /info command is enabled
# Refer to general.threads.infoViewable for more info
infoCommandEnabled: false
# Determins if the /settings command is usable while the user has an active thread
allowActiveThreadChanges: false
# Style Settings
style:
# Message Style Settings
messages:
# Message Format
message: "<&b{USER}&r> &3{PROMPT}&r\n<&aSteve&r> &6{MESSAGE}"
# Loading Message Format
loadingMessage: "<&aSteve&r> &7&oLoading..."
# Info Command Message Format
infoMessage: "&e- {INFO}: &f{VALUE}"
# Info Command Config Title Format
infoConfigTitle: "&6&lCONFIG:"
# Info Command Usage Title Format
infoUsageTitle: "&6&lUSAGE:"
# Determins if minecraft color formatting provided by ChatGPT are used
allowChatFormatting: false
# Thread Style Settings
threads:
# Thread GUI Title Format
threadGuiTitle: "&b{USER}&r's &6Threads &7| &a{MESSAGECOUNT} &rMsgs"
# Thread GUI Odd Line Content Format
oddContentFormat: "&5&o"
# Thread GUI Even Line Content Format
evenContentFormat: "&d&o"
# Thread System Title Format
threadSystemTitle: "&6System"
# Thread Info Title Format
threadInfoTitle: "&eInfo"
# Thread User Title Format
threadUserTitle: "&b{USER}"
# Thread Assistant Title Format
threadAssistantTitle: "&aAssistant"
# Thread Info Message Format
threadInfoMessage: "&e&o- {INFO}: &f&o{VALUE}"
# Thread Info Config Title Format
threadInfoConfigTitle: "&6&l&oCONFIG:"
# Thread Info Usage Title Format
threadInfoUsageTitle: "&6&l&oUSAGE:"
# Thread System Message Format
threadSystemMessage: "<&6System&r> &5{MESSAGE}"
# Thread User Message Format
threadUserMessage: "<&b{USER}&r> &3{MESSAGE}"
# Thread Assistant Message Format
threadAssistantMessage: "<&aAssistant&r> &6{MESSAGE}"
# The texture ID of the system skull
systemTexture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTgyMDg2ZDE1NDVhZTg4OGFhNzY2ZjhlZDljNjZlNDc1NWI0MmVkM2E3YmU0ZTBjZmEwNjhkN2Y2NzZkNmRmIn19fQ=="
# The texture ID of the info skull
infoTexture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDAxYWZlOTczYzU0ODJmZGM3MWU2YWExMDY5ODgzM2M3OWM0MzdmMjEzMDhlYTlhMWEwOTU3NDZlYzI3NGEwZiJ9fX0="
# The texture ID of the user skull
# Leaving this blank will set the skull to the user's skin
userTexture: ""
# The texture ID of the assistant skull
assistantTexture: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjIyODcyMzQyZDJjZjIwNzU0YjllMWJhZTljMDkwMjkxMmRjYWUxMmU2M2I1MjBiNmZlOGJkOTExYjkxMDE4YiJ9fX0="If you find any bugs or have any suggestions please share them in my discord (https://discord.com/invite/zZvur8aMJ3)
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta
