IntellectualSites / IntellectualSites/PlotSquared

Road schematics lose Player Head textures and Banner patterns during road generation

Open
#4,894 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Requires Testing
Dominant language
Java
Stars
653
Forks
975
Avg merge
2m
Merged PRs (30d)
6

Description

Server Implementation

Paper

Server Version

1.21.11

Describe the bug

Actual server version: 26.1.2
I selected 1.21.11 because 26.1.2 is not listed in the form.

When PlotSquared generates roads from road schematics, Player Heads and Banners lose their custom block data.

After regenerating the world:

  • Player Heads become default Steve heads.
  • Banners lose their patterns and revert to their base appearance.

However, the generated schematic files seem to be correct. If I manually paste the same schematics from genroadschematics/ with FastAsyncWorldEdit, the Player Head textures and Banner patterns are restored correctly.

So the issue seems to happen during PlotSquared road generation, not during schematic creation.

This may be related to #4026, but the issue still happens on 7.5.13-Premium.

To Reproduce
  1. Create a PlotSquared world.
  2. Build roads containing custom Player Heads and patterned Banners.
  3. Run /plot createroadschematic.
  4. Delete the world.
  5. Generate the world again using the generated road schematics.
  6. Check the generated roads.
Expected behaviour

Player Heads should keep their custom textures.

Banners should keep their patterns.

The generated roads should match the original roads.

Screenshots / Videos

https://youtu.be/Y8xNN2G-En4?si=-MzmHmawaEcu0xu7

Error log (if applicable)

No console error.

Plot Debugpaste

/plot debugpaste fails with:

Server returned status: 413 Entity Too Large

Alternative debug information:

PlotSquared Version

7.5.13-Premium

Checklist
Anything else?

The issue was reproduced with only these plugins installed:

  • plotsquared-bukkit-7.5.13-Premium
  • FastAsyncWorldEdit-Paper-2.15.2
  • worlds-4.2.2-all

Example Player Head block data:

minecraft:player_head[profile={id: [I; 67411088, -739686879, -1666252800, -1432022127], name: "", properties: [{name: "textures", value: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTAzYTk0ZGY4YzNjZTlhZjY2NGE3MzkyN2Q1NzhhOGRjN2YyZjc3ZmNkNmI1MzM4MjFjOGViODdlYTQzZmMzNSJ9fX0="}]}]

Example Banner block data:

minecraft:black_banner[banner_patterns=[{color: "red", pattern: "minecraft:border"}, {color: "white", pattern: "minecraft:half_horizontal_bottom"}]]

Schematics roads file: schematics.zip

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the /plot createroadschematic flow and the road-generation path that reads schematics from genroadschematics/. Compare that path with manually pasting the same files using FastAsyncWorldEdit, focusing on preservation of Player Head profile data and Banner patterns; done means regenerated roads retain both kinds of custom block data.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.