promotional bannermobile promotional banner

PerfixTitleSystem

A Simple Perfix and Suffix Title System.
Back to Files

PerfixTitleText-1.0.77

File nametmd-1.0.77.jar
Uploader
Redstone2337Redstone2337
Uploaded
Oct 30, 2026
Downloads
9
Size
8.8 MB
Mod Loaders
Fabric
File ID
9369509
Type
R
Release
Supported game versions
  • 26.1.2

Curse Maven Snippet

Fabric

modImplementation "curse.maven:pts-1686084:9369509"

Learn more about Curse Maven

What's new

PerfixTitleText Mod (tmd) — Version 1.0.77

Minecraft 26.1.2 · Fabric

This update expands the Dragon Fireball Staff into a full projectile-ammo system, adds configurable mode and ammo switching, and fixes dedicated-server crashes caused by client-only key handling.


Highlights

  • Four projectile types for the Dragon Fireball Staff
  • Bindable mode key + right-click to switch between Single and Multiple targeting
  • Bindable ammo key + right-click to cycle projectile types
  • Single-target mode now uses line-of-sight targeting with no component range limit
  • Dedicated-server crash fix related to client key mappings

Added

Projectile ammo system

The Dragon Fireball Staff now supports four ammo types, cycled with the ammo key (default V) + right-click:

Type Behavior
Normal Fireball Standard small fireball; ignites and deals fire damage
Explosive Fireball Custom small fireball that explodes on impact (radius 2, no block damage by default)
Wither Fireball Impact creates a wither effect cloud; does not place fire blocks
Dragon Fireball Original dragon breath cloud behavior

Configurable key bindings

  • MODE_SWITCH_KEY — default Left Shift, fully rebindable in Options → Controls → Key Binds
  • AMMO_SWITCH_KEY — default V, fully rebindable
  • Both keys are registered as standard KeyMapping entries and can be changed without editing config files

New component field

DragonFireballComponent now includes:

String projectileType

The field is serialized with a fallback (orElse(DRAGON)), so existing items from older versions remain compatible and default to the Dragon Fireball type.

Tooltip updates

  • Shows the currently bound mode-switch key
  • Shows the currently bound ammo-switch key
  • Displays current targeting mode
  • Displays current projectile type
  • Single mode shows Line-of-sight (max 64 blocks)
  • Multiple mode shows the configured AoE range

Changed

Single-target targeting

Single mode no longer uses amountToAddInAllDirections as a detection radius.

  • Targeting is now based on the player's look vector
  • Ray length is fixed at 64 blocks
  • Block collision is respected: entities behind walls are not targeted
  • Multiple mode still uses the component's configured range

Mode switching

Mode switching is no longer tied to player.isShiftKeyDown().

  • The client tracks the bindable mode key
  • Key state is synced to the server via KeyStatePayload
  • The server performs the actual component update in use()

Ammo switching

Ammo switching follows the same client-to-server key-state sync pattern and updates projectileType on the held stack.

Explosive and Wither fireballs

  • Both are custom SmallFireball subclasses
  • onHitBlock intentionally skips super.onHitBlock() to avoid placing fire blocks
  • Explosion behavior is controlled through Level.ExplosionInteraction
  • Wither cloud uses AreaEffectCloud with MobEffects.WITHER

Fixed

  • Dedicated server crash caused by DragonFireballStaffItem referencing ModKeys on the logical server
  • Client-only class loading issues by moving key detection to ModClient and syncing state through networking
  • Tooltip mismatch where single mode incorrectly displayed an AoE range value
  • Incorrect projectile spawn position when using target-based direction calculations

Technical Notes

Networking

  • Added KeyStatePayload(boolean modePressed, boolean ammoPressed)
  • Registered as a C2S play payload via PayloadTypeRegistry.serverboundPlay()
  • Server stores per-player key state in ServerKeyStateTracker
  • State is cleared on player disconnect to prevent memory leaks

Entity registration

  • EXPLOSIVE_SMALL_FIREBALL
  • WITHER_FIREBALL

Both are registered with ResourceKey<EntityType<?>> and rendered client-side with ThrownItemRenderer.

Compatibility

  • Existing worlds and items remain compatible
  • Older items without projectileType are treated as Dragon Fireball
  • No changes required to existing datapacks

Known Limitations

  • Explosive fireball currently uses a fixed radius of 2.0F unless modified in code
  • Wither cloud duration and amplifier are currently code-side constants
  • ThrownItemRenderer is used for custom fireballs; custom models/textures are not included in this release

Upgrade Notes

  1. Back up your world before updating.
  2. Replace the old mod JAR with PerfixTitleText-1.0.77.jar.
  3. Launch the game once to allow the new entity types and payload types to register.
  4. Rebind MODE_SWITCH_KEY and AMMO_SWITCH_KEY in Controls if desired.

Full Changelog: 1.0.74-hotfix.1...1.0.77

This mod has no additional files