[{"data":1,"prerenderedAt":10},["ShallowReactive",2],{"blog-ts-const-journey-from-clone-to-30-modules":3},{"excerpt":4,"private":5,"author":4,"slug":6,"featured":5,"date":4,"status":4,"title":4,"tags":7,"thumbnail":8,"load_readme_from_this_repo":4,"content":4,"body":9},"",false,"ts-const-journey-from-clone-to-30-modules",[],"https://content.jovylle.com/images/post/screenshot-2026-01-05-at-1.41.20 am.jpg","---\ntitle: \"TS-Const: From a Simple Clone to 30+ Custom Modules - My Minecraft Modding Journey\"\ndate: 2025-01-03T21:00:00Z\ncategories: [\"gaming\", \"minecraft\", \"development\", \"journey\"]\nfeatured: true\ndraft: false\n---\n\nIt all started with a simple idea: I needed a custom module for Meteor Client. So I cloned a project, thinking I'd just add one small feature. Little did I know this would become a full-blown development journey that resulted in **30+ custom modules** and a complete addon called **TS-Const**.\n\n## The Beginning: A Simple Clone\n\nLike many developers, I began by cloning an existing project. I had a specific need - something that wasn't quite available in the standard Meteor Client modules. The plan was simple: clone, add one module, and be done with it.\n\nBut as I started working, I realized the potential was much greater. Each problem I encountered while playing Minecraft on Constantiam (an anarchy server) became an opportunity to build something new.\n\n## One Module Became Many\n\nWhat started as a single module quickly grew:\n\n### Navigation & Movement\n- **BaritoneElytraHelper**: Advanced elytra pathfinding with Grim AC evasion\n- **ElytraFlyHelper**: Enhanced elytra flight mechanics\n- **ConstSpeed** & **AnotherSpeed**: Custom movement modules optimized for anarchy servers\n- **FastSwimUp**: Quick vertical movement in water\n- **AutoFillBack**: Automatic block placement behind you\n\n### Automation & Mining\n- **AutoTunnel**: Automated tunnel creation with configurable dimensions\n- **SmartTunnel**: Advanced tunneling with stuck detection and lava filling\n- **AutoMineForward**: Forward mining automation\n- **BaritoneTunnelHelper**: Integration with Baritone for smart tunneling\n\n### Utility & Quality of Life\n- **SpawnNotes**: Track spawn points across multiple accounts with screenshots\n- **QuickToggleGUI**: Quick-access GUI for toggling modules with large buttons\n- **AutoOminousPotion**: Automated AFK raid farming with intelligent potion consumption\n- **VillagerInfo**: Display villager reputation and custom name tags\n- **CustomESP**: Advanced ESP system for entities and blocks with grouping\n- **AutoToggleOnJoin**: Automatically enable modules when joining servers\n\n### Anti-Cheat & Evasion\n- **GrimPullCounter**: Advanced techniques to counter Grim Anti-Cheat pulls\n- **BaritoneElytraHelper**: Unloaded chunk detection to prevent Grim triggers\n\n### Hunting & Exploration\n- **TSBaseFinder**: Find and log player bases\n- **OldChunkAlarms**: Alert system for old chunks\n- **PlayerLogoutDetector**: Detect when players log out\n\n### And Many More...\n\nThe list keeps growing. Each module solves a real problem I encountered while playing, making the game more enjoyable and efficient.\n\n## The Learning Journey\n\nThis project has been an incredible learning experience:\n\n### Understanding Minecraft's Internals\n\nI learned how Minecraft's packet system works, how to interact with entities, how status effects are managed, and how the rendering system functions. Each module required diving deep into Minecraft's codebase.\n\n### Working with Meteor Client\n\nUnderstanding Meteor Client's architecture, event system, and module framework was crucial. I learned how to:\n- Create custom modules with settings\n- Handle events properly\n- Integrate with existing Meteor features\n- Use mixins to modify behavior\n\n### Dealing with Anti-Cheat\n\nOne of the most interesting challenges was working around Grim Anti-Cheat:\n- Detecting unloaded chunks that trigger instant bans\n- Countering pull mechanics\n- Implementing fake ground states\n- Velocity manipulation techniques\n\n### File I/O and Data Management\n\nModules like SpawnNotes required learning:\n- JSON serialization with Gson\n- File management across multiple accounts\n- Screenshot integration\n- Thread-safe operations\n\n## Key Modules and Their Stories\n\n### BaritoneElytraHelper: The Complex One\n\nThis module started simple but became one of the most complex. It needed to:\n- Detect Baritone's elytra pathfinding state\n- Handle disconnects and reconnections\n- Fire rockets even when the game window is out of focus\n- Detect and avoid unloaded chunks\n- Apply speed limits to evade Grim AC\n\nEach feature required solving unique problems, from reflection-based Baritone interaction to direct packet sending for rocket firing.\n\n### AutoOminousPotion: The Iterative One\n\nThis module went through many iterations:\n1. **First version**: Basic potion consumption\n2. **Second version**: Added Bad Omen detection\n3. **Third version**: Added raid detection\n4. **Fourth version**: Improved Bad Omen detection with comprehensive logging\n5. **Fifth version**: Added long cooldown to prevent rapid consumption\n\nEach iteration solved real problems discovered during actual use. The debug logging alone went through multiple refinements to be useful without being overwhelming.\n\n### SpawnNotes: The Feature-Rich One\n\nWhat started as simple spawn point tracking evolved into:\n- Multi-account support with UUID-based storage\n- Screenshot integration\n- Two-click confirmation system\n- General notes system\n- GUI for viewing all accounts' spawn points\n- Clickable screenshot filenames\n\nThis module taught me about user experience - sometimes the \"simple\" feature needs many supporting features to be truly useful.\n\n## Challenges and Solutions\n\n### The Crash Fixes\n\nSeveral modules had to be fixed due to crashes:\n- **KillAuraMixin**: Fixed NullPointerException in Meteor's KillAura\n- **VillagerInfo**: Fixed class loading issues with inner classes\n- **TSBaseFinder**: Fixed similar class loading problems\n\nThese fixes taught me the importance of proper class structure and null safety.\n\n### The API Changes\n\nMinecraft 1.21 introduced many API changes:\n- `PlayerInteractItemC2SPacket` constructor changed\n- `ChatMessageC2SPacket` message access changed\n- Status effect system updates\n- Potion component system changes\n\nEach change required research and adaptation, keeping the modules compatible with the latest Minecraft version.\n\n### The User Feedback Loop\n\nMany features were refined based on actual usage:\n- **SpawnNotes confirmation**: Started with 3 clicks, refined to 2, then added shift-bypass\n- **AutoOminousPotion cooldown**: Started at 6 seconds, increased to 10 seconds, then to 5 minutes\n- **Debug logging**: Started too verbose, refined to only important events\n\nThis iterative process made the modules much better than they would have been otherwise.\n\n## The Current State\n\nToday, TS-Const includes:\n\n- **30+ custom modules** across multiple categories\n- **Version 1.8.2** with continuous improvements\n- **Comprehensive features** for anarchy server gameplay\n- **Active development** with regular updates\n\n## What I've Learned\n\n### Development Practices\n\n- **Start simple, iterate**: Most modules started simple and grew based on needs\n- **Test in real scenarios**: Real gameplay reveals issues that testing doesn't\n- **User feedback is gold**: Actual usage feedback led to the best improvements\n- **Documentation matters**: Good debug logging and info messages help users\n\n### Technical Skills\n\n- **Java and Minecraft modding**: Deep understanding of both\n- **Event-driven architecture**: Meteor Client's event system\n- **Reflection and mixins**: Advanced techniques for modifying behavior\n- **File I/O and serialization**: Managing persistent data\n- **Thread safety**: Ensuring operations happen on the correct thread\n\n### Problem-Solving\n\nEach module required solving unique problems:\n- How to detect Baritone's state without direct API access\n- How to fire rockets when the window is unfocused\n- How to detect unloaded chunks efficiently\n- How to counter anti-cheat systems\n- How to manage data across multiple accounts\n\n## The Future\n\nThis journey isn't over. There are always new problems to solve, new features to add, and new modules to create. The project continues to evolve based on:\n\n- **Real gameplay needs**: Problems encountered while playing\n- **User requests**: Features requested by others\n- **Technical improvements**: Better ways to do things\n- **Minecraft updates**: Adapting to new versions\n\n## Conclusion\n\nWhat started as a simple clone to add one module has become a comprehensive addon with 30+ modules. This journey has been about:\n\n- **Learning by doing**: Each module taught me something new\n- **Solving real problems**: Every module addresses an actual need\n- **Iterative improvement**: Refining features based on usage\n- **Community contribution**: Building something others can use\n\nIf you're thinking about starting a similar project, my advice is: **just start**. Clone that project, add that one module, and see where it takes you. You might end up with 30+ modules too!\n\n---\n\n*TS-Const is an open-source addon for Meteor Client, optimized for anarchy servers like Constantiam. Check out the repository to see all modules and contribute your own!*\n\n**Modules mentioned in this post:**\n- BaritoneElytraHelper, ElytraFlyHelper, ConstSpeed, AnotherSpeed, FastSwimUp, AutoFillBack\n- AutoTunnel, SmartTunnel, AutoMineForward, BaritoneTunnelHelper\n- SpawnNotes, QuickToggleGUI, AutoOminousPotion, VillagerInfo, CustomESP, AutoToggleOnJoin\n- GrimPullCounter, TSBaseFinder, OldChunkAlarms, PlayerLogoutDetector\n- And many more...",1783435413723]