All versions
1.2.0
Release
PortalGunMod 1.2.02 weeks ago 559
Compatibility
Minecraft: Java Edition
1.21.11
Platform
Fabric
Supported environments
Client and server
Changes
- Aligned mod metadata with the current Minecraft 1.21.11 build target.
- Hardened server packet handling for portal shooting and clearing.
- Changed normal portal clearing to clear only the requesting player's portals.
- Added an operator-only
/portalgun clear allcommand for full cleanup. - Improved portal lifecycle sync when portals are removed or fizzle.
- Reworked Portal Gun firing visuals to bypass vanilla first-person hand motion and add a Portal-style recoil, claw flare, and muzzle pulse.
- Added a first-person Portal Gun shake when clearing portals from the keybind.
- Added grabbed-mob visual feedback that holds the Portal Gun claws open and blocks portal shooting while grabbing.
- Added Portal Gun grab hold-loop and release/drop sound effects.
- Fixed grabbed mobs sometimes keeping no-gravity and floating after release.
- Prevented grabbed mobs from being pushed into solid blocks by clamping the held position to open space.
- Added Portal Gun block grabbing for solid opaque blocks, excluding transparent, portal, portal-frame, block-entity, and unbreakable blocks.
- Added Monster Spawner block grabbing while preserving the moved spawner's block entity data.
- Added a Portal Gun "too heavy" sound when a targeted entity or block cannot be grabbed.
- Added throwing grabbed mobs and blocks with left-click or right-click while grab mode is active.
- Added night-only moon portals that turn the paired placed portal into a front-facing black-hole sink, pulling nearby mobs, players, entities, and eligible blocks harder at close range before destroying them.
- Fixed black-hole suction not reliably pulling players by explicitly applying and syncing player velocity.
- Added a linked-portal pixel view that samples and draws the other portal's visible side when both portals are placed.
- Fixed the linked-portal pixel view being hidden by the normal portal fill texture and added client-side fallback portal pairing.
- Changed the linked-portal pixel view to use camera-perspective rays through the paired portal while keeping the custom oval portal rings.
- Restored the original portal oval ring textures as the frame while keeping the generated linked-view interior texture-free.
- Made portal rendering less likely to disappear from angled camera directions by expanding client-side render culling.
- Tightened the linked-view interior mask to the remaining portal oval PNG opening and pushed the oval frame in front of the view.
- Fixed wall portal visuals disappearing on north/south placements by drawing wall-facing portal planes directly and double-siding the oval texture.
- Restored the linked-view interior to the normal translucent entity render layer so it draws reliably underneath the oval frame.
- Added a tinted portal interior fallback when the paired portal is not visible to the client, making pairing/render-layer issues easier to identify in game.
- Fixed east/west wall portal interiors not rendering by emitting non-degenerate X-plane quads for the linked view.
- Changed portal oval rings to render as cutout frames so the linked-view interior can stay wide enough to hide jagged edges without bleeding through the blue or orange ring textures.
- Skipped cross-dimension portal-view snapshot generation for portals too far from the player and removed duplicate block-state reads in portal validation.
- Increased linked portal interior resolution from 24x36 to 48x72 samples for more visible detail while keeping the pixelated style.
- Increased linked portal interior resolution again to 72x108 samples and flipped the rendered sample rows so the view is no longer upside down.
- Changed linked portal interiors to a stationary paired-portal view refreshed every 10 ticks instead of camera-dependent per-frame sampling to reduce lag.
- Changed the stationary linked portal view to use a fixed perspective camera behind the paired portal instead of flat parallel rays, restoring visible scene detail.
- Optimized linked portal interiors with a persistent portal-view cache, 40-tick refreshes, oval-only ray sampling, quantized colors, and same-color row batching.
- Removed player marker dots from linked portal interiors so the local player no longer appears as a moving blue pixel.
- Mirrored linked portal interiors left-to-right and removed all entity marker capture from the look-through view.
- Moved portal oval rings closer to the linked-view render plane while preserving enough anti-z-fighting gap to keep the ring in front.
- Expanded the linked-view oval mask under the portal's inner ring to hide jagged interior edges and close the visible gap.
- Added server-fed linked-view snapshots so portal interiors can render block and sky views across dimensions.
- Centered and smoothed the Portal Gun reticle brackets for a cleaner Portal-style crosshair.
- Switched portal teleport detection to orientation-aware portal boxes.
- Preserved projectile momentum through portals and reset arrow in-ground state after teleporting.
- Intercepted snowball and ender pearl block impacts on portal surfaces so they teleport instead of triggering vanilla collision.
- Restored reliable teleport sound playback by emitting portal sounds at both ends and directly sending the exit sound to teleported players.
- Replaced avoidable reflection with direct 1.21.11 APIs where available.
- Replaced custom firing model predicate code with vanilla
custom_model_dataitem dispatch. - Replaced the Portal Gun inventory and item-frame icon with a transparent pixel-art sprite while keeping the 3D special model for held rendering.
- Added basic repository hygiene files.
- Added a white-and-black Portal Gun Pedestal that displays a Portal Gun placed on it by right-clicking.
- Redesigned the Portal Gun Pedestal model as a slimmer Aperture-style display stand with a stepped base, narrow column, top platform, and small gun cradle.
- Adjusted the Portal Gun Pedestal proportions to better match the Aperture display reference with taller white side shells and narrower dark front channels.
- Restarted the Portal Gun Pedestal visual model as a simple compact display stand with a square base, skinny post, cyan display panel, and small gun mount.
- Remade the Portal Gun Pedestal model and texture into a compact display stand with a white square base, dark center post, cyan front screen, and top gun cradle.
- Rotated the Portal Gun display on the pedestal 90 degrees left so the claws point sideways.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:zCwUpi5O:nst2Tnta"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:zCwUpi5O:nst2Tnta"
}

