- Version bump: Update
<version>inpom.xml - Build:
mvn clean verify— ensure all tests pass - Tag:
git tag v<version>and push:git push origin v<version> - GitHub Release: Create a release on GitHub with the tag, attach the JAR from
target/MyTrip-v<version>.jar - SpigotMC: Upload the new JAR to the SpigotMC resource page
- Wiki: Update version references if needed
- Run
/mt create <drugname>as an OP player - Place ingredient items in the 3x3 crafting grid
- Place the result item in the output slot
- Click "Continue" to proceed to effect selection
- Click effects to add them to the drug
- Click "CREATE" to register the drug
- Edit properties (duration, delay, overdose, addiction) via
/mt list→ select drug → "EDIT"
-
Create a
MyDruginstance:MyDrug drug = new MyDrug("DrugName", Material.SUGAR); drug.setDuration(100); // seconds drug.setEffectDelay(2); // seconds before effects start drug.setOverdose(5); // doses before overdose (0-99) drug.setAddictionProbability(10); // percent chance per use (0-100) drug.addEffect(new String[]{"SPEED", "1"}); drug.addEffect(new String[]{"JUMP", "2"}); drug.setRecipe(new ItemStack[]{...}); // 9 slots drug.register();
-
The drug will be auto-saved to
drugs.jsonon server shutdown
- Edit
plugins/MyTrip/do not edit/drugs.jsonwhile the server is stopped - Follow the existing drug format in the JSON array
- Effect names use Bukkit PotionEffectType names (SPEED, BLINDNESS, etc.)
- Start the server — drugs will be loaded and registered
- Ensure CrucialLib v3.0.0+ JAR is in the
plugins/folder - Check that CrucialLib loads before MyTrip (it's listed as a softdepend)
- Verify CrucialLib version matches: MyTrip requires 3.0.x
- Download CrucialLib v3.0.0 or higher from GitHub
- Remove old CrucialAPI JAR if present
- This happens when the server is in offline mode (
online-mode=falsein server.properties) - Drug set requires online mode for UUID-based player identification
- Workaround: Drugs can still be crafted in regular crafting tables when drug set is disabled
- Red name = unregistered drug
- Check console for registration errors
- Common cause: invalid material name in drug data
- Fix: edit
drugs.jsonor delete and recreate the drug
- Check if
settings.permissionsistruein config.yml - If yes, players need
mytrip.craft.<drugname>ormytrip.craft.*permission - If drug set is enabled, players need to hold the drug set item while crafting
- This is intentional: milk consumption is blocked while the player has an active drug dose
- Use antitoxin item to clear effects instead
- Immediate: Replace the plugin JAR with the previous working version and restart
- Data safety: Drug/tool/player data in
plugins/MyTrip/do not edit/is forward-compatible but check for corruption - Rollback tag:
git revert <commit>orgit checkout v<previous-version> - Re-release: Build from the reverted commit and re-upload
- Update the version in
pom.xml:<dependency> <groupId>com.github.ChafficPlugins</groupId> <artifactId>CrucialLib</artifactId> <version>v<new-version></version> <scope>provided</scope> </dependency>
- Update
CRUCIAL_LIB_VERSIONinConfigStrings.javato match - Check the CrucialLib migration docs for API changes
- Update import statements if package structure changed
- Run
mvn clean verifyto ensure compatibility - Update
Crucial.javaversion check logic if the major version changed