Community listing page, reviews here may not be monitored by the author.
MesdagPortLib
No reviews yet
To port mod from a version to another version
Forge is a popular mod loader for versions 1.1+ of Minecraft.
Community voices
Reviews
Filters
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
Resources
External Links
About
Description
MesdagPortLib
A forward-porting library that brings modern Minecraft (1.21+) API features back to Forge 1.20.1. Think of it as a bridge that lets mod developers use NeoForge-style APIs while targeting the stable 1.20.1 Forge ecosystem.
✨ Key Features
♜ 17 New Player & Entity Attributes
All networked and synced automatically. Each attribute has a sentiment indicator ( positive/neutral/negative) with colored tooltips:
| Attribute | Default | Description |
|---|---|---|
player.block_break_speed |
1.0 | Block breaking speed multiplier |
generic.burning_time |
1.0 | Burning time multiplier |
generic.explosion_knockback_resistance |
0.0 | Explosion knockback resistance |
generic.fall_damage_multiplier |
1.0 | Fall damage multiplier |
generic.flying_speed |
0.4 | Creative flight speed |
generic.jump_strength |
0.42 | Jump height |
generic.max_absorption |
0.0 | Maximum absorption health |
player.mining_efficiency |
0.0 | Mining speed modifier |
generic.movement_efficiency |
0.0 | Movement efficiency |
generic.oxygen_bonus |
0.0 | Underwater breathing bonus |
generic.safe_fall_distance |
3.0 | Safe fall distance |
generic.scale |
1.0 | Entity scale (0.0625 ~ 16.0) |
player.sneaking_speed |
0.3 | Sneaking movement speed |
player.submerged_mining_speed |
0.2 | Underwater mining speed |
player.sweeping_damage_ratio |
0.0 | Sweeping edge damage ratio |
generic.water_movement_efficiency |
0.0 | Water movement efficiency |
player.creative_flight |
false | Boolean: enable creative flight |
Attributes are automatically added to all living entities via
PortEntityAttributeModificationEvent.
📊 Data Map System
A JSON-driven data system ported from 1.21 — attach typed, codec-backed values to any registry entry:
- Data-driven — define values in
data/<namespace>/data_maps/JSON files - Tag & conditional support — apply to tags, use conditional predicates
- Merge & remove — multi-source merging with removal strategies
- Network sync — automatic client-server negotiation and sync
Built-in data maps:
- Compostables (
portlib:compostables) — override compost chances and villager behavior - Furnace Fuels (
portlib:furnace_fuels) — define custom fuel burn times
📦 Data Component System
Type-safe persistent data on ItemStacks, modeled after 1.21's data components:
Codec-based persistence +StreamCodec-based network sync- Patch-based partial updates
PortModifyDefaultComponentsEventfor setting default components
🔗 Attachment System
NeoForge-style data attachments for entities, block entities, and levels:
- Serializable attachments with copy-on-death support
- Per-player sync with
StreamCodec - Level attachments persisted to save data
🎯 220+ Ported Events
A comprehensive event system wrapping Forge events into a clean, caller-isolated API:
- Player (34):
PortPlayerHeartTypeEvent,PortSweepAttackEvent,PortCriticalHitEvent,PortArrowLooseEvent,PortItemTooltipEvent,PortAnvilRepairEvent,PortTradeWithVillagerEvent, etc. - Living Entity (33):
PortLivingShieldBlockEvent,PortLivingIncomingDamageEvent,PortLivingDrownEvent,PortLivingUseTotemEvent,PortMobDespawnEvent,PortBabyEntitySpawnEvent, etc. - Client (60+):
PortRenderLevelStageEvent,PortRenderTooltipEvent,PortRenderHandEvent,PortRenderArmEvent,PortRegisterGuiLayersEvent,PortRegisterKeyMappingsEvent,PortComputeFovModifierEvent,PortSelectMusicEvent, etc. - World/Block/Item:
PortBlockDropsEvent,PortExplosionKnockbackEvent,PortPistonEvent,PortItemExpireEvent,PortChunkWatchEvent, etc. - Brewing/Enchanting:
PortPotionBrewEvent,PortEnchantmentLevelSetEvent - Village:
PortVillagerTradesEvent,PortWandererTradesEvent
Events are dispatched on the caller mod's own event bus, keeping mod isolation clean.
🌐 Network System
- Bundled packets — multiple logical packets in one physical message
- Rich send targets (tracking entity, tracking chunk, dimension, near players)
- Registry-aware
FriendlyByteBufextensions - VarInt/VarLong/UTF-8 codec utilities
🧩 Interface Injection
45+ vanilla classes gain new methods through interface injection + coremods:
Holder<T>→is(),getKey(),getRegisteredName(),getData()ItemStack→setData(),getData(), data component manipulationLivingEntity→getAttribute(Holder<Attribute>),removeEffectsCuredBy()Registry/IForgeRegistry→ extended lookup methodsEntity/Player/Block/Item→ various extension methods
🏷 Common Tag Generation
c: namespace tags (chests, cobblestones, ores, sands, storage_blocks, etc.) for
cross-mod compatibility.
🎮 For Players
PortLib itself adds no gameplay content — it is a library mod. Install it if another mod requires it. You will see 17 new attributes on your player and entities, but they only take effect when modified by other mods.
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers
Statistics
Resources