Skip to main content

FakeBlock

Packet-based fake blocks and client-side schematics.

Privatev0.1.0World & building
RequiresTypeWriter0.9.0-beta-177 (BTC build)PacketEventsBTC SkyoptionalDungeonoptional

Built for the BornToCraft network. This extension is documented for reference and is not distributed.

Overview​

FakeBlock shows Sponge schematics (.schem) to selected players only. The blocks are sent with packets: the real world is never modified, so two players standing at the same place can see two different builds. A schematic can follow a TypeWriter audience (a quest step, an item in hand, a region), be played as a cinematic, or be placed by a player with a "storage block" item.

Blocks can be made breakable on the client side. Breaks are checked by the server, can drop loot, can be limited with an item whitelist or blacklist, and are saved per player in an artifact so the build stays broken after a reconnection.

Features​

  • Per-player builds — show a schematic to an audience, a cinematic viewer, or the player who placed it.
  • Three anchors — a fixed world position, the same offset on every BTC Sky island of a dimension, or a position inside a Dungeon instance.
  • Progressive placement — blocks appear in LINEAR, HELICAL or RANDOM order, at a configurable rate, or instantly.
  • View and fade distance — hide a build beyond a distance and fade it out progressively.
  • Client-side breaking — server-validated breaks with optional loot, whitelist and blacklist.
  • Persistent state — broken blocks and placed instances are stored in an artifact, per player or per group.
  • Storage block — give players an item that unfolds into a schematic when placed, single-use or retrievable.

Installation​

  1. Install PacketEvents on the server.
  2. Put the FakeBlock JAR in plugins/Typewriter/extensions/ and restart the server.
  3. Copy your .schem files to plugins/Typewriter/schematics/. Run /fakeblock reload after adding new files.

Getting started​

Show a ruined bridge to players who reached a quest step:

  1. In the TypeWriter web panel, open a manifest page and add a Schematic Audience entry.
  2. Set schematic to the file name, for example bridge_ruined.schem, and centerLocation to the paste origin.
  3. Wrap it in an audience filter that matches the quest step (for example a fact or quest audience), so only those players see it.
  4. To let players clear the rubble, enable breakable, set dropLoot if needed, and link a Schematic State artifact in stateArtifact so broken blocks are remembered.
  5. Publish the page and walk to the location with a player who matches the audience.
Placed by players

To let players place a build themselves, use the Schematic Block action: it gives the spawnItem, and placing that item unfolds the schematic. singleUse and ownerOnlyRetrieval decide whether it can be picked up again.

How it works​

Commands​

All commands require typewriter.fakeblock.admin. Aliases: /fb, /schematicblock.

CommandDescription
/fakeblock listList every placed schematic instance.
/fakeblock info <instance-id>Show the details of one instance.
/fakeblock undo <instance-id>Remove a placed instance.
/fakeblock count [player]Count the fake blocks sent to a player.
/fakeblock reset <player> [entry-id]Restore the real blocks for a player, for all entries or one entry.
/fakeblock reloadReload schematics from disk.
/fakeblock debugPrint debug information.

Permissions​

PermissionGrants
typewriter.fakeblock.adminEvery /fakeblock command.

Entries​

5 entries, generated from the extension source.

Actions1
Audiences2
Cinematics1
Artifacts1

Troubleshooting​

Nothing appears. Check the file name in schematic (with the .schem extension) and that the file is in plugins/Typewriter/schematics/. Run /fakeblock reload, then make sure the player is within viewDistance and matches the audience.

The build appears at the wrong place. With positionMode: ISLAND_DIMENSION, dimensionOffset is relative to the island of the dimension in dimensionTemplateId; with INSTANCE_DIMENSION, the build only shows inside an active Dungeon instance (the one named in instanceId, or any instance when it is empty) and instanceOffset gives its coordinates in the instance world. Only CLASSIC uses centerLocation.

Broken blocks come back after a restart. Link a Schematic State artifact in stateArtifact (audience) or position (action). Without it, breaks only live in memory.

Players cannot break anything. breakable must be on. A non-empty whitelist only allows the listed items; blacklist always wins.

  • BTC Sky — island-relative placement with ISLAND_DIMENSION.
  • Dungeon — dungeon instances used by INSTANCE_DIMENSION.