
BlockMemory
Ever needed to figure out who placed a block, who removed it, or what happened in an area after the fact?
That’s what Block Memory is for.
Block Memory is a lightweight, server-side Forge mod built for moderators and admins who want clear, reliable investigation tools without having to dig through logs or rely on guesswork. It records direct player block activity and gives staff a way to inspect blocks, review incidents, check player activity, look at contextual presence, review saved alerts, manage saved watched/suppressed areas, and monitor live burst alerts — all in-game.
The whole mod is built around one idea:
accuracy first.
If Block Memory knows something, it tells you. If it does not know something for sure, it says that too — clearly.
No client mod required.
What Block Memory Does
Tracks block placement and removal
Block Memory records direct player block placement and removal and keeps that data around through restarts and relogs.
It is designed to stay lightweight and server-side, so you get useful investigation data without turning your server into a mess of extra overhead.
It also handles re-placement cleanly, so if a tracked block gets removed and then placed again later, the record flow still makes sense.
Lets staff inspect blocks in-world
The Block Scanner gives staff a quick way to check tracked blocks without leaving the game.
Inspection can show:
- who placed or removed the block
- real-world timestamps
- in-game day and time
- placement or removal method
- confidence info and explanations
- optional UUID display while sneaking
- optional staff notes
And importantly, when Block Memory cannot confirm something directly, it does not pretend otherwise. It will tell you when the origin may be untracked, command-based, natural, or otherwise uncertain.
The Block Scanner also includes a small helper subtitle line:
Inspects tracked block history
Makes targeting inspections much more reliable
One of the nicest usability improvements is that inspection no longer depends only on the exact block your crosshair hits.
/blockmemory inspect and /blockmemory inspect context can snap to the closest recorded block near what you are looking at, including the hit block, the face block, and nearby neighbors.
That makes a huge difference when you are inspecting dense builds, awkward angles, or recently changed areas.
Reconstructs local timelines with Context View
Block Memory includes a contextual reconstruction tool for investigations:
/blockmemory inspect context [seconds] [radiusChunks]
Instead of just showing one block, this command builds a local timeline around the block you are looking at. It anchors to that block’s own tracked event time — removed time if it was removed, otherwise placed time — and shows nearby tracked activity around it.
It gives you:
- placed count
- removed count
- top actors by net activity
- a newest-to-oldest event list
This is meant for reconstruction and context, not for mind-reading.
That is why it always includes the disclaimer:
Presence ≠ intent. Context only.
Adds a staff-only Presence Wand
The Presence Wand is for context, not blame.
It tracks presence per chunk and lets staff see:
- visit counts
- total time spent in chunk
- last seen time
Sneaking shows more detail, including top visitors and clickable UUID copy support.
Presence data is persistent, dimension-aware, and capped so it does not grow forever.
And just like the rest of the mod, it is very explicit about what that data means:
Presence ≠ intent. AFK counts. Context only.
Block Memory keeps a clear line between:
- truth → block placement and removal
- context → presence history
That separation is intentional.
The Presence Wand also includes a small helper subtitle line:
Shows contextual player presence
Includes a factual player summary command
Block Memory also includes a player investigation summary:
/blockmemory player <name> [timeWindow]
Default window: 7d
This works for:
- online players
- offline players
- historical players through stored UUID/name lookup
It checks exact online names first, then stored historical data. If the result is ambiguous, it fails cleanly rather than guessing.
The summary can include:
- tracked placements
- tracked removals
- net activity
- top activity chunks
- recent tracked actions
- incident links with exact role labels
- recent staff notes on that player’s placed blocks
Again: facts only. No intent inference.
Incident Tracking
TNT incidents
Block Memory tracks TNT explosions and TNT deaths using the same accuracy-first approach as its block systems.
It can:
- track TNT explosions and resulting deaths
- attribute TNT ownership when that data is available
- handle chained or indirect TNT situations on a best-effort basis
- record up to two assisting players
- alert staff with quick teleport access
Suffocation incidents
It also tracks inWall suffocation deaths.
That includes:
- direct placer attribution when available
- assist attribution for enclosure setups
- best-effort handling for falling blocks like sand and gravel
- explicit UNKNOWN output when attribution is not reliable
- clear explanations when the mod cannot say more with confidence
Unified incident workflow
Block Memory has a full incident system for TNT and suffocation cases.
That includes:
- one unified incident list
- newest-first ordering
- stable incident IDs
- review states
- staff notes
- claim / unclaim workflow for staff coordination
- inspect view
- hard delete support
- persistence across relogs and restarts
Incident output can show:
- victim
- attribution and assists
- timestamps
- review status
- review metadata
- claim status
- staff notes
- explicit UNKNOWN explanations
- clickable actions
Quick actions include:
[TP] to teleport to the location
[COPY] to copy a compact summary to clipboard
[REPORT] to copy a full staff handoff report
Incident claim commands let staff mark an incident as being handled:
/blockmemory incidents claim <id>
/blockmemory incidents unclaim <id>
This is useful on servers with multiple staff members, because it makes it clear when someone is already looking into an incident.
You can also control how many incidents appear per page through config.
Neutral removal burst alerts
Block Memory includes staff-only live removal burst alerts for unusual tracked removal activity.
These alerts are deliberately neutral. They are there to tell staff that a lot of tracked removal happened in a chunk area within a configured time window — nothing more, nothing less.
That means:
- no suspicion score
- no guilt wording
- no “grief detected” language
- no fake certainty
Just facts.
Burst alerts support:
- tracked removal threshold checks
- rolling time windows
- chunk-area based matching
- cooldowns to reduce spam
[TP] quick action
[COPY] clipboard summary action
- config-defined watched areas
- config-defined suppressed areas
- saved watched areas
- saved suppressed areas
- Y-aware area matching for underground builds, towers, floating builds, and multi-level structures
If a watched area matches, the alert can show its name instead of just raw chunk data.
Suppressed areas take priority over watched naming, which helps avoid noisy false alarms in known high-activity zones.
Saved alerts and saved areas
Block Memory also keeps alert history, so burst alerts are not just a live-only feature.
Saved alert commands:
/blockmemory alerts
/blockmemory alerts inspect <id>
/blockmemory alerts claim <id>
/blockmemory alerts unclaim <id>
/blockmemory alerts delete <id>
Alert inspect output includes quick staff actions:
[TP] to teleport to the alert location
[COPY] to copy a compact alert summary
[REPORT] to copy a full staff handoff report
Alerts can also be claimed and unclaimed, making it easier for staff teams to see when an alert is already being handled.
Saved alert IDs remain stable and non-reused, so staff can reliably reference a specific alert later.
Saved areas are built directly into the burst-alert workflow.
You can create and manage both watched and suppressed areas with full in-game commands:
/blockmemory area watch add <name> <x1> <y1> <z1> <x2> <y2> <z2>
/blockmemory area watch list
/blockmemory area watch remove <idOrName>
/blockmemory area suppress add <name> <x1> <y1> <z1> <x2> <y2> <z2>
/blockmemory area suppress list
/blockmemory area suppress remove <idOrName>
/blockmemory area inspect <idOrName>
Saved areas support:
- listing
- inspect
- removal
- exact-name lookup
- numeric ID lookup
- autocomplete suggestions
- Y-range support
That makes them much more useful for real servers with vertical builds, underground spaces, floating bases, and stacked structures.
Staff handoff reports and claims
Block Memory 1.7 adds stronger staff handoff tools for alerts and incidents.
Incident and alert inspect views now include a [REPORT] action. This copies a full multi-line report to the clipboard, designed for Discord tickets, staff logs, moderation notes, or handoff between staff members.
Reports can include details such as:
- ID
- type
- time
- world
- position
- review state
- review metadata
- claim metadata
- victim or actor information
- staff notes
- alert area and trigger details
Block Memory also supports staff claims for alerts and incidents.
Claims do not change the incident or alert result. They simply mark that a staff member is currently handling it.
This keeps the system factual and lightweight while making staff coordination easier.
Scanning and reports
Block Memory includes area scanning for quick moderation checks.
Scan output can include:
- nearby tracked block counts
- method ratios
- nearby entity stats
- quick clipboard summaries
- TXT export
- JSON export
- optional Spark-friendly workflow support
The scan output also includes a [COPY] action for quickly sharing a compact summary.
It is a useful “what’s going on around here?” tool without trying to become a full rollback system.
Commands
Investigation
/blockmemory inspect
/blockmemory inspect context [seconds] [radiusChunks]
/blockmemory history [radius] [limit]
/blockmemory player <name> [timeWindow]
/blockmemory scan [radius]
Alerts
/blockmemory alerts
/blockmemory alerts inspect <id>
/blockmemory alerts claim <id>
/blockmemory alerts unclaim <id>
/blockmemory alerts delete <id>
Saved watched / suppressed areas
/blockmemory area watch add <name> <x1> <y1> <z1> <x2> <y2> <z2>
/blockmemory area watch list
/blockmemory area watch remove <idOrName>
/blockmemory area suppress add <name> <x1> <y1> <z1> <x2> <y2> <z2>
/blockmemory area suppress list
/blockmemory area suppress remove <idOrName>
/blockmemory area inspect <idOrName>
Incidents
/blockmemory incidents
/blockmemory incidents tnt
/blockmemory incidents suffocation
/blockmemory incidents unreviewed
/blockmemory incidents reviewed
/blockmemory incidents false_positive
/blockmemory incidents action_taken
/blockmemory incidents inspect <id>
/blockmemory incidents claim <id>
/blockmemory incidents unclaim <id>
/blockmemory incidents review <id> <state>
/blockmemory incidents note <id> <text>
/blockmemory incidents note clear <id>
/blockmemory incidents delete <id>
Block notes
/blockmemory note <text>
/blockmemory clearnote
Timezone / timestamp preferences
/blockmemory tz <zone>
/blockmemory tzclear
/tz <zone>
/tz clear
Items and UI
Block Memory currently includes:
- the Block Scanner
- the Presence Wand
- a custom creative tab
- helper subtitle lines on investigation tools
- improved UUID copy support and inspection polish
A lot of the recent work has been focused on making the mod easier to use quickly during real moderation, not just making it technically functional.
Configuration
Block Memory uses a server-side config file:
blockmemory-server.toml
One important detail:
the active config is stored per world inside that world’s serverconfig folder.
BlockMemory also generates a blockmemory-readme.txt file there to make that easier to understand, especially for server owners wondering why the config is not sitting next to the mod jar.
That generated readme explains:
- where the active config lives
- what major BlockMemory systems do
- how burst-alert tuning works
- how watched/suppressed area formats work
- the difference between config-defined areas and saved in-game areas
- what data is generated versus what config is user-edited
Config covers things like:
- UUID display
- notes
- inspection logging
- incidents per page
- mob filtering for incident attribution
- burst alert tuning
- watched areas
- suppressed areas
- Y-range support for area matching
Config-defined watched/suppressed burst areas also support Y-aware vertical range fields, so config-based alert rules can be scoped properly for stacked or multi-level builds.
Design philosophy
Block Memory is built around a pretty simple philosophy:
- accuracy over assumptions
- transparency over fake certainty
- useful context without intent claims
- lightweight systems over bloated complexity
It reports what it knows, and it is honest about what it does not.
That is the whole point.
Enjoy, and i am always looking for feedback in comments and other areas!
Current Version
1.7.0
License
MIT