Typewriter
0.9.0-beta-177Typewriter is a plugin for paper Minecraft servers that allows for custom player interactions such as Quests, NPC chat, Create branching story with ease, and more. Configurable using the web panel cus
0.9.0-beta-177latestTypewriter v0.9.0-beta-177 BuildSep 8, 2026 0.9.0-beta-176Typewriter v0.9.0-beta-176 BuildSep 5, 2026 0.9.0-beta-175Typewriter v0.9.0-beta-175 BuildJul 12, 2026 0.9.0-beta-174Typewriter v0.9.0-beta-174 BuildJun 14, 2026 0.9.0-beta-173Typewriter v0.9.0-beta-173 BuildMay 29, 2026 0.9.0-beta-172Typewriter v0.9.0-beta-172 BuildApr 5, 2026 0.9.0-beta-171Typewriter v0.9.0-beta-171 BuildFeb 1, 2026 0.9.0-beta-170Typewriter v0.9.0-beta-170 BuildDec 24, 2025 0.9.0-beta-169Typewriter v0.9.0-beta-169 BuildNov 30, 2025 0.9.0-beta-168Typewriter v0.9.0-beta-168 BuildNov 17, 2025 0.9.0-beta-167Typewriter v0.9.0-beta-167 BuildOct 26, 2025 0.9.0-beta-166Typewriter v0.9.0-beta-166 BuildSep 28, 2025 0.9.0-beta-165Typewriter v0.9.0-beta-165 BuildAug 24, 2025 0.9.0-beta-164Typewriter v0.9.0-beta-164 BuildAug 18, 2025 0.9.0-beta-163Typewriter v0.9.0-beta-163 BuildJul 26, 2025 0.9.0-beta-162Typewriter v0.9.0-beta-162 BuildJul 10, 2025 0.9.0-beta-161Typewriter v0.9.0-beta-161 BuildJun 11, 2025 0.9.0-beta-160Typewriter v0.9.0-beta-160 BuildJun 1, 2025 0.9.0-beta-159Typewriter v0.9.0-beta-159 BuildMay 13, 2025 0.8.0Version 0.8.0 | Interaction Context & BoundsMay 11, 2025 Interactions like dialogue or cinematics have gained many new capabilities.Interaction Bounds
Interaction bounds confine interactions to an action or space, such as canceling dialogue when the player walks away.\ Interaction bounds can be in 2 modes:InterruptingandBlocking.\Interruption Modemeans that if the player breaks the bounding condition, the interaction will be canceled.\Blocking Modemeans the player is not allowed to violate the bounding condition, ensuring players see the dialogue through. The mode is determined by the priority of the interaction versus the priority of the bound. If the interaction has a higher priority, it is inBlocking Mode; if it is the same or lower priority, it is inInterruption Mode.\ Entries inherit their priority from the page. Some examples of Interaction Bounds are: *PlayerRadiusInteractionBound: Player stays within a certain radius from when the bound started. *LookAtNpcInteractionBound: Similar toPlayerRadiusInteractionBoundbut forces the player to look at the entity. *LockInteractionBound: Completely locks the player's camera from moving and rotating. *CommandInteractionBound: Triggered when the player runs a command other than the/twcommand.Interaction Context
The second new concept isInteraction Context. This allows you to pass variables to subsequent entries in a sequence, allowing for more flexible interactions, such as asking the user for input and using that later, or spawning something on the block the player clicked on.Custom Commands
Though you could already have Typewriter create a custom command, you can now have arguments for this command and use the input of the arguments in subsequent entries.InputDialogue
NPCs can now ask more open-ended questions, like how many cookiesyou want to have baked, or asking for a certain phrase like a password.
Other Features
This is not the only thing we added. Some noteworthy new features: Speed Data*: You can now specify how fast/slow an NPC should walk. Replace With … Button*: Now in the web panel, you can replace an existing entry with a different one. This is particularly useful! Improved Navigation for long cinematic content modes* Allow glowing effect data to have colors* * And 70+ more new features! To see all the changes, [look at the full changelogs](https://typewriter.fibery.io/Milestone/Milestone/Interact…Developer Changes
This new version comes with many breaking changes for developers! A [full migration guide](https://docs.typewritermc.com/develop/extensions/api-chan… is provided to help you migrate your extensions to the new version.If you find Typewriter valuable for your server, please consider [Sponsoring the Project](https://github.com/sponsors/gabber235)
0.8.0-beta-158Typewriter v0.8.0-beta-158 BuildMay 2, 2025 0.8.0-beta-157Typewriter v0.8.0-beta-157 BuildApr 22, 2025 0.8.0-beta-156Typewriter v0.8.0-beta-156 BuildApr 9, 2025 0.8.0-beta-155Typewriter v0.8.0-beta-155 BuildApr 8, 2025 0.8.0-beta-154Typewriter v0.8.0-beta-154 BuildMar 22, 2025 0.8.0-beta-153Typewriter v0.8.0-beta-153 BuildFeb 16, 2025 0.8.0-beta-151Typewriter v0.8.0-beta-151 BuildFeb 5, 2025 0.8.0-beta-150Typewriter v0.8.0-beta-150 BuildJan 21, 2025 0.8.0-beta-149Typewriter v0.8.0-beta-149 BuildJan 20, 2025 0.8.0-beta-148Typewriter v0.8.0-beta-148 BuildJan 13, 2025 0.8.0-beta-147Typewriter v0.8.0-beta-147 BuildJan 12, 2025 0.8.0-beta-146Typewriter v0.8.0-beta-146 BuildDec 30, 2024 0.8.0-beta-145Typewriter v0.8.0-beta-145 BuildDec 23, 2024 0.8.0-beta-144Typewriter v0.8.0-beta-144 BuildDec 19, 2024 0.8.0-beta-143Typewriter v0.8.0-beta-143 BuildDec 19, 2024 0.7.0Version 0.7.0 | Dynamic VariablesDec 15, 2024 What are Dynamic Variables
Before, all fields on an entry needed to be filled in with valid values during configuration time. With Dynamic variables, fields can now be substituted with runtime values. To give you some inspiration of what you can now do: - Have cinematics in the world the player is in, instead of in a fixed world. Which is useful for playing cinematics in generated dungeons. - Have the skin of a NPC be determined from a placeholder. For making leaderboard NPCs. - Having the strength of a potion effect be the value of a fact. For "upgradable skills." - Making launch pads shoot the player in the direction where they are looking.Placeholder Parameters
Sometimes you want to know different details of an entry. Like the time it last got updated. The remaining time until the fact resets. Entries now support parameterized placeholders for more detailed information:%typewriter_<entry id>:remaining:10% // Items left to collect %typewriter_<entry id>:time:expires:relative% // Time until daily quest is activeNew Entries
- Entity types: ArmorStand, EnderDragon, Parrot, Wolf, BlockDisplay -CalculatedFactfor complex expressions -WeightedRandomTriggerGatefor probability-based triggers - World and potion effect audience filtersBreaking Changes
- Extension developers: PlaceholderEntry API updated -Random...DialogueEntrydeprecated (useRandomVariableinstead) If you find Typewriter valuable for your server, please consider [Sponsoring the Project](https://github.com/sponsors/gabber235)0.7.0-beta-138Typewriter v0.7.0-beta-138 BuildDec 4, 2024 0.7.0-beta-137Typewriter v0.7.0-beta-137 BuildNov 24, 2024 0.6.1Version 0.6.1 | Extension UpdateNov 13, 2024 There are also some critical bug fixes: - The option dialogue now makes sure it always displays all options, instead of only the first - Fixed an issue with actions not being able to trigger any following entries - Staging folder, not saving except for when shutting down the server. (Broken since beta-133) - Recalculating the road network creates 1 snapshot per world instead of 1 per node.0.7.0-beta-136Typewriter v0.7.0-beta-136 BuildNov 13, 2024 0.6.0Version 0.6.0 | Extension UpdateNov 9, 2024 Typewriter v0.6 – The Extensions Update
This release brings a foundational shift in Typewriter’s core structure and a major update to the item system, along with new features and important usability improvements. Below are the highlights: ---Critical Changes
1. From Adapters to Extensions Typewriter has transitioned from usingAdapterstoExtensions, marking a significant evolution in how custom functionality is integrated. Key improvements with this change include: - Gradle Plugin for Extensions: A new Gradle plugin simplifies the process of developing Extensions, making setup and management easier for developers. - Compile-Time Discovery: Discovery of Extension internals, such as entries, now occurs at compile-time instead of runtime. This not only future-proofs Typewriter but also lays the groundwork for the upcoming marketplace, where entries in each Extension will be viewable without running the Extension. - Hot Reloading: Extensions can now be reloaded on-the-fly using/tw reload, enabling real-time updates without the need for a server restart. - Optimized Loading: Only the necessary classes are loaded from Extensions. For example, if an Extension contains thousands of entries but only one is used, Typewriter loads only that specific entry, enhancing memory and processing efficiency. - Extension Validators: Built-in validators now check Extensions against Typewriter’s standards, helping to ensure reliability and consistency across user-created Extensions. 2. New Item System Typewriter introduces a completely new item system, which is incompatible with previously defined items. Users will need to recreate items to align with the new structure. Based on user feedback, no migrator will be provided, as the majority found it unnecessary. Please test this update on a development server before upgrading your production environment. ---Important Features
1. Skip Cinematic Segments A newSkipCinematicEntrygives players the option to skip sections of cinematics by pressing a configured key, offering more control over in-game cinematic experiences. 2. UI and Web Panel Upgrades Improvements to the web panel and UI components provide a smoother experience. These upgrades include the ability to unselect Sound IDs, layout enhancements, compatibility improvements behind reverse proxies, and visual indicators for empty fields, all of which contribute to a more intuitive and flexible panel. ---New Entries
- Cinematic Entries:GameTimeCinematicEntry,WeatherCinematicEntry,SkipCinematicEntry,BlockCommandCinematicEntry- Dialogue:ActionbarDialogueEntry,SimpleMessageActionEntry- Entity and Activity Entries:MythicMobKillPlayerEventEntry,RemovePotionEffectActionEntry,LookAtBlockActivity,LookAtPitchYawActivity,RandomPatrolActivity,AmbientSoundActivity,ScaleData,InteractionEntity,PillagerEntity,VindicatorEntity,Llama Entity- Miscellaneous:WeatherAudienceEntry,FireworkActionEntry(withflight durationsetting) --- As always, please make sure you have a backup before updating and enjoy the new features! If you consider Typewriter to be valuable to your server, please consider [Sponsoring the Project](https://github.com/sponsors/gabber235)0.6.0-beta-135Typewriter v0.6.0-beta-135 BuildNov 8, 2024 0.6.0-beta-133Typewriter v0.6.0-beta-133 BuildNov 5, 2024 0.6.0-beta-131Typewriter v0.6.0-beta-131 BuildOct 13, 2024 0.6.0-beta-129Typewriter v0.6.0-beta-129 BuildSep 29, 2024 0.6.0-beta-128Typewriter v0.6.0-beta-128 BuildSep 20, 2024 0.6.0-beta-127Typewriter v0.6.0-beta-127 BuildSep 11, 2024 0.6.0-beta-124Typewriter v0.6.0-beta-124 BuildSep 8, 2024 0.6.0-beta-123Typewriter v0.6.0-beta-123 BuildSep 7, 2024 0.6.0-beta-122Typewriter v0.6.0-beta-122 Beta BuildSep 5, 2024 0.6.0-beta-114Typewriter v0.6.0-beta-114 Development BuildAug 11, 2024 0.5.1Version 0.5.1 | Manifesting StoriesAug 11, 2024 A very quick bug fix where NPC's in cinematics were not showing.0.6.0-beta-113Typewriter v0.6.0-beta-113 Development BuildAug 10, 2024 0.5.0Version v0.5.0 | Manifesting StoriesAug 10, 2024 Manifesting Stories Update
Since this update is so big, it is almost impossible to list every change. Therefore, only the biggest changes are listed. With 729 commits, 1,438 changed files, with 60,258 additions and 33,483 deletions, this is by far the biggest update in the history of Typewriter.Manifest Entries
Manifest entries are entries that automatically do stuff based on the environment. Think of showing NPCs based on filters (such as quest status) and having NPC holograms. Boss bars, Creating scoreboards, Interaction zones, and much more! _For the programmers under us, where sequence entries are like imperative programming. Manifest entries are declarative programming. They can be linked in an acyclic-directional graph._Audience Entries
The first subclass of Manifest Entries are Audience Entries. They display anything to the player, Such as a boss bar. There is a special variety of audience entries, which are AudienceFilterEntries. They filter out players, such as regions, if they are in a certain part of a quest, if they are in a cinematic... These types of filters can be chained to have extreme customizability and flexibility.Entity Adapter
Say goodbye to the old NPC adapters like Citizens, FancyNpcs, and ZNPCs. The Entity Adapter allows you to define entities directly within Typewriter, empowering you to use them in cinematics, control their visibility based on conditions (like during a quest segment), and even have them navigate and exhibit complex behaviors. With full control, the sky is the limit!Road Network
You can now create Road Networks in Typewriter. These allow NPCs to navigate through the world and show Path Streams to guide the players.Grouped Facts
The value of a fact can now be set for a group of players. For example, you can now check if a party of players have killed a certain number of enemies.Documentation Improvements
Some of you may have already looked at the new documentation. We've made major improvements to the documentation. All to make it easier to use and understand Typewriter.Switched from ProtocolLib to PacketEvents
This switch has allowed many new features in Typewriter, like the new buttery smooth camera cinematics. It means that now you need to install PacketEvents in order for Typewriter to work.Made some breaking API changes
There are various breaking API changes for Adapters. To view the migration, take a look at the [Migration Guide](https://docs.typewritermc.com/develop/adapters/api-change…Deprecation Warning
With this release, we're marking the old NPC adapters, such as ZNPCs and FancyNpcs, as deprecated. This means that while they will still function in the current version, this will be the last release where they are supported. Going forward, we'll only be providing bug fixes for the Citizens NPC adapter. It will remain updated primarily to assist new users in getting started, but we strongly encourage everyone to transition to the Entity Adapter for the best Typewriter experience.0.5.0-beta-112Typewriter v0.5.0-beta-112 Development BuildAug 8, 2024 0.5.0-beta-111Typewriter v0.5.0-beta-111 Development BuildAug 8, 2024 0.5.0-beta-110Typewriter v0.5.0-beta-110 Development BuildAug 2, 2024 0.5.0-beta-109Typewriter v0.5.0-beta-109 Development BuildJul 20, 2024 0.5.0-beta-104Typewriter v0.5.0-beta-104 Development BuildJul 12, 2024 0.5.0-beta-102Typewriter v0.5.0-beta-102 Development BuildJul 7, 2024 0.5.0-beta-100Typewriter v0.5.0-beta-100 Development BuildJul 5, 2024 0.5.0-beta-99Typewriter v0.5.0-beta-99 Development BuildJul 2, 2024 0.5.0-beta-98Typewriter v0.5.0-beta-98 Development BuildJul 1, 2024 0.5.0-beta-97Typewriter v0.5.0-beta-97 Development BuildJun 23, 2024 0.5.0-beta-96Typewriter v0.5.0-beta-96 Development BuildJun 3, 2024 0.5.0-beta-94Typewriter v0.5.0-beta-94 Development BuildMay 30, 2024 0.5.0-beta-91Typewriter v0.5.0-beta-91 Development BuildMay 11, 2024 0.5.0-beta-88Typewriter v0.5.0-beta-88 Development BuildMay 9, 2024 0.5.0-beta-87Typewriter v0.5.0-beta-87 Development BuildMay 9, 2024 0.5.0-beta-85Typewriter v0.5.0-beta-85 Development BuildMay 6, 2024 0.5.0-beta-84Typewriter v0.5.0-beta-84 Development BuildApr 28, 2024 0.5.0-beta-83Typewriter v0.5.0-beta-83 Development BuildApr 19, 2024 0.5.0-beta-82Typewriter v0.5.0-beta-82 Development BuildApr 9, 2024 0.5.0-beta-79Typewriter v0.5.0-beta-79 Development BuildApr 3, 2024 0.5.0-beta-77Typewriter v0.5.0-beta-77 Development BuildMar 31, 2024 0.5.0-beta-75Typewriter v0.5.0-beta-75 Development BuildMar 29, 2024 0.5.0-dev-73Typewriter v0.5.0-dev-73 Development BuildMar 16, 2024 0.5.0-dev-72Typewriter v0.5.0-dev-72 Development BuildMar 15, 2024 0.5.0-dev-70Typewriter v0.5.0-dev-70 Development BuildFeb 17, 2024 0.5.0-dev-69Typewriter v0.5.0-dev-69 Development BuildFeb 17, 2024 0.5.0-dev-68Typewriter v0.5.0-dev-68 Development BuildFeb 16, 2024 0.5.0-dev-67Typewriter v0.5.0-dev-67 Development BuildFeb 16, 2024 0.5.0-dev-65Typewriter v0.5.0-dev-65 Development BuildFeb 13, 2024 0.4.2Typewriter 0.4.2 | Quality of LifeFeb 13, 2024 What's Changed
* Update index.mdx by @Kerzinator24 in https://github.com/gabber235/TypeWriter/pull/145 * Fix bug with modrinth update checker with dependencies * Fix bug withPlayerNearLocationEventEntrychecking for different worldsNew Contributors
* @Kerzinator24 made their first contribution in https://github.com/gabber235/TypeWriter/pull/145 Full Changelog: https://github.com/gabber235/TypeWriter/compare/v0.4.1...…0.5.0-dev-64Typewriter v0.5.0-dev-64 Development BuildFeb 11, 2024 0.5.0-dev-63Typewriter v0.5.0-dev-63 Development BuildFeb 11, 2024 0.5.0-dev-62Typewriter v0.5.0-dev-62 Development BuildFeb 11, 2024 0.5.0-dev-61Typewriter v0.5.0-dev-61 Development BuildFeb 10, 2024 0.5.0-dev-59Typewriter v0.5.0-dev-59 Development BuildFeb 10, 2024 0.5.0-dev-57Typewriter v0.5.0-dev-57 Development BuildFeb 9, 2024 0.5.0-dev-56Typewriter v0.5.0-dev-56 Development BuildFeb 9, 2024 0.5.0-dev-55Typewriter v0.5.0-dev-55 Development BuildFeb 3, 2024 0.4.1Typewriter 0.4.1 | Quality of LifeFeb 2, 2024 Changelog
This update includes a range of enhancements, from critical bug fixes to exciting new features.Highlighted Features
- Added Skills and Mobs to the `MythicMob` adapter A significant enhancement, expanding the capabilities of the MythicMob adapter by integrating bothSkillsandMobs. - Added `FancyNpcs` and `ZNPCsPlus` adapters Introduces new npc adapters. As not everybody uses Citizens, more diversity is nice to have. - Added a new `/typewriter trigger <entryId> [optional player]` command Introduces a new command to directly call any triggerable entry. This will allow for much more integration options with different plugins - Added a discord bot to synchronize & organize tickets A crucial addition for community management, improving the synchronization and organization of user tickets through a Discord bot. - Added an option to change the confirmation key in dialogue Not every server want to use the F key to forward the dialogue. Now you can choose from Item Swap, Jump and Sneak to forward the dialogue. - Improve single frame editing in cinematic view Add a selector for segments for a selected entry. And allow to set the specific frame of a single frame segment.New Features
- Added many more descriptive errors. - Added ctrl+shift+p for publishing shortcut in panel. - Added pumpkin head for cinematics. - Added additional filters to the interact event. - Added cinematic start event. - Added support for non-singleton object adapter class. - Added outdated version detector. - Added SetBlockActionEntry.Bug Fixes
- Fixed index out of bounds for updating values on the panel. - Fixed blindness bug when logging out during a cinematic. - Fixed offline issues on cinematic close. - Fixed Jitpack artifacts. - Fixed block interaction with location. - Fixed custom item with complicated names checking for the Item Entries. - Fixed a bug with citizens NPC not working if they had no skin. - Fixed arm swing packet. - Fixed bug with duplicated pages after renaming.Improvements & Tweaks
- Update adapter docs (oops forgot to do this in v0.4.0). - Made asset deletion more robust.0.4.1-dev-49Typewriter v0.4.1-dev-49 Development BuildFeb 1, 2024 0.4.1-dev-48Typewriter v0.4.1-dev-48 Development BuildFeb 1, 2024 0.4.1-dev-47Typewriter v0.4.1-dev-47 Development BuildJan 30, 2024 0.4.1-dev-0cffb3fTypewriter v0.4.1-dev-0cffb3f Development BuildJan 29, 2024 0.4.1-dev-2527fe9Typewriter v0.4.1-dev-2527fe9 Development BuildJan 28, 2024 0.4.1-dev-19ba7b7Typewriter v0.4.1-dev-19ba7b7 Development BuildJan 28, 2024 0.4.1-dev-590994cTypewriter v0.4.1-dev-590994c Development BuildJan 27, 2024
Similar projects
Config →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.8MSueta
Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
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