File Details
Evil Companion 1.1.1
- R
- Nov 4, 2025
- 211.29 KB
- 387
- 1.20.1
- Forge
File Name
evil_companion-1.1.1.jar
Supported Versions
- 1.20.1
Curse Maven Snippet
Evil Companion v1.1.1 - Admin Control, Customization & Balance Update
Release Date: November 4, 2025
Minecraft Version: 1.20.1
Forge Version: 47.4.10
🎉 What's New
⚖️ Balance Improvements
- FIXED: Resistance effect capped at Resistance II (40% damage reduction) when blocking
- Prevents boss from becoming invincible with armor + resistance stacking
- Boss remains challenging but fair at high levels
- ADJUSTED: Health per level decreased from 10.0 → 6
- Better scaling as boss gains better equipment
- ADJUSTED: Base damage reduced from 4.0 → 2
- Prevents one-shot kills in early game
- ADJUSTED: Damage per level reduced from 1.0 → 0.8
- More gradual damage scaling
- VERIFIED: All enchantments respect vanilla limits
- Sharpness capped at V (max 5)
- Protection capped at IV (max 4)
- No impossible enchantment levels
🎛️ MANUAL Spawn Mode
- NEW: Fourth spawn mode for complete administrative control
SHARED- One boss for entire server (default)PER_PLAYER- One boss per playerRATIO- One boss per X playersMANUAL- No automatic spawning, admins control everything
- USE CASE: Perfect for event servers, custom scenarios, or controlled boss encounters
- CONFIGURATION: Set
bossSpawnMode = "MANUAL"in config - ADMIN SPAWN: Use
/ec spawn-boss <player>to manually assign bosses
🎨 Boss Customization Commands
NEW:
/ec set-name <player> <name>- Change any boss's name dynamically- Example:
/ec set-name Steve "The Destroyer" - Changes persist through restarts and dimension travel
- Boss bar and custom name updated immediately
- Example:
NEW:
/ec set-texture <player> <normal|hostile> <path>- Per-boss texture override- Example:
/ec set-texture Alex normal minecraft:textures/entity/zombie/zombie.png - Supports any ResourceLocation format
- Override textures for individual bosses
- Independent control of normal (unhostile) and hostile appearances
- Changes immediately visible to all players
- Example:
NEW:
/ec set-texture all <normal|hostile> <path>- Global texture override- Example:
/ec set-texture all hostile mypack:boss_angry.png - Apply texture to ALL active bosses at once
- Useful for server-wide events or themes
- Overrides individual boss textures
- Example:
NEW:
/ec reassign-boss <fromPlayer> <toPlayer>- Transfer boss ownership- Example:
/ec reassign-boss Steve Alex - Transfer a boss from one player to another
- Boss retains level, name, anger state, and inventory
- Previous boss of toPlayer is removed
- Example:
🖼️ Per-Boss Texture System
- NEW: Bosses can have individual custom textures separate from global config
- HIERARCHY: Per-boss texture → Config texture → Default texture → Player skin
- PERSISTENCE: Custom textures save with the boss and persist across restarts and logins
- RENDERER: Client rendering checks for custom textures first
- USE CASES:
- Different appearance for different players' bosses
- Special event bosses with unique skins
- Thematic customization per player
📝 Boss Name Customization
- CONFIGURABLE: Boss names fully customizable via config
bossNames- List of 48 default fantasy names- Add your own names separated by commas
- Empty list falls back to defaults
- PER-BOSS OVERRIDE: Admin commands can override specific boss names
- PERSISTENCE: Names persist through restarts, level-ups, and dimension travel
- FALLBACK SYSTEM: Graceful degradation if config is invalid
🎯 Command Reference
Player Commands
/ec guide- Get the field guide book (can also use/evilcompanion guide)
Admin Commands (OP level 2+)
Boss Management:
/ec remove-boss <player>- Remove a player's boss completely/ec set-level <player> <level>- Set boss level (1-1000)/ec disable-boss <player>- Disable boss spawning for player/ec enable-boss <player>- Enable boss spawning/ec spawn-boss <player>- Spawn/assign boss for player/ec reassign-boss <fromPlayer> <toPlayer>- Transfer boss ownership
Customization:
/ec set-name <player> <name>- Change boss name/ec set-texture <player> <normal|hostile> <path>- Set player boss texture/ec set-texture all <normal|hostile> <path>- Set all bosses texture
Configuration:
/ec reload- Reload configuration in-game
Note: All commands can use /evilcompanion or /ec prefix
🔄 Upgrade Notes
Configuration Changes
- NEW CONFIG VALUE:
bossNames- List of boss names (default: 48 fantasy names) - NEW CONFIG VALUE:
normalTexturePath- Global unhostile texture path - NEW CONFIG VALUE:
hostileTexturePath- Global hostile texture path - NEW SPAWN MODE:
MANUAL- Added to valid spawn mode list - BACKWARDS COMPATIBLE: All new config values have defaults
🐛 Bug Fixes
Stability & Null Safety
- FIXED: Various null checks and input validation to prevent crashes
- FIXED: Graceful handling of invalid texture paths and formats
- FIXED: Proper handling when resources or config entries are missing
Command Improvements
- NEW:
/eccommand alias - All commands work with/ecas shorthand - IMPROVED: More consistent and readable command names (hyphenated)
- FIXED: Clear error messages when a player doesn't have a boss
- IMPROVED: Clear feedback for all command operations
Persistence & Sync
- FIXED: Boss names now reliably persist through death, restarts, and transfers
- FIXED: Custom textures persist across logouts/logins and apply immediately when changed
- FIXED: Visual updates to bosses (names, textures) are visible to clients without requiring reconnects
- BACKWARDS COMPATIBLE: Saves from v1.1.0 are handled gracefully
🎮 Use Cases & Examples
Event Server Setup
- Set config: bossSpawnMode = "MANUAL"
- Create custom textures for event bosses
- Use /ec spawn-boss <player> when event starts
- Use /ec set-texture all hostile myevent:boss_evil.png
- Customize names: /ec set-name <player> "Event Boss"
Roleplay Server
- Different boss names per character
- Per-player texture customization
- Transfer bosses when players change characters
- Manual spawning for story progression
Boss Names Customization
You can customize the pool of names that your boss companion can be assigned. This is configured in the evil_companion-common.toml file.
Default Names
By default, the mod includes 48 unique boss names:
- Zyren, Kaelix, Vorn, Drayen, Raithe, Kynar, Thorne, Azel
- Lunor, Varin, Noxen, Zephyr, Cynric, Rynel, Auron, Vexen
- Solan, Daryn, Myric, Xyra, Kaen, Velar, Orin, Taren
- Zarek, Lyric, Maven, Cynra, Thalor, Erynd, Riven, Serik
- Vael, Naren, Corin, Dravik, Soren, Tyren, Zyric, Kavor
- Rynor, Talon, Malric, Varyn, Cyren, Dreyl, Kaelor, Orren
Customizing Boss Names
- Open
config/evil_companion-common.toml - Find the
[Boss Appearance]section - Edit the
bossNameslist:
["Boss Appearance"]
bossNames = ["MyBoss", "EvilSteve", "DarkKnight", "Shadow", "Doom"]
Rules:
- Names must be in quotes and separated by commas
- You can add as many names as you want
- Names should not be empty strings
- If you provide an empty list, the mod will use default names
- Names persist across level-ups (once assigned, they don't change)
Examples
Horror Theme:
bossNames = ["Dread", "Blight", "Wraith", "Shade", "Grimm", "Phantom", "Reaper", "Void"]
Funny Names:
bossNames = ["Mr. Grumpy", "Steve's Evil Twin", "The Annoyance", "Captain Chaos", "Lord Mischief"]
Your Own Names:
bossNames = ["Bob", "Alice", "Charlie", "Diana", "Edward"]
Texture Customization
You can change the appearance of your boss companion by specifying custom texture paths.
Default Textures
The mod includes two default texture modes:
- Normal/Unhostile (Levels 1-2): Uses either
evil_companion:textures/entity/player_boss_normal.pngor default player skin - Hostile (Level 3+): Uses either
evil_companion:textures/entity/player_boss_evil.pngor default player skin
Customizing Textures
- Open
config/evil_companion-common.toml - Find the
[Boss Appearance]section - Edit the texture paths using ResourceLocation format:
namespace:path/to/texture.png
["Boss Appearance"]
normalTexturePath = "mypack:textures/entity/friendly_boss.png"
hostileTexturePath = "mypack:textures/entity/angry_boss.png"
Texture Path Format (ResourceLocation):
- Format:
namespace:path/to/your/texture.png - The
namespaceis typically your resource pack name (orminecraftfor vanilla) - The path can be ANY location within
assets/<namespace>/folder - Set to
"default"to use mod's built-in textures or player skins - Both textures must exist for custom textures to work
- If textures are not found, the mod falls back to default player skins
You have complete flexibility! The texture doesn't have to be in textures/entity/ - it can be anywhere:
mypack:textures/entity/boss.png✅mypack:textures/bosses/friendly.png✅mypack:custom/anywhere/texture.png✅mypack:boss_normal.png✅ (directly in assets root)
Creating Custom Textures - Step by Step
Method 1: Using a Resource Pack (Recommended for Players)
Create Resource Pack Structure:
MyBossTextures/ ├── pack.mcmeta └── assets/ └── mypack/ ← Your namespace (choose any name) └── textures/ └── entity/ ← Can be any folder structure you want! ├── friendly_boss.png └── angry_boss.pngCreate pack.mcmeta:
{ "pack": { "pack_format": 15, "description": "Custom Evil Companion Textures" } }Create Your Textures:
- Use 64x64 pixels (standard Minecraft player skin size)
- PNG format
- Can use any image editor (Paint.NET, GIMP, Photoshop, etc.)
Configure the Mod:
normalTexturePath = "mypack:textures/entity/friendly_boss.png" hostileTexturePath = "mypack:textures/entity/angry_boss.png"Install Resource Pack:
- Place
MyBossTexturesfolder in.minecraft/resourcepacks/ - Enable it in Minecraft's Resource Packs menu
- Place
Method 2: Overriding Mod Textures (Advanced)
You can replace the mod's default textures without changing the config:
Create Resource Pack:
MyBossTextures/ ├── pack.mcmeta └── assets/ └── evil_companion/ ← Use mod's namespace └── textures/ └── entity/ ├── player_boss_normal.png └── player_boss_evil.pngLeave Config as Default:
normalTexturePath = "default" hostileTexturePath = "default"The mod will automatically use your textures!
Method 3: Using Vanilla Textures
Want to use Minecraft's built-in mob textures?
# Use zombie texture for hostile boss
hostileTexturePath = "minecraft:textures/entity/zombie/zombie.png"
# Use villager texture for friendly boss
normalTexturePath = "minecraft:textures/entity/villager/villager.png"
# Use creeper texture (why not?)
hostileTexturePath = "minecraft:textures/entity/creeper/creeper.png"
Method 4: Using Another Mod's Textures
# Use textures from another installed mod
normalTexturePath = "othermod:textures/entity/cool_mob.png"
hostileTexturePath = "othermod:textures/entity/scary_mob.png"
Complete Examples
Example 1: Pirate Theme
Resource Pack Structure:
PirateTheme/
├── pack.mcmeta
└── assets/
└── pirate/
└── textures/
└── bosses/
├── captain.png
└── captain_angry.png
Config:
normalTexturePath = "pirate:textures/bosses/captain.png"
hostileTexturePath = "pirate:textures/bosses/captain_angry.png"
bossNames = ["Captain Blackbeard", "Redbeard", "Bluebeard", "Sea Devil"]
Example 2: Using Vanilla Minecraft Textures
# Steve for friendly, zombie for hostile
normalTexturePath = "minecraft:textures/entity/steve.png"
hostileTexturePath = "minecraft:textures/entity/zombie/zombie.png"
Example 3: Custom Folder Structure
MyTextures/
└── assets/
└── customboss/
├── normal.png
└── evil.png
Config:
normalTexturePath = "customboss:normal.png"
hostileTexturePath = "customboss:evil.png"
Example 4: Horror Theme from Resource Pack
HorrorPack/
└── assets/
└── horror/
└── entities/
└── evil_companion/
├── ghost.png
└── demon.png
Config:
normalTexturePath = "horror:entities/evil_companion/ghost.png"
hostileTexturePath = "horror:entities/evil_companion/demon.png"
bossNames = ["Specter", "Wraith", "Phantom", "Shadow"]
Hot-Reloading
Both boss names and textures support hot-reloading:
- Edit the config file while the game is running
- Use
/reloadcommand (requires op permissions) - New bosses will use the updated configuration
- Note: Existing boss names will NOT change (names are persistent once assigned)
- Note: Texture changes may require restarting the game for proper caching
Troubleshooting
Boss Has Default Name Instead of Custom
- Check that your config has valid names in the list
- Verify names are in quotes and separated by commas
- Ensure the config file was saved after editing
Custom Textures Not Showing
- Verify texture path format:
namespace:path/to/texture.png(note the colon!)- ✅ Correct:
mypack:textures/entity/boss.png - ❌ Wrong:
mypack/textures/entity/boss.png(slash instead of colon) - ❌ Wrong:
mypack.textures.entity.boss.png(dots instead of slashes)
- ✅ Correct:
- Check both paths are set: Both
normalTexturePathandhostileTexturePathmust be valid - Verify resource pack structure:
YourPack/ ├── pack.mcmeta (required!) └── assets/ └── namespace/ ← This folder name is your namespace └── path/to/texture.png - Enable your resource pack: Go to Options → Resource Packs in Minecraft
- Check texture exists at exact path: Case-sensitive!
Boss.png≠boss.png - Restart the game to clear texture cache
- Check game logs for ResourceLocation errors
- Test with vanilla texture first:
If this works, your path format is wrongnormalTexturePath = "minecraft:textures/entity/steve.png"
Texture Path is Valid But Still Shows Default Skin
- Make sure your resource pack is enabled and loaded
- Check that both textures exist (if one is missing, both fall back to default)
- Verify PNG file is valid (not corrupted)
- Ensure texture is 64x64 pixels (player skin format)
- Try using a simpler path:
yourpack:test.pnginassets/yourpack/test.png
Config Changes Not Taking Effect
- Make sure you saved the config file
- Use
/reloadcommand if server/game is running - Restart the game for texture changes
- Check that the config file doesn't have syntax errors
Advanced: Creating a Full Customization Pack
You can create a complete customization by combining names, textures, and resource packs:
Create Resource Pack Structure:
MyBossCustomization/ ├── pack.mcmeta └── assets/ └── evil_companion/ └── textures/ └── entity/ ├── player_boss_normal.png └── player_boss_evil.pngEdit Config:
["Boss Appearance"] bossNames = ["YourCustomNames"] normalTexturePath = "evil_companion:textures/entity/player_boss_normal.png" hostileTexturePath = "evil_companion:textures/entity/player_boss_evil.png"Enable Resource Pack:
- Place resource pack in
.minecraft/resourcepacks/ - Enable it in game settings
- Place resource pack in
Now your boss will have custom names and appearance!
Quick Reference
ResourceLocation Format Cheat Sheet
The texture path format is called "ResourceLocation" in Minecraft:
Format: namespace:path/to/file.png
| Part | Description | Example |
|---|---|---|
namespace |
Your resource pack/mod ID | mypack, evil_companion, minecraft |
: |
Required separator | Always use colon, never slash or dot |
path/to/file.png |
Path inside assets/<namespace>/ |
textures/entity/boss.png |
Full Path in Filesystem:
.minecraft/resourcepacks/YourPack/assets/<namespace>/<path/to/file.png>
How to Find Namespace:
- It's the folder name inside
assets/ - For this mod:
evil_companion - For Minecraft:
minecraft - For your pack: Whatever you name the folder
Common Mistakes
❌ Wrong: mypack/textures/entity/boss.png (using slash)
✅ Correct: mypack:textures/entity/boss.png
❌ Wrong: assets/mypack/textures/entity/boss.png (including assets)
✅ Correct: mypack:textures/entity/boss.png
❌ Wrong: Texture at resourcepacks/MyPack/mypack/textures/boss.png
✅ Correct: Texture at resourcepacks/MyPack/assets/mypack/textures/boss.png
Testing Your Setup
Start Simple: Use a vanilla texture first
normalTexturePath = "minecraft:textures/entity/steve.png"Test Your Pack: Put a texture in the simplest location
YourPack/ ├── pack.mcmeta └── assets/ └── test/ └── boss.pngConfig:
normalTexturePath = "test:boss.png"Gradually Add Complexity: Once working, organize into folders
test:boss.png → test:textures/boss.png → test:textures/entity/boss.png
Need Help?
- Read Minecraft Wiki: Resource Pack
- Use MinecraftSkinViewer to preview textures
- Check game logs in
.minecraft/logs/latest.logfor errors
🙏 Acknowledgments
Thanks to the community for requesting more administrative control and customization options!
📝 Notes
- Config Hot-Reload: Changes to
bossNamesand texture paths apply to NEW boss spawns - Per-Boss Override: Custom textures set via commands persist through restarts
- Resource Packs: Custom textures can be from resource packs, other mods, or vanilla
- MANUAL Mode: Perfect for servers that want complete control over boss spawning