Skip to content

English

siralusian edited this page Aug 24, 2026 · 2 revisions

🏠 Wiki home β€” πŸ‡©πŸ‡ͺ Deutsche Version

CopycatSign – Wiki (English)

Freely placeable picture signs that exist as a block, not an entity β€” so they get carried correctly when built into a Create contraption (e.g. a train), instead of being destroyed/ejected like entity-based picture mods. For a quick reference see the README.

Contents

Placing a sign

The "Copycat Sign" creative tab has three blocks: two placeholder motifs (test content only for the mechanic) and picture_blank β€” an empty sign, the actual starting point for your own image (see Uploading your own image below). Place it like any other block.

Choosing a frame material

A placed sign has two independent material slots:

  • Back: right-click the sign with any block item in your main hand.
  • Edges: right-click with a block item in your off-hand (F swaps main/off-hand).

Each click consumes 1 item, exactly like normal placing. Not every block is a valid material β€” the rules follow FramedBlocks: blocks with their own block entity are blocked by default (unless whitelisted), non-"solid render" blocks (glass panes, slabs, etc.) as well, unless explicitly marked "frameable". If a material gets rejected, you'll see a chat message explaining why.

Changing thickness

A sign has 4 thickness levels: very thin (1px), thin (2px, default), medium (4px), thick (6px). Currently stored directly on the blockstate β€” a switcher in the image editor is planned but not yet implemented.

Changing position/depth

Right-click with an empty hand (and no material in your off-hand) cycles through 5 depth positions within the block cell: back, back-middle, middle, front-middle, front. Free, since it's only a repositioning. Position is stored relative to the current thickness, so it adapts automatically if you change thickness later.

Important: an empty-hand right-click opens the image editor instead once the sign already has a custom image (see below), or in general when you're not trying to swap a material β€” the position cycle and the editor share the "empty hand" gesture; see the next section for the exact order.

Uploading your own image

Note: this feature is fully implemented (upload, server storage, client texture cache, renderer, editor GUI), but hasn't gone through a full real-game test session yet. If you hit a bug or crash on your first try, please report it as an issue.

  1. Right-click a sign with an empty hand (both main hand AND off-hand must be empty, otherwise it sets a material or cycles position instead).
  2. The image editor opens with a file-picker dialog. Choose a PNG or JPEG.
  3. After picking, you'll see a local preview. The Upload button sends it to the server (content-addressed by SHA-256 β€” uploading the same picture again later never duplicates storage). Maximum file size and image resolution are server-configurable (CopycatSignConfig).
  4. Once uploaded successfully, the image shows up on the sign automatically.
  5. Three sliders adjust pan and zoom live β€” every change is sent to the sign immediately, no separate save button needed.

The server also limits how far you can be from the sign while editing it (max. 8 blocks).

Reusing an already-uploaded image

Instead of uploading a new file every time, click the gallery button in the editor to browse every picture uploaded so far in a searchable grid. Picking one applies it immediately β€” the preview updates right away, resolved through the same client-side texture cache the sign rendering itself uses.

Create compatibility

CopycatSign blocks are normal BlockEntity blocks, and Create picks them up and renders them inside a contraption (train, glider, piston contraption, ...) exactly like any other block-entity block β€” no special-casing needed. Create itself is only an optional dependency: without Create installed, placing, material, thickness, position, and image upload all still work exactly the same β€” you just lose contraption pickup, since there's no Create to do the picking up.